Kreait php -firebase Уведомления не работают, несмотря на успешную отправку сообщения - PullRequest
0 голосов
/ 12 февраля 2020

Я использую эту 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 или получено на моем телефоне? Вы видите, где моя ошибка или это ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...