【发布时间】:2016-08-04 18:16:53
【问题描述】:
Chrome 49 不支持消息正文;铬 50 (scheduled to ship on 19 April 2016) does。当用户从 Chrome 49 升级到 Chrome 50 时,我应该如何将他们从推送通知没有消息体升级到推送通知消息体?
【问题讨论】:
标签: google-chrome web-push progressive-web-apps
Chrome 49 不支持消息正文;铬 50 (scheduled to ship on 19 April 2016) does。当用户从 Chrome 49 升级到 Chrome 50 时,我应该如何将他们从推送通知没有消息体升级到推送通知消息体?
【问题讨论】:
标签: google-chrome web-push progressive-web-apps
当用户升级到 Chrome M50 时,浏览器会在现有订阅中添加加密信息——无需重新订阅即可获取消息正文。 (即PushSubscription 对象(由getSubscription() 和subscribe() 返回)将获得getKey() 方法,通过JSON.stringify(s) 序列化订阅将返回适当的加密密钥。)
因此,除了修改客户端和服务器以支持和利用消息体之外,主要的升级任务是告诉客户端服务器有兴趣接收加密数据。
有很多方法可以做到这一点,但是一种方法可能是将带外信息添加到作为push 事件处理过程的一部分发送到客户端的数据中。例如,服务器可以设置一个像wouldLikeEncryptionData 这样的标志,它会告诉客户端如果(它有任何加密数据)发送回加密数据。
因此,一旦用户升级到 Chrome M50,他们将收到最后一条没有消息正文的消息;在处理该消息的过程中,它们会将加密信息发送到服务器,并且所有后续消息都将包含消息体。
【讨论】: