Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
L'interface PushManager
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.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
L'interfacePushManager de l'API Push permet de recevoir des notifications de serveurs tiers et de demander des URL pour les notifications push.
Cette interface est accessible via la propriétéServiceWorkerRegistration.pushManager.
Dans cet article
Propriétés statitiques
PushManager.supportedContentEncodingsRetourne un tableau des encodages de contenu pris en charge qui peuvent être utilisés pour chiffrer la charge utile d'un message push.
Méthodes d'instance
PushManager.getSubscription()Récupère un abonnement push existant. Elle renvoie unepromesse (
Promise) qui se résout en un objetPushSubscriptioncontenant les détails d'un abonnement existant. S'il n'existe pas d'abonnement existant, cette promesse renvoie une valeurnull.PushManager.permissionState()Retourne unepromesse (
Promise) qui correspond à l'état de la permission duPushManagercourant. La valeur de résolution sera l'une des valeurs suivantes :'granted','denied', ou'prompt'.PushManager.subscribe()Permet de s'abonner à un service de push. Il retourne unepromesse (
Promise) qui se résout en un objetPushSubscriptioncontenant les détails d'un abonnement à un service push. Un nouvel abonnement est créé si leservice worker actuel n'a pas d'abonnement existant.
Méthodes obsolètes
PushManager.hasPermission()ObsolèteRetourne unepromesse (
Promise) qui résout le statutPushPermissionStatusde l'application web requérante, qui sera l'un des éléments suivants :granted,denied, oudefault. Remplacée parPushManager.permissionState().PushManager.register()ObsolètePermet de s'abonner à un abonnement push. Remplacée par
PushManager.subscribe().PushManager.registrations()ObsolèteRécupère les abonnements push existants. Remplacée par
PushManager.getSubscription().PushManager.unregister()ObsolèteDésinscrit et supprime un point d'extrémité d'abonnement spécifié. Dans l'API actuelle, un abonnement est désinscrit en appelant la méthode
PushSubscription.unsubscribe().
Exemple
this.onpush = (event) => { console.log(event.data); // A partir de là, nous pouvons écrire les données dans IndexedDB, les envoyer // à n'importe quelle fenêtre ouverte, afficher une notification, etc.};navigator.serviceWorker .register("serviceworker.js") .then((serviceWorkerRegistration) => { serviceWorkerRegistration.pushManager.subscribe().then( (pushSubscription) => { console.log(pushSubscription.endpoint); // Les détails de l'abonnement push nécessaires au serveur d'application // sont maintenant disponibles et peuvent lui être envoyées en utilisant, // par exemple, un XMLHttpRequest. }, (error) => { console.error(error); }, ); });Spécifications
| Specification |
|---|
| Push API> # pushmanager-interface> |