根据规范,一个pushsubscriptionchange
事件表示“推送订阅已失效,或即将失效”。处理此事件的最佳做法是什么?
问问题
1685 次
2 回答
3
- 完全在 service worker 中处理重新订阅。在触发事件时,可能没有与服务工作者相关联的客户端(即打开的页面)——不要
postMessage()
用于触发来自客户端的重新订阅。 - 实现可能会在一段时间内(可能是几天)兑现旧订阅。虽然规范没有做出这样的保证,但实现很可能会在一段时间内同时支持旧密钥和新密钥,以减少/消除由于所涉及的客户端或服务器之一未收到“新”密钥而丢弃消息的机会.
- 截至 2016 年 4 月,Chrome 和 Firefox 都不会触发此事件。但是,由于它在规范中,为了确保用户继续接收消息,您应该确保正确处理它。
于 2016-04-13T14:49:34.867 回答
2
您可以在此处找到有关处理pushsubscriptionchange
事件的完整详细说明,其中包含您必须处理的一些陷阱。喜欢:
- 推送订阅更改目前未在 Chrome 中实现。
PushSubscriptionChangeEvent
始终为空。oldSubscription
如果您想在服务器中替换它,您将无法使用。
于 2019-03-18T22:55:33.023 回答