خيارات الاشتراك المدفوع

يتيح حدث pushsubscriptionchange للمطوّر إعادة اشتراك المستخدم في أحداث Push. تتمثل إحدى المشاكل في ذلك في أنّه لإعادة اشتراك المستخدم، على المطوّر الحفاظ على تزامن applicationServerKey (وأي خيارات subscribe() أخرى) بين JavaScript لصفحة الويب ومشغّل الخدمة.

في الإصدار 54 من Chrome والإصدارات الأحدث، يمكنك الآن الوصول إلى الخيارات من خلال معلمة الخيارات في عنصر الاشتراك، والمعروفة باسم 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  
    }));  
});

إنّه تغيير بسيط وسيكون مفيدًا للغاية في المستقبل.