Я использую эту Kreait / laravel -firebase через ajax, и уведомления не работают, несмотря на успешную отправку сообщения ..................... .......................
/**
* @param Request $request
* @throws Firebase\Exception\FirebaseException
* @throws Firebase\Exception\MessagingException
*/
public function fcmSendMessageToAll(Request $request)
{
$firebaseInstance = new FirebaseInstance();
//$title,$body,$imageUrl
if ($request->input('title')==null || $request->input('body')==null){
throw new InvalidArgumentException("Le champ titre ou texte est vide");
}
$firebaseUserRepository = new FirebaseUserRepo();
try {
$allUsers = $firebaseUserRepository->getAll();
}catch (\Exception $exception){
dd('erreur : '.$exception->getMessage());
}
$arrayTokens = array();
foreach ($allUsers as $key => $firebaseUser) {
if($firebaseUser->getToken() != null){
echo 'token : '.$firebaseUser->getToken().PHP_EOL;
$arrayTokens[] = $firebaseUser->getToken();
}
}
//dd($arrayTokens);//test
if (count($arrayTokens)>0){
//$messaging = (new Firebase\Factory())->createMessaging();
$messaging = $firebaseInstance->factory->createMessaging();
$message = CloudMessage::new();
$notification = Notification::fromArray([
'title' => $request->input('title'),
'body' => $request->input('body'),
'image' => $request->input('imageurl'),
]);
$message->withNotification($notification);
try {
$report = $messaging->sendMulticast($message, $arrayTokens);
echo 'Successful sends: '.$report->successes()->count().PHP_EOL;
}catch(Firebase\Exception\MessagingException $messagingException){
echo 'Failed sends: '.$report->failures()->count().PHP_EOL;
dd('erreur : '.$messagingException->getMessage());
}
if ($report->hasFailures()) {
foreach ($report->failures()->getItems() as $failure) {
echo $failure->error()->getMessage().PHP_EOL;
}
}
}
}
к сожалению, это говорит: "успешно отправлено: 1" (у меня только один тестовый пользователь с токеном) но никаких уведомлений нет в консоли Firebase или получено на моем телефоне? Вы видите, где моя ошибка или это ошибка?