Opsi PushSubscription

Saat peristiwa pushsubscriptionchange terjadi, ini adalah peluang bagi developer untuk membuat pengguna berlangganan kembali untuk push. Salah satu titik masalahnya adalah untuk membuat pengguna berlangganan kembali, developer harus menjaga applicationServerKey (dan opsi subscribe() lainnya) tetap sinkron antara JavaScript halaman web dan pekerja layanannya.

Di Chrome 54 dan yang lebih baru, Anda kini dapat mengakses opsi melalui parameter opsi dalam objek langganan, yang dikenal sebagai PushSubscriptionOptions.

Anda dapat menyalin dan menempelkan cuplikan kode berikut ke simple-push-demo untuk melihat tampilan opsi. Kode ini hanya mendapatkan langganan saat ini dan mencetak 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);  
});

Dengan informasi kecil ini, Anda dapat membuat pengguna berlangganan kembali dalam peristiwa pushsubscriptionchange seperti ini:

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

Ini adalah perubahan kecil, yang akan sangat berguna di masa mendatang.