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

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

في الإصدار 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  
    }));  
});

هذا تغيير بسيط سيكون مفيدًا جدًا في المستقبل.