ตัวเลือกของการสมัครรับข้อมูลแบบพุช

เมื่อเหตุการณ์ pushsubscriptionchange เกิดขึ้น นักพัฒนาแอปจะสมัครใช้บริการผู้ใช้อีกครั้งเพื่อพุช ปัญหาหนึ่งของปัญหานี้คือการสมัครใช้บริการผู้ใช้อีกครั้ง นักพัฒนาแอปต้องซิงค์ applicationServerKey (และตัวเลือกอื่นๆ ของ subscribe()) ระหว่าง JavaScript ของหน้าเว็บกับ Service Worker

ใน 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  
    }));  
});

นี่เป็นการเปลี่ยนแปลงเล็กๆ น้อยๆ ซึ่งจะเป็นประโยชน์อย่างยิ่งในอนาคต