После завершения приложения, если я сделаю зарегистрированный , а затем re-login , то он работает нормально со стороны бэкэнд.
- Регистрация устройства для token < /strong> < /li>
< /ul>Backend Code [/b]Код: Выделить всё
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
$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/ ... sages: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>
Notification< /code> журнал состояния доставки < /li>
< /ul>
[2025-01-23 12:26:40] Производство.error: pushnotificaiotn -> 1
[2025-01-23 12:26:40] Производство. ИНФО: Успешный токен доступа: {"access_token": "ya29.c.c0asrk0gbnrmdpbcklv1jz1ubkgd-y5an_0wwww3gixyqusl3daluflufluftup1jubkgd-y5an_0wwww3gixl3dalufefluf. QJFU1AU3C618-NKZSB0YD8ODO_ -wLVXwyrPJ782c-uPhkhvOI4DceC7qvBfQjo7SIb9I6BQ2C06ZSpnBrNJvhGL_dly6t4ufYCwknPawDuGRyHD5pOb_jVsaxEqAs5ZxEMJEPMoGnZowWMHxosKtwHB-ofno_P6TYQUMYL9iKF4nr8H6XYjrGX8EQl0JrduwpS4hXn_rCCY05y4zdTO_GGAb_Dii88qhxGmwLo0MJfuMnHUJrrGBtd2UPys6K5DPcsFs9Bhb2N8w1u2PT7XAIk1NFsLYSiyZ7B2ozySW8B30NmE385AZ0UmIuy-k_psZrjcR1zYh0IFyFBy3Va3_nfUStWI0Ou9Q-8knZiMVUyhjM787tcyFavFO5hUV9ux4appgi45kwua-t8S1uOJjrlj1R23lpU8IeXaOmdoug6o2c1hbIM94aO_cnh7VcWszMp7OYn3Qvb72jhr0IV1M0RQwy2hvb67zJuIVyRk1e2Fh-Wj3yQfmer02YyRxj7rSXJo2Q2MIioQYVfO6ym4ixczddkuvYliocptSrYdcskyQYV6Jv7ZW2tw8wMI0nJ9v0gSJdktpwYr219Mmwt1pwp6WZ37tpJYQkUB9mrO2furu0Vqyam59M-nfloxMeInhOo9-8a80poFrQupYIk665ntwWBdVs4td0JQWF1FVnvsQqM9Z7emsF075ecag9xXJ2is3Q_M58OdgzFjqioXVI5aBZvd-x81nsJz7zMp3Za0B0kZYIsbl7-xdtt-OweQsntoh65oa_O-Xnhpfpku8xidZ5V642foF9rvzj16hQxxk4V2aO1Qpj5g1eYt2j_g_kJtgBYWoOjaIIewXspg_goIMz4xz28jcMV88cv_I3-w9bj0w705vtxyiSrORp7ZpUyOfWiFqja4tVtjV4Qmzy3zv5tWxpRz6Op2xljnI8VyX9","expires_in":3599,"token_type":"Bearer","created":1737635200}
[2025-01-23 12:26:40] Производство N4GPCWWP8W26S3IX0D121EHEHER2S7-S7ZBSBFGYNUOZAEDSZOUETL_UHZIGBOYKB85AU_ZED "," Уведомление ": {"title": "Glo Mini Mini Promo Golf Promo Code", "Body": "test"}, "Data": {"type": "Group", "ID": "123"}}
[2025-01-23 12:26:41] Производство.error: natification_res-> {
"name": "Projects/glo-mini-golf-1dac4/messages/1737635200881686"
}
[2025-01-23 12:26:41] Производство Сообщения/1737635200881686 "
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... w-installs
Мобильная версия