Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. Интерфейсы веб API
  3. Push API

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Push API

Примечание: Эта возможность доступна вWeb Workers.

Push API предоставляет веб-приложениям возможность принимать сообщения с сервера независимо от того, запущено веб-приложение прямо сейчас или нет. Что в свою очередь позволяет разработчикам оперативно уведомлять пользователей, которые разрешили присылать себе уведомления о новом контенте.

Об использовании Push API

Обратите внимание: При использовании PushManager-подписок жизненно важно защищать запросы от CSRF/XSRF-атак в вашем приложении. Подробнее читайте по ссылкам:

Для получения сообщений от сервера у приложения должен быть активированныйсервис-воркер. После активации у сервис-воркера появится возможность подписаться на канал для получения сообщений, используяPushManager.subscribe().

В результате подписки будет получен объектPushSubscription со всей необходимой информацией, которая может потребоваться приложению для обращения за сообщениями на сервер: URL-адрес и ключ шифрования.

После подписки сервис-воркеру можно добавить обработчикServiceWorkerGlobalScope.onpush для получения сообщений от сервера. В качестве реакции на сообщение можно, например, обращаться к серверу за данными и показывать пользователю уведомление с помощью методаServiceWorkerRegistration.showNotification().

Для сервис-воркера каждая подписка уникальна, а её URL-адрес — уникальнаяспециальная ссылка. Поскольку это всё, что нужно для обращения к серверу, данную ссылку нужно держать в секрете, иначе любое другое приложение сможет воспользоваться вашим сервером.

Для получения push-сообщений сервис-воркеру требуются ресурсы, что может влиять, например, на расход батареи. Во всех браузерах эти проблемы решаются по-разному, какого-то единого стандарта на этот счёт нет. Например, браузер Firefox ограничивает количество сообщений, которое можно отправить приложению, однако сообщения с показом уведомления в этот лимит не попадают. В Chrome таких ограничений нет.

Интерфейсы

PushEvent

Описывает действие, направленное вглобальную область видимостисервис-воркера. Включает информацию, переданную серверомподписчикам.

PushManager

Предоставляет возможность подписаться на сообщения от сторонних серверов и получить URL-адрес для отправки push-уведомлений.

PushMessageData

Содержит данные, отправленные сервером, и методы для управления ими.

PushSubscription

Предоставляет возможность получить URL-адрес подписки, а также содержит метод для отписки.

PushSubscriptionOptions

Описывает параметры конкретной подписки.

Методы сервис-воркера для работы c Push API

Спецификация Push API расширяетвозможности сервис-воркеров для работы с push-сообщениями: позволяет отслеживать и реагировать на такие сообщения, а также следить за изменениями в подписках.

ServiceWorkerRegistration.pushManagerТолько для чтения

Позволяет обратиться к интерфейсу по управлению подпискамиPushManager, в том числе для добавления подписки, получения информации о текущей подписке, а также позволяет узнать о возможности отправки сообщений. Работа с push-сообщениями начинается с этого свойства сервис-воркера.

ServiceWorkerGlobalScope.onpush

Обработчик событий, срабатывает всякий раз, когда происходит событиеpush; то есть при получении push-сообщений от сервера.

ServiceWorkerGlobalScope.onpushsubscriptionchange

Обработчик событий, срабатывает всякий раз, когда происходит событиеpushsubscriptionchange; будет полезен в ситуациях, когда подписка была просрочена или вот-вот будет просрочена (при условии, что для подписки был указан срок действия).

Примеры

Насайте-инструкции по работе с сервис-воркерами от Mozilla вы найдёте множество примеров использованияPush API.

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

Спецификация
Push API

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

api.PushEvent

api.PushMessageData

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

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp