PushManager : la méthode getSubscription()
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.
La méthode PushManager.getSubscription()
de l'interface PushManager
récupère un abonnement push existant.
Elle renvoie une promesse (Promise
) qui renvoie à un objet PushSubscription
contenant les détails d'un abonnement existant. S'il n'y a pas d'abonnement existant, cette promesse renvoie une valeur null
.
Syntaxe
getSubscription()
Paramètres
Aucun.
Valeur de retour
Une promesse (Promise
) qui se résout en un objet PushSubscription
ou null
.
Exemples
Cet extrait de code est tiré d'un exemple de messagerie et de notification push.
// Nous avons besoin de l'enregistrement du service worker pour vérifier
// l'existence d'un abonnement
navigator.serviceWorker.ready.then((serviceWorkerRegistration) => {
// Avons-nous déjà un abonnement aux messages push ?
serviceWorkerRegistration.pushManager
.getSubscription()
.then((subscription) => {
// Activer toute interface utilisateur d'inscription / désinscription
// des messages push.
const pushButton = document.querySelector(".js-push-button");
pushButton.disabled = false;
if (!subscription) {
// Nous ne sommes pas abonnés à push, donc définir l'UI
// pour permettre à l'utilisateur d'activer push
return;
}
// Maintenez votre serveur synchronisé avec le dernier subscriptionId
sendSubscriptionToServer(subscription);
showCurlCommand(subscription);
// Réglez votre interface utilisateur pour montrer qu'ils se sont abonnés
// à des messages push
pushButton.textContent = "Désactiver les messages push";
isPushEnabled = true;
})
.catch((err) => {
console.error(`Erreur lors de getSubscription() : ${err}`);
});
});
Spécifications
Specification |
---|
Push API # dom-pushmanager-getsubscription |
Compatibilité des navigateurs
BCD tables only load in the browser