PushManager
Baseline 2023
Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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 bietet eine Möglichkeit, Benachrichtigungen von Drittanbieter-Servern zu empfangen sowie URLs für Push-Benachrichtigungen anzufordern.
Auf dieses Interface wird über die ServiceWorkerRegistration.pushManager
-Eigenschaft zugegriffen.
Statische Eigenschaften
PushManager.supportedContentEncodings
-
Gibt 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
Promise
zurü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
Promise
zurück, das in den Berechtigungsstatus des aktuellenPushManager
aufgelöst wird, welcher einer der Werte'granted'
,'denied'
oder'prompt'
sein wird. PushManager.subscribe()
-
Abonniert einen Push-Dienst. Es gibt ein
Promise
zurü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()
Veraltet Nicht standardisiert-
Gibt ein
Promise
zurück, das in denPushPermissionStatus
der anfordernden Web-App aufgelöst wird, welcher einer der Wertegranted
,denied
oderdefault
sein wird. Ersetzt durchPushManager.permissionState()
. PushManager.register()
Veraltet Nicht standardisiert-
Abonniert ein Push-Abonnement. Ersetzt durch
PushManager.subscribe()
. PushManager.registrations()
Veraltet Nicht standardisiert-
Ruft bestehende Push-Abonnements ab. Ersetzt durch
PushManager.getSubscription()
. PushManager.unregister()
Veraltet Nicht standardisiert-
Hebt 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 |
Browser-Kompatibilität
BCD tables only load in the browser