1

Chrome 49 不支持消息体;Chrome 50(计划于 2016 年 4 月 19 日发货可以。当用户从 Chrome 49 升级到 Chrome 50 时,我应该如何将他们从没有消息体的推送通知升级到消息体的推送通知?

4

1 回答 1

1

当用户升级到 Chrome M50 时,浏览器会将加密信息添加到现有订阅中——无需重新订阅即可获取消息正文。(也就是说,PushSubscription对象(由getSubscription()and返回subscribe())将获得一个getKey()方法,并且通过序列化订阅JSON.stringify(s)将返回适当的加密密钥。)

因此,除了修改客户端和服务器以支持和利用消息体之外,主要的升级任务是告诉客户端服务器有兴趣接收加密数据。

有很多方法可以做到这一点,但是一种方法可能是将带外信息添加到作为push事件处理过程的一部分发送到客户端的数据中。例如,服务器可以设置一个标志wouldLikeEncryptionData,告诉客户端如果(有的话)发送回加密数据。

因此,一旦用户升级到 Chrome M50,他们将收到最后一条没有消息正文的消息;在处理该消息的过程中,它们会将加密信息发送到服务器,并且所有后续消息都将包含消息正文。

于 2016-04-13T14:45:50.487 回答