PushManager

Вы читаете английскую версию этой статьи, так как пока нет перевода на данный язык. Помогите нам перевести эту статью!

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

Интерфейс PushManager из Push API предоставляет возможность получать уведомления от сторонних серверов, а также запрашивать URL для push уведомлений.

Этот интерфейс доступен через свойство ServiceWorkerRegistration.pushManager.

Заметка: Этот интерфейс заменил функциональность, предлагаемую устаревшим PushRegistrationManager.

Свойства

PushManager.supportedContentEncodings
Возвращает массив со списком возможных алгоритмов кодирования, которые могут быть использованы для шифрования полезной нагрузки пуш-уведомления.

Методы

PushManager.subscribe()
Подписка на пуш сервис. Возвращает промис, который разрешается в PushSubscription объект, содержащий детали новой push подписки.
PushManager.getSubscription()
Извлекает существующую push подписку. Возвращает промис, который разрешается в PushSubscription объект, содержащий детали существующей подписки.
PushManager.permissionState()
Возвращает Promise, который разрешается в состояние доступа текущего PushManager, которое может быть одним из 'granted', 'denied', или 'default'.

Устаревшие методы

PushManager.hasPermission()
Returns a Promise that resolves to the PushPermissionStatus of the requesting webapp, which will be one of granted, denied, or default. Replaced by PushManager.permissionState().
PushManager.register()
Subscribes to a push subscription. Replaced by PushManager.subscribe().
PushManager.registrations()
Retrieves existing push subscriptions. Replaced by PushManager.getSubscription().
PushManager.unregister()
Unregisters and deletes a specified subscription endpoint. In the updated API, a subscription is can be unregistered via the PushSubscription.unsubscribe() method.

Пример

this.onpush = function(event) {
  console.log(event.data);
  // From here we can write the data to IndexedDB, send it to any open
  // windows, display a notification, etc.
}

navigator.serviceWorker.register('serviceworker.js').then(
  function(serviceWorkerRegistration) {
    serviceWorkerRegistration.pushManager.subscribe().then(
      function(pushSubscription) {
        console.log(pushSubscription.subscriptionId);
        console.log(pushSubscription.endpoint);
        // The push subscription details needed by the application
        // server are now available, and can be sent to it using,
        // for example, an XMLHttpRequest.
      }, function(error) {
        // During development it often helps to log errors to the
        // console. In a production environment it might make sense to
        // also report information about errors back to the
        // application server.
        console.log(error);
      }
    );
  });

Спецификации

Спецификация Статус Комментарий
Push API
Определение 'PushManager' в этой спецификации.
Рабочий черновик Initial definition.

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
PushManager
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
getSubscription
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
hasPermission
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
permissionState
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
register
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
registrations
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
subscribe
Экспериментальная
Chrome Полная поддержка 42
Замечания
Полная поддержка 42
Замечания
Замечания The options parameter with a applicationServerKey value is required.
Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
supportedContentEncodings
Экспериментальная
Chrome Полная поддержка 60Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 47Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 60Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 44Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
unregister
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка 16
Отключено
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Полная поддержка 17
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE Нет поддержки НетOpera Полная поддержка 29Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 48
Замечания
Полная поддержка 48
Замечания
Замечания Push enabled by default.
Opera Android Полная поддержка 29Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

Смотрите также