Service 推送通知/服务工作人员问题
我正在尝试向用户发送推送通知。当通知到达时单击通知,一切似乎都很好。访问者被重定向到正确的URL,但当我等待大约20分钟时问题就开始了。然后访问者被重定向到未定义的URL。这意味着推送通知不再记住URL 这是我的服务人员:Service 推送通知/服务工作人员问题,service,notifications,push,worker,Service,Notifications,Push,Worker,我正在尝试向用户发送推送通知。当通知到达时单击通知,一切似乎都很好。访问者被重定向到正确的URL,但当我等待大约20分钟时问题就开始了。然后访问者被重定向到未定义的URL。这意味着推送通知不再记住URL 这是我的服务人员: 'use strict'; self.addEventListener('push', function(event) { console.log('[Service Worker] Push Received.'); console.log(`[Service W
'use strict';
self.addEventListener('push', function(event) {
console.log('[Service Worker] Push Received.');
console.log(`[Service Worker] Push had this data: `);
console.log(JSON.parse(event.data.text()));//
const notificationObject = JSON.parse(event.data.text());//
const title = notificationObject.title;//modified from tutorial to make it more dynamic
const options = {
body: notificationObject.msg,
icon: notificationObject.icon,
badge: notificationObject.badge,
};
self.notificationURL = notificationObject.data;
event.waitUntil(self.registration.showNotification(title, options));
});
self.addEventListener('notificationclick', function(event) {
console.log('[Service Worker] Notification click Received.');
//console.log(self.notificationURL);
event.notification.close();
event.waitUntil(
clients.openWindow(self.notificationURL)
);
});
有人知道为什么用户在20分钟后会重定向到未定义的页面,但在前20分钟一切正常吗
推送服务是否会忘记发送的数据?这在桌面和android上都有发生 我看到了同样的行为。你知道吗?是的。这就是发生的事情。我找到了一种方法,将URL保存在缓存中,然后在有人单击推送时从缓存中检索。事实上,我昨天找到了一种更好的方法。你需要创建一个新的“数据”“在包含url属性的通知对象中创建模型,然后您可以通过event.notification.data object.I在NotificationClick事件中检索该模型“我看到了同样的行为。你有没有想过?有。事情就是这样。我找到了一种解决方法,将URL保存在缓存中,然后在有人点击push时从缓存中检索。事实上,我昨天找到了一种更好的方法。您需要在包含url属性的通知对象中创建新的“数据”模型,然后可以通过event.notification.data对象在NotificationClick事件中检索该模型。