אפשרויות של PushSubscription

כשמתרחש אירוע 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  
    }));  
});

זה שינוי קטן שיהיה מאוד שימושי בעתיד.