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.