Push-уведомления теперь поддерживаются в разных браузерах.

Доставляйте своевременные и полезные уведомления своим пользователям.

Push-уведомления были стандартизированы в 2016 году с выпуском Push API и Notification API, которые являются частью рабочей группы W3C по веб-приложениям. Эти API предоставляют необходимую функциональность веб-разработчикам для включения push-уведомлений в свои веб-приложения, а пользователям — получать уведомления и взаимодействовать с ними в своих веб-браузерах. Push-сообщения — это уведомления, которые отправляются в веб-браузер пользователя с веб-сайта или приложения, которому пользователь ранее предоставил разрешение на отправку уведомлений. Эти сообщения можно использовать для оповещения пользователя о новом контенте или обновлениях, напоминания о предстоящих событиях или сроках или предоставления другой важной информации. Push-сообщения могут быть особенно полезны для приложений, которым необходимо доставлять своевременную и актуальную информацию своим пользователям, например новостных или спортивных приложений, или для веб-сайтов электронной коммерции, которые хотят отправлять пользователям уведомления о специальных предложениях или распродажах.

Чтобы подписаться на push-уведомления, сначала проверьте, поддерживает ли их ваш браузер, проверив наличие объектов serviceWorker и PushManager в объектах navigator и window .

Если push-уведомления поддерживаются, используйте ключевые слова async и await чтобы зарегистрировать сервис-воркера и подписаться на push-уведомления. Вот пример того, как это можно сделать с помощью JavaScript:

// Check if the browser supports push notifications.
if ("serviceWorker" in navigator && "PushManager" in window) {
 
try {
   
// Register the service worker.
   
const swReg = await navigator.serviceWorker.register("/sw.js");

   
// Subscribe for push notifications.
   
const pushSubscription = await swReg.pushManager.subscribe({
      userVisibleOnly
: true
   
});

   
// Save the push subscription to the database.
    savePushSubscription
(pushSubscription);
 
} catch (error) {
   
// Handle errors.
    console
.error("Error subscribing for push notifications.", error);
 
}
} else {
 
// Push notifications are not supported by the browser.
  console
.error("Push notifications are not supported by the browser.");
}

Поддержка браузера

  • Хром: 42.
  • Край: 17.
  • Фаерфокс: 44.
  • Сафари: 16.

Источник

Дальнейшее чтение