3

我已阅读推送订阅可能会在浏览器和推送服务之间不同步。

我见过两种补救措施,看起来都是非标准的:

  1. ServiceWorkerGlobalScope.onpushsubscriptionchange
  2. GCM 发送响应,在此处提到,在此处详细说明
    • 可以理解的非标准

我认为任何应用程序都应该处理这两个点,在这些点上,订阅可以被识别为不同步(以及任何/全部)。

问题:

  1. 一般来说,是否总是只有两个区域可以让应用程序意识到订阅不同步的情况?(1. service worker event 2. push service response)貌似有道理,求确认
  2. ServiceWorkerGlobalScope.onpushsubscriptionchange 事件(或类似事件)是否会成为权威标准
  3. 代替 service worker 事件标准,为什么不只保留预期的订阅端点(在客户端状态),并且在您向 PushManager 查询订阅的任何时候,检查它是否不同步(与预期不同)?
4

1 回答 1

4

pushsubscriptionchange事件被记录为Push API 规范的一部分。onpushsubscriptionchange这应该被认为是权威的,它提到了作为ServiceWorkerGlobalScope.

在撰写本文时,我不知道是否pushsubscriptionchange在所有支持 Push API 的浏览器中都触发了事件,但我相信一般的想法是它是您描述的用例的(最终)解决方案。

于 2016-01-06T22:18:11.213 回答