我该如何处理pushsubscriptionchange事件?

时间:2016-04-13 14:49:35

标签: web-push progressive-web-apps

According to the specpushsubscriptionchange事件表示"推送订阅已失效,或很快将失效。"处理此事件的最佳做法是什么?

2 个答案:

答案 0 :(得分:3)

  1. 完全在服务工作者中处理重新订阅。在事件被触发时,可能没有与服务工作者关联的客户端(即打开的页面) - 请勿使用{{ 1}}从客户端触发重新订阅。
  2. 实施可能会在一段时间内(可能是几天)兑现旧订阅。虽然规范没有做出这样的保证,但实施可能会支持某些旧密钥和新密钥。是时候减少/消除消息被丢弃的可能性,因为其中一个客户或服务器还没有接收到新的"键。
  3. 截至2016年4月,Chrome和Firefox均无法触发此活动。但是,由于规范中的规定,为了确保用户继续接收消息,您应该确保正确处理

答案 1 :(得分:2)

您可以在此处找到有关处理pushsubscriptionchange事件的完整详细说明,但要注意一些陷阱。喜欢:

  • Chrome当前未实现推送订阅更改。
  • PushSubscriptionChangeEvent始终为空。如果您想在服务器中替换oldSubscription,则将没有DataTable dt = CsvEngine.CsvToDataTable(@"c:\somefile.csv", ',');

How to handle WebPush API PushSubscriptionChange event in modern browsers