Firebase Cloud Messaging - сообщения не отображаются, только если я закрываю браузер - PullRequest
0 голосов
/ 10 июня 2018

Посетитель подписывается, и я получаю токен FCM.

$data = [
'to' => "xxxxxx-XbPk:APA91bHEJ1Kp8KLhOxVzRmNoAh6459DNCTeGB00jYOp_Ppd9AzTQGM5cU5kE4Pf3ivOhVZYkw-ao5h3R8H2y1yyNu0NdyIf8JiGvZXcxS-KDuaAVZ2ih1xzHGOcmGHRkfZeRdWXk4hM9",
"notification" => [
    "title"=> "Notification Title",
    "body"=> "Notification Body xx"
   ]
]

Я отправляю это сообщение, используя POST, к https://fcm.googleapis.com/fcm/send

Оно всегда говорит об успехе = 1,

но сообщение на самом деле доставляется, только если веб-сайт закрыт!

Когда я закрываю вкладку и снова нажимаю на сообщение, оно доставляется.

Также, если я открываю сайт или идунигде в этом домене, например http://example.org/whatever/,, они не доставлены, но «success = 1» все еще возвращается.

Протестировано Chrome и Firefox, и они работают одинаково.Я должен быть на другом веб-сайте, чтобы сообщение появилось, или браузер должен быть свернут.

Что я делаю не так?Мне нужны сообщения, чтобы они появлялись всегда.

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Это была проблема!messaging.setBackgroundMessageHandler не был запущен.

https://github.com/firebase/quickstart-js/issues/71

0 голосов
/ 10 июня 2018

Только что попробовал этот пример Google: https://github.com/firebase/quickstart-js/tree/master/messaging

В основном, если сеть активна (вы можете видеть работающих рабочих в консоли Chrome), метод Push сервера не показывает уведомление, но запускает клиентскую функцию, которую вы можете определить следующим образом:

messaging.onMessage(function(payload) {
    // ... show notification
});

Где вы должны сделать это самостоятельно.

Также хороший источник, который фактически использует работника, чтобы делать все: https://gauntface.github.io/simple-push-demo/

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