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.");
}

Browser Support

  • Хром: 42.
  • Край: 17.
  • Firefox: 44.
  • Сафари: 16.

Source

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