Pushसदस्यता के विकल्प

जब कोई pushsubscriptionchange इवेंट होता है, तो डेवलपर के पास उपयोगकर्ता को पुश नोटिफ़िकेशन की सुविधा के लिए फिर से सदस्य बनाने का मौका होता है. इसकी एक समस्या यह है कि किसी उपयोगकर्ता को फिर से सदस्य बनाने के लिए, डेवलपर को वेब पेज के JavaScript और अपने सेवा वर्कर के बीच applicationServerKey (और किसी भी अन्य subscribe() विकल्प) को सिंक रखना होगा.

Chrome 54 और उसके बाद के वर्शन में, अब सदस्यता ऑब्जेक्ट में मौजूद विकल्प पैरामीटर के ज़रिए विकल्पों को ऐक्सेस किया जा सकता है. इसे PushSubscriptionOptions कहा जाता है.

विकल्पों को देखने के लिए, नीचे दिए गए कोड स्निपेट को कॉपी करके simple-push-demo में चिपकाएं. यह कोड, मौजूदा सदस्यता को ऐक्सेस करता है और 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);  
});

इस छोटी सी जानकारी की मदद से, pushsubscriptionchange इवेंट में किसी उपयोगकर्ता की सदस्यता फिर से चालू की जा सकती है. इसके लिए, यह तरीका अपनाएं:

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

यह एक छोटा सा बदलाव है, जो आने वाले समय में काफ़ी काम का साबित होगा.