Opsi PushSubscription

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

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

Anda dapat menyalin dan menempelkan cuplikan kode berikut ke dalam simple-push-demo untuk melihat tampilan opsinya. Kode tersebut 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 sedikit informasi ini, Anda dapat membuat pengguna berlangganan kembali di peristiwa pushsubscriptionchange seperti berikut:

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.