未收到chrome扩展脱机gcm消息



我有一个在后台模式下运行的简单扩展(基本上是示例chrome客户端gcm代码)。当我在chrome运行时向我的扩展发送gcm消息时,消息会被很好地接收。如果我关闭chrome,将gcm消息发送到相同的reg id,然后重新启动chrome,则不会收到消息。人们会期望在扩展启动时调用onMessage(并添加onMessage侦听器)。为什么不是这样?

后台页面必须在扩展清单中注册。如果您需要在后台页面中指定HTML,可以使用页面属性:

manifest.json

{
"name": "My extension",
...
"background": {
"page": "background.html"
},
...
}

除此之外,由于我不确定您的代码中已经包含了什么,我还可以添加关于服务工作者的内容。正如在Implementing Push Messaging for Chrome中所讨论的,需要注册一个服务工作者来实现web的推送消息。

原因是,当收到推送消息时,浏览器可以启动一个在后台运行的服务工作者,而不打开页面,并调度一个事件,以便您可以决定如何处理该推送消息。

要全面了解服务工作者的功能,您可以阅读本SO文章中提供的服务工作者简介和解决方案-未发送到Chrome Packaged Apps(离线模式)的GCM消息可能也适用。

相关内容

  • 没有找到相关文章

最新更新