Options d'un abonnement PushSubscription

Lorsqu'un événement pushsubscriptionchange se produit, un développeur peut réabonner l'utilisateur aux notifications push. L'un des problèmes de ce processus est que, pour réabonner un utilisateur, le développeur doit synchroniser le applicationServerKey (et toute autre option subscribe()) entre le code JavaScript de la page Web et son service worker.

Dans Chrome 54 et versions ultérieures, vous pouvez désormais accéder aux options via le paramètre d'options dans un objet d'abonnement, appelé PushSubscriptionOptions.

Vous pouvez copier et coller l'extrait de code suivant dans simple-push-demo pour voir à quoi ressemblent les options. Le code récupère simplement l'abonnement actuel et imprime subscription.options.

=======

navigator.serviceWorker.ready.then(registration => {  
    return registration.pushManager.getSubscription();  
})  
.then(subscription => {  
    if (!subscription) {  
    console.log('No subscription 😞');  
    return;  
    }

    console.log('Here are the options 🎉');  
    console.log(subscription.options);  
});

Grâce à cette petite information, vous pouvez réabonner un utilisateur dans l'événement pushsubscriptionchange comme suit:

self.addEventListener('pushsubscriptionchange', e => {  
    e.waitUntil(registration.pushManager.subscribe(e.oldSubscription.options)  
    .then(subscription => {  
        // TODO: Send new subscription to application server  
    }));  
});

Il s'agit d'un petit changement qui sera très utile à l'avenir.