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 ein PushSubscription-Objekt mit Details zu einem bestehenden Abonnement aufgelöst wird. Falls kein bestehendes Abonnement existiert, wird dies in einen null-Wert aufgelöst.

PushManager.permissionState()

Gibt ein Promise zurück, das in den Berechtigungsstatus des aktuellen PushManager 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 ein PushSubscription-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 den PushPermissionStatus der anfordernden Web-App aufgelöst wird, welcher einer der Werte granted, denied oder default sein wird. Ersetzt durch PushManager.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

js
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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
PushManager
getSubscription
hasPermission
DeprecatedNon-standard
permissionState
register
DeprecatedNon-standard
registrations
DeprecatedNon-standard
subscribe
supportedContentEncodings static property
unregister
DeprecatedNon-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.

Siehe auch