我了解到推送订阅可能会在浏览器和推送服务之间失去同步。
我看到了两种补救措施,都似乎非标准:
- ServiceWorkerGlobalScope.onpushsubscriptionchange
- GCM发送响应,在这里提到,这里详细说明
- 可以理解为非标准
我认为任何应用程序都应该处理这两个可能导致订阅不同步的情况(以及所有情况)。
问题:
- 一般来说,一个应用程序总是只有这两个区域可以意识到订阅不同步的情况吗?(1.服务工作者事件2.推送服务响应)看起来很合理,寻求确认。
- ServiceWorkerGlobalScope.onpushsubscriptionchange事件(或某个等效事件)是否会进入权威标准?
- 如果没有服务工作者事件标准,为什么不只是保留预期的订阅端点(在客户端状态中),并在每次查询PushManager的订阅时检查它是否不同步(与预期不同)?