【发布时间】:2016-08-12 08:39:45
【问题描述】:
我正在为我的网站开发 chrome 推送通知,并在 localhost(本地机器)环境中进行开发。当我第一次订阅通知时,使用特定端点发送推送通知是成功的。我对所有推送消息使用相同的端点。
这里有时推送通知由于端点不匹配而失败。当我在 chrome 控制台(调试模式)中看到时,有不同的端点。 为什么chrome浏览器正在改变端点?在这种情况下,我们如何处理这种情况并更新数据库中的新端点?
谢谢。
【问题讨论】:
-
您如何检索端点?如果您有有效的订阅,
getSubscription()应该返回相同的端点。 (subscribe()可以返回不同的端点。) -
你好 mjs,我正在使用 getsubscription() 但它并不总是在变化。在这里我要澄清一下,最终用户已经允许通知并获得端点并存储到数据库中。再次如果你使用 subscribe() 来获取端点,我们是否会得到不同的端点?
-
我认为端点不应从一个
getSubscription()更改为另一个。 (前提是客户端没有取消订阅。)如果您可以重现此内容,我会将其记录为 Chrome 中的错误。 (特别是如果 FF 的行为方式不同。) -
为已订阅(已授予权限)的用户再次调用 .pushManager.subscribe 将返回不同的端点?
-
它不会改变,但是在谷歌浏览器移动端清理历史记录和 cookie 会改变它
标签: google-chrome push-notification service-worker