Как показать уведомления в PWA из приложения? - PullRequest
0 голосов
/ 23 июня 2019

Я разрабатываю PWA, используя Angular 7: http://ramstein -conference-app.herokuapp.com

Поскольку это приложение для конференций, пользователи могут отмечать события как избранные и видеть список своих избранных. Тем не менее, было бы неплохо получить уведомление, например, за полчаса до начала мероприятия. Это не требует серверной логики и может быть сделано исключительно внутри самого PWA.

Я могу показывать push-уведомления через Web-Push, но как показывать push-уведомления из самого PWA?

swPush , по-видимому, не имеет способа инициировать уведомление вручную, а navigator.serviceWorker.getRegistration () , похоже, не работает.

1 Ответ

0 голосов
/ 27 июня 2019

Я получил ответ со страницы для разработчиков Google :

if (Notification.permission == 'granted') {
  navigator.serviceWorker.getRegistration().then(function(reg) {
    var options = {
      body: 'Here is a notification body!',
      icon: 'images/example.png',
      vibrate: [100, 50, 100],
      data: {
        dateOfArrival: Date.now(),
        primaryKey: 1
      },
      actions: [
        {action: 'explore', title: 'Explore this new world',
          icon: 'images/checkmark.png'},
        {action: 'close', title: 'Close notification',
          icon: 'images/xmark.png'},
      ]
    };
    reg.showNotification('Hello world!', options);
  });
}
...