PushManager : la méthode getSubscription()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2023.
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
js
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.
js
// 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
Chargement…