Google chrome 推送通知:如何处理从Chrome49到Chrome50的升级?

Google chrome 推送通知:如何处理从Chrome49到Chrome50的升级?,google-chrome,web-push,progressive-web-apps,Google Chrome,Web Push,Progressive Web Apps,Chrome49不支持消息体;铬50()。当用户从Chrome 49升级到Chrome 50时,我应该如何将他们从没有消息正文的推送通知升级到带有消息正文的推送通知?当用户升级到Chrome M50时,浏览器将向现有订阅添加加密信息——无需重新订阅即可获得消息正文。(也就是说,对象(由getSubscription()和subscription()返回)将获得getKey()方法,并通过JSON序列化订阅。stringify将返回适当的加密密钥。) 因此,除了修改客户端和服务器以支持和利用消息体

Chrome49不支持消息体;铬50()。当用户从Chrome 49升级到Chrome 50时,我应该如何将他们从没有消息正文的推送通知升级到带有消息正文的推送通知?

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

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

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

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