PushManager
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das PushManager-Interface der Push API ermöglicht es, Benachrichtigungen von Drittanbieter-Servern sowie Anfrage-URLs für Push-Benachrichtigungen zu empfangen.
Der Zugriff auf dieses Interface erfolgt über die Eigenschaft ServiceWorkerRegistration.pushManager.
Statische Eigenschaften
PushManager.supportedContentEncodingsSchreibgeschützt-
Gibt ein Array der unterstützten Inhaltskodierungen zurück, die zum Verschlüsseln der Nutzdaten einer Push-Nachricht verwendet werden können.
Instanzmethoden
PushManager.getSubscription()-
Ruft ein bestehendes Push-Abonnement ab. Die Methode gibt ein
Promisezurück, das mit einemPushSubscription-Objekt mit Details zu einem bestehenden Abonnement erfüllt wird. Wenn kein Abonnement besteht, wird das Promise mit dem Wertnullerfüllt. PushManager.permissionState()-
Gibt ein
Promisezurück, das mit dem Berechtigungsstatus des aktuellenPushManagererfüllt wird. Dieser ist entweder'granted','denied'oder'prompt'. PushManager.subscribe()-
Meldet den Service Worker bei einem Push-Dienst an. Die Methode gibt ein
Promisezurück, das mit einemPushSubscription-Objekt mit Details zum Push-Abonnement erfüllt wird. Wenn für den aktuellen Service Worker noch kein Abonnement besteht, wird ein neues Push-Abonnement erstellt.
Veraltete Methoden
PushManager.hasPermission()-
Gibt ein
Promisezurück, das mit demPushPermissionStatusder anfragenden Webanwendung erfüllt wird. Dieser ist entwedergranted,deniedoderdefault. Ersetzt durchPushManager.permissionState(). PushManager.register()-
Erstellt ein Push-Abonnement. Ersetzt durch
PushManager.subscribe(). PushManager.registrations()-
Ruft bestehende Push-Abonnements ab. Ersetzt durch
PushManager.getSubscription(). PushManager.unregister()-
Meldet einen angegebenen Abonnement-Endpunkt ab und löscht ihn. In der aktualisierten API wird ein Abonnement durch Aufrufen der Methode
PushSubscription.unsubscribe()abgemeldet.
Beispiel
this.onpush = (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((serviceWorkerRegistration) => {
serviceWorkerRegistration.pushManager.subscribe().then(
(pushSubscription) => {
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, the fetch() API.
},
(error) => {
console.error(error);
},
);
});
Spezifikationen
| Spezifikation |
|---|
| Push API> # pushmanager-interface> |