aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/pushmanager/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/api/pushmanager/index.html')
-rw-r--r--files/ru/web/api/pushmanager/index.html115
1 files changed, 115 insertions, 0 deletions
diff --git a/files/ru/web/api/pushmanager/index.html b/files/ru/web/api/pushmanager/index.html
new file mode 100644
index 0000000000..bf1815769e
--- /dev/null
+++ b/files/ru/web/api/pushmanager/index.html
@@ -0,0 +1,115 @@
+---
+title: PushManager
+slug: Web/API/PushManager
+tags:
+ - API
+ - Experimental
+ - Interface
+ - NeedsTranslation
+ - Push
+ - Push API
+ - Reference
+ - Référence(2)
+ - Service Workers
+ - TopicStub
+translation_of: Web/API/PushManager
+---
+<p>{{SeeCompatTable}}{{ApiRef("Push API")}}</p>
+
+<p>Интерфейс <code>PushManager</code> из <a href="/en-US/docs/Web/API/Push_API">Push API</a> предоставляет возможность получать уведомления от сторонних серверов, а также запрашивать URL для push уведомлений.</p>
+
+<p>Этот интерфейс доступен через свойство {{domxref("ServiceWorkerRegistration.pushManager")}}.</p>
+
+<div class="note">
+<p><strong>Заметка</strong>: Этот интерфейс заменил функциональность, предлагаемую устаревшим {{domxref("PushRegistrationManager")}}.</p>
+</div>
+
+<h2 id="Свойства">Свойства</h2>
+
+<dl>
+ <dt>{{domxref("PushManager.supportedContentEncodings")}}</dt>
+ <dd>Возвращает массив со списком возможных алгоритмов кодирования, которые могут быть использованы для шифрования полезной нагрузки пуш-уведомления.</dd>
+</dl>
+
+<h2 id="Методы">Методы</h2>
+
+<dl>
+ <dt>{{domxref("PushManager.subscribe()")}}</dt>
+ <dd>Подписка на пуш сервис. Возвращает промис, который разрешается в {{domxref("PushSubscription")}} объект, содержащий детали новой push подписки.</dd>
+ <dt>{{domxref("PushManager.getSubscription()")}}</dt>
+ <dd>Извлекает существующую push подписку. Возвращает промис, который разрешается в {{domxref("PushSubscription")}} объект, содержащий детали существующей подписки.</dd>
+ <dt>{{domxref("PushManager.permissionState()")}}</dt>
+ <dd>Возвращает {{jsxref("Promise")}}, который разрешается в состояние доступа текущего {{domxref("PushManager")}}, которое может быть одним из <code>'granted'</code>, <code>'denied'</code>, или <code>'default'</code>.</dd>
+</dl>
+
+<h3 id="Устаревшие_методы">Устаревшие методы</h3>
+
+<dl>
+ <dt>{{domxref("PushManager.hasPermission()")}}</dt>
+ <dd>Returns a {{jsxref("Promise")}} that resolves to the <code>PushPermissionStatus</code> of the requesting webapp, which will be one of <code>granted</code>, <code>denied</code>, or <code>default</code>. Replaced by {{domxref("PushManager.permissionState()")}}.</dd>
+ <dt>{{domxref("PushManager.register()")}}</dt>
+ <dd>Subscribes to a push subscription. Replaced by {{domxref("PushManager.subscribe()")}}.</dd>
+ <dt>{{domxref("PushManager.registrations()")}}</dt>
+ <dd>Retrieves existing push subscriptions. Replaced by {{domxref("PushManager.getSubscription()")}}.</dd>
+ <dt>{{domxref("PushManager.unregister()")}}</dt>
+ <dd>Unregisters and deletes a specified subscription endpoint. In the updated API, a subscription is can be unregistered via the {{domxref("PushSubscription.unsubscribe()")}} method.</dd>
+</dl>
+
+<h2 id="Пример">Пример</h2>
+
+<pre class="brush: js">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);
+ }
+ );
+ });</pre>
+
+<h2 id="Спецификации">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарий</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Push API','#pushmanager-interface','PushManager')}}</td>
+ <td>{{Spec2('Push API')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
+
+<div>
+
+
+<p>{{Compat("api.PushManager")}}</p>
+</div>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/Push_API/Using_the_Push_API">Использование Push API</a></li>
+ <li><a href="http://updates.html5rocks.com/2015/03/push-notificatons-on-the-open-web">Push сообщения в Open Web</a>, Matt Gaunt</li>
+</ul>