Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
PushManager
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2023.
* Some parts of this feature may have varying levels of support.
Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DasPushManager-Interface derPush-API bietet eine Möglichkeit, Benachrichtigungen von Drittanbieter-Servern zu empfangen sowie URLs für Push-Benachrichtigungen anzufordern.
Auf dieses Interface wird über dieServiceWorkerRegistration.pushManager-Eigenschaft zugegriffen.
In diesem Artikel
Statische Eigenschaften
PushManager.supportedContentEncodingsGibt ein Array von unterstützten Inhaltskodierungen zurück, die verwendet werden können, um die Nutzlast einer Push-Nachricht zu verschlüsseln.
Instanzmethoden
PushManager.getSubscription()Ruft ein bestehendes Push-Abonnement ab. Es gibt ein
Promisezurück, das in einPushSubscription-Objekt mit Details zu einem bestehenden Abonnement aufgelöst wird. Falls kein bestehendes Abonnement existiert, wird dies in einennull-Wert aufgelöst.PushManager.permissionState()Gibt ein
Promisezurück, das in den Berechtigungsstatus des aktuellenPushManageraufgelöst wird, welcher einer der Werte'granted','denied'oder'prompt'sein wird.PushManager.subscribe()Abonniert einen Push-Dienst. Es gibt ein
Promisezurück, das in einPushSubscription-Objekt aufgelöst wird, das Details zu einem Push-Abonnement enthält. Ein neues Push-Abonnement wird erstellt, falls der aktuelle Service Worker kein bestehendes Abonnement hat.
Veraltete Methoden
PushManager.hasPermission()VeraltetNicht standardisiertGibt ein
Promisezurück, das in denPushPermissionStatusder anfordernden Web-App aufgelöst wird, welcher einer der Wertegranted,deniedoderdefaultsein wird. Ersetzt durchPushManager.permissionState().PushManager.register()VeraltetNicht standardisiertAbonniert ein Push-Abonnement. Ersetzt durch
PushManager.subscribe().PushManager.registrations()VeraltetNicht standardisiertRuft bestehende Push-Abonnements ab. Ersetzt durch
PushManager.getSubscription().PushManager.unregister()VeraltetNicht standardisiertHebt die Registrierung eines angegebenen Abonnementendpunkts auf und löscht ihn. Im aktualisierten API wird ein Abonnement aufgehoben, indem die
PushSubscription.unsubscribe()-Methode aufgerufen wird.
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
| Specification |
|---|
| Push API> # pushmanager-interface> |