【发布时间】:2018-10-24 04:03:39
【问题描述】:
我将订阅端点、auth 和 p256dh 密钥保存在数据库中,并且我想在我的服务工作者上实现 pushsubscriptionchange 事件,以便在数据库中过期时重新订阅和更新我在数据库中的旧订阅,但我可以'找不到获取旧订阅数据的方法。我正在使用这个简单的代码来测试它。
self.addEventListener('pushsubscriptionchange', function(event) {
console.log('subscription expired');
event.waitUntil(
self.registration.pushManager.subscribe({ userVisibleOnly: true })
.then(function(subscription) {
console.log('subscribed again');
// send subscription data to server to update database
})
);
});
为了在 Firefox 中触发事件,我删除了权限并再次授予它们,事件触发正常,但我找不到任何可以让我知道旧订阅数据的信息,因此我可以在数据库上删除/更新它,所以我最终会得到过期的订阅和新的订阅。
如何获取旧订阅数据?
忘了补充,我没有其他方法来识别用户,他们没有注册,它不是一个应用程序,只是一个网站。
【问题讨论】:
-
您好,您知道如何在 chrome mobile 中触发该事件吗?
-
@FelipeMorales 不抱歉,只在ff+linux上试过,不知道我触发的方式会不会和真正的触发一样。
-
@Mark 我面临同样的问题。您是否设法获得旧订阅?
标签: javascript push-notification push