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.

Источник

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