Google chrome 将推送通知从服务器发送到chrome扩展的最佳方式?

Google chrome 将推送通知从服务器发送到chrome扩展的最佳方式?,google-chrome,google-chrome-extension,websocket,firebase-cloud-messaging,Google Chrome,Google Chrome Extension,Websocket,Firebase Cloud Messaging,我正在为一个分类广告网站做一个chrome扩展。通过chrome扩展,用户将能够从他们关注的类别/搜索查询中获取最新列表 我已经在使用websocket服务器向用户发送通知,但这样我必须始终为每个用户打开一个套接字连接 我的第二种方法是使用,但这将只在用户单击图标时运行通知(如我所读的),我更希望从我的服务器上执行此操作 __ 有没有其他可能的解决方案可以在用户不点击图标的情况下向chrome扩展发送通知?您看过chrome.notifications API了吗?它允许您使用模板创建丰富的通知

我正在为一个分类广告网站做一个chrome扩展。通过chrome扩展,用户将能够从他们关注的类别/搜索查询中获取最新列表

我已经在使用websocket服务器向用户发送通知,但这样我必须始终为每个用户打开一个套接字连接

我的第二种方法是使用,但这将只在用户单击图标时运行通知(如我所读的),我更希望从我的服务器上执行此操作

__


有没有其他可能的解决方案可以在用户不点击图标的情况下向chrome扩展发送通知?

您看过chrome.notifications API了吗?它允许您使用模板创建丰富的通知,并在系统托盘中向用户显示这些通知


您可以在后台脚本中连接到socket服务器,侦听来自socket服务器的消息,并触发显示通知的事件。

您可以使用Google的推送基础设施——与支持Android推送通知的基础设施相同——Google云消息

注:Firebase云消息是作为GCM的升级版本提供的;虽然确实如此,但Chrome并不以GCM的方式支持它

就是和它一起工作的那个。有关详细信息,请参见其文档以及

甚至还有一个教程:

但简而言之,您的扩展将注册为GCM的订户,将订阅ID传递给服务器,然后应用程序服务器使用这些ID向GCM发布消息


如果您愿意使用通用JSSDK实现Firebase,您还应该能够使用Firebase;“只有当用户点击图标时才会运行通知”听起来很荒谬——后台页面应该能够让侦听器保持活动并做出反应,这可能就是您的系统现在的工作方式。我仍然建议使用本机API,它应该与事件页面兼容。

您回答了错误的问题。您不是回答“如何以不使用套接字的方式将通知中继到扩展”,而是回答有关向用户演示的问题。谢谢您提供的信息!Vielen dank“截至2018年4月10日,谷歌已弃用GCM。GCM服务器和客户端API已弃用,最快将于2019年4月11日删除。将GCM应用迁移到Firebase Cloud Messaging(FCM),后者继承了可靠和可扩展的GCM基础设施以及许多新功能。有关更多信息,请参阅迁移指南。”@Protectorone由于官方文件特别提到Firebase,我假设这种反对对Chrome API是透明的。当然,服务器组件需要更新。