PushManager: getSubscription() Methode
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: Dieses Feature ist verfügbar in Web Workers.
Die PushManager.getSubscription()
Methode des PushManager
-Interfaces ruft ein bestehendes Push-Abonnement ab.
Sie gibt ein Promise
zurück, das zu einem PushSubscription
-Objekt aufgelöst wird, das Details eines bestehenden Abonnements enthält. Wenn kein bestehendes Abonnement vorhanden ist, wird es zu einem null
-Wert aufgelöst.
Syntax
getSubscription()
Parameter
Keine.
Rückgabewert
Ein Promise
, das zu einem PushSubscription
-Objekt oder null
aufgelöst wird.
Beispiele
Dieser Code-Ausschnitt stammt aus einem Beispiel für Push-Messaging und Benachrichtigungen. (Keine Live-Demo verfügbar.)
// We need the service worker registration to check for a subscription
navigator.serviceWorker.ready.then((serviceWorkerRegistration) => {
// Do we already have a push message subscription?
serviceWorkerRegistration.pushManager
.getSubscription()
.then((subscription) => {
// Enable any UI which subscribes / unsubscribes from
// push messages.
const pushButton = document.querySelector(".js-push-button");
pushButton.disabled = false;
if (!subscription) {
// We aren't subscribed to push, so set UI
// to allow the user to enable push
return;
}
// Keep your server in sync with the latest subscriptionId
sendSubscriptionToServer(subscription);
showCurlCommand(subscription);
// Set your UI to show they have subscribed for
// push messages
pushButton.textContent = "Disable Push Messages";
isPushEnabled = true;
})
.catch((err) => {
console.error(`Error during getSubscription(): ${err}`);
});
});
Spezifikationen
Specification |
---|
Push API # dom-pushmanager-getsubscription |
Browser-Kompatibilität
BCD tables only load in the browser