火狐浏览器的 GCM 等效替代方案

6
Google云消息传递(GCM)是一项服务,使开发人员可以向Android应用程序或Chrome应用程序和扩展程序发送数据。
我正在开发一个chrome和firefox扩展插件/附加组件。我正在使用Firefox扩展的Web Extension API。
目前,Web Extension API还不支持chrome.gcm.* API。基本上,Firefox扩展无法与GCM通信。
有没有其他类似于GCM的东西,可以让Firefox扩展与之通信?是否有像Google为其浏览器Chrome提供的GCM一样,由Firefox提供的类似的东西?如果没有,有人可以解释如何在Firefox扩展中实现这一点吗?
更新: 即使对于Web应用程序,Firefox也不使用类似于GCM的东西。他们使用服务工作者。Firefox浏览器扩展可以与服务工作者交互吗?

你对这个问题有答案了吗? - Jacob
使用Websockets吗? - the8472
1个回答

12
Firefox扩展程序目前无法直接使用服务工作者(根据一位在Firefox中负责实现服务工作者支持的开发人员)。

是否有其他类似于GCM的东西,可以让Firefox扩展与之通信?像Google为其浏览器Chrome提供的GCM一样,Firefox提供了什么东西吗?

是的,有一个类似于GCM的Firefox等效物。 Firefox用户从用户首选项dom.push.serverURL所给出的服务器接收推送通知。如果您在about:config中检查dom.push.serverURL,您将看到wss://push.services.mozilla.com/,这是Mozilla推送服务,本质上是Mozilla的GCM等效物。

这个项目运行的是一个AutoPush(Python开源推送服务器软件项目)后端,客户端部分(如问题所述)由服务工作者向前端代码公开。

因此,虽然火狐扩展程序可能有另一种连接到Mozilla推送服务的方式,但唯一公开记录的方式是通过标准Web推送API,它依赖于服务工作者,而这些服务工作者尚不可用于火狐扩展程序中。


1
那么,您知道有哪些替代方案可以使Firefox扩展连接到Mozilla Push Service吗? - discoverAnkit
1
你可能可以使用其中一个实现Web Push的Firefox模块(http://mxr.mozilla.org/mozilla-central/source/dom/push/)。 - Marco Castelluccio
@Marco 怎么办?我认为这也仅适用于 Web 应用程序。 - discoverAnkit
1
@ankitG 这些模块是内部的,不能被 Web 内容使用,但可以被插件使用。 我不确定“如何”,你必须通过查看它们的源代码来调查。 - Marco Castelluccio
2
还有另外一件事情可以做。创建一个使用服务工作者和标准推送API的网页,并在插件和网页之间以某种方式通信数据。 - Marco Castelluccio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接