Thanks to visit codestin.com
Credit goes to developer.mozilla.org

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 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

Siehe auch