EventListener 'pu sh' уведомление не работает в PWA reactjs - PullRequest
2 голосов
/ 31 марта 2020

Я пытаюсь следовать этому руководству (https://codelabs.developers.google.com/codelabs/push-notifications/#2) для реализации уведомлений в моем PWA, закодированном в reactjs.

На шаге 7 мы можем проверить наши уведомления, нажав кнопку ' отправить тестовую кнопку pu sh 'из chrome devtools. Но ничего не происходит.

У меня есть эта часть для EventListener:

/* eslint-disable no-restricted-globals */
self.addEventListener('push', function(event) {
    console.log('[Service Worker] Push Received.');
    console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);

    const title = 'Push Codelab';
    const options = {
        body: 'Yay it works.'
    };
    event.waitUntil(self.registration.showNotification(title, options));
});

, и когда я нажимаю на кнопку теста, ничего не регистрируется.

Для обеспечения пользователя хорошо зарегистрировано:

function subscribeUser() {
  const applicationServerKey = urlB64ToUint8Array(applicationServerPublicKey);
  swRegistration.pushManager.subscribe({
    userVisibleOnly: true,
    applicationServerKey: applicationServerKey
  })
      .then(function(subscription) {
          updateSubscriptionOnServer(subscription);
          console.log(JSON.stringify(subscription));

        isSubscribed = true;

      })
      .catch(function(error) {
        console.error('Failed to subscribe the user: ', error);
      });
}

и subscription хорошо зарегистрировано.

Это выглядит так:

{"endpoint":"https://fcm.googleapis.com/fcm/send/fssJxc6xoFY:APA91bE-3ekrsC3YhKqff6D0Ahy2CEjcZsZMs4MXKx6sBI_BrKqDz5Y5VlWQWSIyOKjWanEu5qvjCKPmxUnDHn5KXnUuMnOu9r04GXbEgRSvdAwHRkJvQpB1TmRvHC6Vdso0zTV30IOu","expirationTime":null,"keys":{"p256dh":"BJpmEsvpcrUmC2TCbzwBKZ-g3OKupg_zGiH6UbI_XaDWS6Szu2g_uiwDzuDw5j0YiQ-Ku71KSMPL6R65xfyScwI","auth":"FvETyIJg0tKD49DPkizalQ"}}

Если у вас есть какие-либо идеи о том, почему это не работает, и какая часть моего кода неверна ..

Большое спасибо

...