Уведомление FireBase не работает при новых установкахIOS

Программируем под IOS
Ответить
Anonymous
 Уведомление FireBase не работает при новых установках

Сообщение Anonymous »

В моем приложении я сталкиваюсь с проблемой с push-notification . Firebase-Notification конфигурация выполняется идеально. И уведомление о рабочем тесте, которое отправляется из Firebase-Console. Теперь я сталкиваюсь с проблемой, когда уведомление запускается со стороны бэкэнд, и уведомление не получается ни в одном из моих устройства iOS , где приложение установлено.
После завершения приложения, если я сделаю зарегистрированный , а затем re-login , то он работает нормально со стороны бэкэнд.
  • Регистрация устройства для token < /strong> < /li>
    < /ul>

    Код: Выделить всё

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Messaging.messaging().apnsToken = deviceToken
    deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
    fcmTokenString = Messaging.messaging().fcmToken ?? ""
    
    print("deviceTokenString \(deviceTokenString)")
    print("fcmToken \(Messaging.messaging().fcmToken ?? "")")
    
    UIViewController().deviceToken = deviceTokenString //This will stored in UserDefault
    UIViewController().fcmToken = fcmTokenString //This will stored in UserDefault
    }
    < /code>
    
      Консоль Firebase - сообщения < /strong> < /li>
    < /ul>
     
    
      Уведомление < /strong> получается
    [/list]
     < /p>
    [list]
    [*]Laravel
    Backend Code [/b]

Код: Выделить всё

$url = 'https://fcm.googleapis.com/fcm/send';
$FcmToken = User::whereNotNull('fcm_token')->pluck('fcm_token')->all();
// echo "
"; print_r($FcmToken); die;
// $sendusersids = User::whereIn('id', $users_ids)->whereNotNull('fcm_token')->pluck('id')->all();

