Событие Push не запущено - PullRequest
0 голосов
/ 24 июня 2019

Я скачал это https://github.com/Minishlink/web-push-php-example. В нем есть кнопка отправки уведомления, которая fetch php-файл, который отправляет уведомление с помощью webpush https://github.com/web-push-libs/web-push-php.

Это работалона некоторое время , а затем просто перестал работать.После того, как он перестал работать, я заменил рабочую копию, которая была у меня, и все еще не показывал уведомление.

Ответ от fetch до send_push_notification.php показывает

[v] Message sent successfully for subscription https://fcm.googleapis.com/wp/f6ST-d7Ek3o:APA91bH3ZaT_QYo...

, но я надеваюне вижу push-уведомления.У меня есть обработчик событий console.log in push в сервис-работнике, и я не вижу push-уведомления

js, который вызывает fetch в php файл (send_push_notification.php)

sendPushButton.addEventListener('click', () =>
navigator.serviceWorker.ready
  .then(serviceWorkerRegistration => serviceWorkerRegistration.pushManager.getSubscription())
  .then(subscription => {

    const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];
    const jsonSubscription = subscription.toJSON();
    fetch('send_push_notification.php', {
      method: 'POST',
      body: JSON.stringify(Object.assign(jsonSubscription, { contentEncoding })),
    });
  })

);

Рабочий файл сервиса:

    self.addEventListener('push', function (event) {
  console.log("PUSHRECEived");

  const sendNotification = body => {
        return self.registration.showNotification(title, {
            body,
        });
    };

    if (event.data) {
        const message = event.data.text();
        event.waitUntil(sendNotification(message));
    }
});

Редактировать Работает после перезагрузки компьютера.Что может быть причиной.

...