PushManager : la méthode getSubscription()

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 (en-US) 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 (en-US) 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

BCD tables only load in the browser