foreach ($FcmToken as $key => $FcmTokenone) {

$fcmService = new FCMService();
// dd($fcmService);

// $deviceToken = 'eAzUspsvcEvIjjZ0NVuwBp:APA91bHLgRtV-Oa3xl3HbalmZuhbaslU_IO8HnPi15OL8AabK6aSPF-lo7AC1GcA4BL_YW1osBpMXvuc4nXWtOySqjDQDp1tpGcyzwc8QoTd5Ay3_iayoAw';  // Token for the device you want to notify
// $deviceToken = 'fbb-W4NZQni5DUkk6fgnPy:APA91bGBUCFueEuUZnad-0jKWusKQoygeQtrvGz6BwfSgBv6RLfJh3U-beEXeIp_S36j4xc5NOsFIexSG4xiM4i3iKBGMb3qnbg-NPB6VgjWfuwM6XnAtW8';  // peterson fcm token

$title = 'GLO Mini Golf Promo code';
$body = $data['description'];

$data1 = [
// "registration_ids" => [$deviceToken],
// "registration_ids" => [$FcmTokenone[0]],
"registration_ids" => [$FcmTokenone],
"notification" => [
"title" => $title,
"body" => $body,
],
"data" => [
"type" => 'group',
"id" => 123,
]
];

$response = $fcmService->sendNotification($data1);
Log::error("pushnotificaiotn-->".$response);

$this->client = new Client();
$this->serverKey = env('FIREBASE_SERVER_KEY'); // Server key from Firebase credentials
$this->projectId = env('FIREBASE_PROJECT_ID'); // Firebase project ID

public function sendNotification($notification_data)
{
$access_token = self::getAccessToken();

$device_token = $notification_data['registration_ids'][0];
$title = $notification_data['notification']['title'];
$body = $notification_data['notification']['body'];
$type = $notification_data['data']['type'];
$id = $notification_data['data']['id'];

$message = array(
'token' => $device_token,
'notification' => [
"title" => $title,
"body" => $body,
],
'data' => [
"type" => (string)$type,
"id" => (string)$id
],
);

Log::error("notification_message--->".json_encode($message));

$arrayToSend = array('message' => $message);

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://fcm.googleapis.com/v1/projects/".$this->projectId."/messages:send",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($arrayToSend),
CURLOPT_HTTPHEADER =>  array(
"authorization: Bearer ".$access_token,
"cache-control: no-cache",
"content-type: application/json"
),
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
Log::error("notification_res-->".$response);
if ($response === false) {
$error = curl_error($curl);
Log::error("sendNotification error".$error);
curl_close($curl);
}

curl_close($curl);
Log::error("sendNotification success ".$response);
$responseData = json_decode($response, true);
return true;
}

< /code>
[list]
[*]Notification
Журнал состояния доставки
[/list]

[2025-01-23 12:26:40] Production.ERROR: pushnotificaiotn -->1

[2025-01-23 12:26:40] Production.INFO: Токен доступа успешно сгенерирован: {"access_token":"ya29.c.c0ASRK0GbNRMdPbCklv1jZ1uBkgD-Y5an_0WW3GIXYQisl3daLuFO4i0_fxAdpVu8RxKCNSJZ-HUQJFu1au3C618-NkZsB0yd8OdO_-wLVXwyrPJ78 2c-uPhkhvOI4DceC7qvBfQjo7SIb9I6BQ2C06ZSpnBrNJvhGL_dly6t4ufYCwknPawDuGRyHD5pOb_jVsaxEqAs5ZxEMJEPMoGnZowWMHxosKtwHB-ofno_P6TYQUMYL9iKF4nr8H6 XYjrGX8EQl0JrduwpS4hXn_rCCY05y4zdTO_GGAb_Dii88qhxGmwLo0MJfuMnHUJrrGBt d2UPys6K5DPcsFs9Bhb2N8w1u2PT7XAik1NFsLYSiyZ7B2ozySW8B30NmE385AZ0UmIuy -k_psZrjcR1zYh0IFyFBy3Va3_nfUStWI0Ou9Q-8knZiMVUyhjM787tcyFavFO5hUV9ux 4appgi45kwua-t8S1uOJjrlj1R23lpU8IeXaOmdoug6o2c1hbIM94aO_cnh7VcWszMp7OY n3Qvb72jhr0IV1M0RQwy2hvb67zJuIVyRk1e2Fh-Wj3yQfmer02YyRxj7rSXJo2Q2MIio QYVfO6ym4ixczddkuvYliocptSrYdcskyQYV6Jv7ZW2tw8wMI0nJ9v0gSJdktpwYr219M mwt1pwp6WZ37tpJYQkUB9mrO2furu0Vqyam59M-nfloxMeInhOo9-8a80poFrQupYIk66 5ntwWBdVs4td0JQWF1FVnvsQqM9Z7emsF075ecag9xXJ2is3Q_M58OdgzFjqioXVI5aBZv d-x81nsJz7zMp3Za0B0kZYIsbl7-xdtt-OweQsntoh65oa_O-Xnhpfpku8xidZ5V642fo F9rvzj16hQxxk4V2aO1Qpj5g1eYt2j_g_kJtgBYWoOjaIIewXspg_goIMz4xz28jcMV88 cv_I3-w9bj0w705vtxyiSrORp7ZpUyOfWiFqja4tVtjV4Qmzy3zv5tWxpRz6Op2xljnI8VyX9","expires_in":3599,"token_type":"Bearer","created":1737635200 />
[2025-01-23 12:26:40] производство.ОШИБКА: Notification_message--->{"token":"csQwYhf3FUnvuyLVhHCFEq:APA91bFIMKRtNOaRC0p_-Hgl6bgSg7C-lEQ7uBSUHBivNIH5lra8hnl9 2ZSm9lcfk9N4gpCwwP8w26s3iX0d121ehEr2S7-S7zbSBFgYNUOZaEDDszOUEtL_uHzIgbOykb85Au_zUcED","notification":{"title":"GLO Промокод для мини-гольфа","body":"test"},"data":{"type":"group","id":"123"}}

[2025-01- 23 12:26:41] производство.ОШИБКА: Notification_res-->{
"имя": "projects/glo-mini-golf-1dac4/messages/1737635200881686"

[2025-01-23 12:26:41] Production.ERROR: sendNotification успешный {
"имя": "projects/glo-mini-golf-1dac4/messages/1737635200881686"
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... w-installs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»