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
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.supportedContentEncodings Schreibgeschü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 Promise zurück, das mit einem PushSubscription-Objekt mit Details zu einem bestehenden Abonnement erfüllt wird. Wenn kein Abonnement besteht, wird das Promise mit dem Wert null erfüllt.

PushManager.permissionState()

Gibt ein Promise zurück, das mit dem Berechtigungsstatus des aktuellen PushManager erfüllt wird. Dieser ist entweder 'granted', 'denied' oder 'prompt'.

PushManager.subscribe()

Meldet den Service Worker bei einem Push-Dienst an. Die Methode gibt ein Promise zurück, das mit einem PushSubscription-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 Promise zurück, das mit dem PushPermissionStatus der anfragenden Webanwendung erfüllt wird. Dieser ist entweder granted, denied oder default. Ersetzt durch PushManager.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

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

Spezifikation
Push API
# pushmanager-interface

Browser-Kompatibilität

Siehe auch