我正在为分类广告网站制作镀铬扩展程序。使用Chrome扩展程序,用户将能够从他们观看的类别/搜索查询中获取最新列表。
我已经在使用websocket服务器向用户发送通知,但这样我必须始终为每个用户打开一个套接字连接。
我的第二种方法是使用Firebase,但这只会在用户点击图标(我已阅读)时运行通知,而我宁愿从我的服务器完成此操作
__
是否有其他可能的解决方案可以在没有用户点击图标的情况下向Chrome扩展程序发送通知?
答案 0 :(得分:4)
您可以使用谷歌的推送基础设施 - 与Android推送通知功能相同 - Google云端消息传递。
注意:Firebase云消息传递是GCM的升级版本;虽然如此,Chrome并不像GCM那样以原生的方式支持它。
chrome.gcm
API是可以使用它的人。有关详细信息,请参阅其文档以及GCM documentation。
甚至还有一个教程:Implementing GCM Client on Chrome
但简而言之,您的扩展程序将注册为GCM的订阅者,将订阅ID传递给服务器,然后应用程序服务器使用这些ID将消息发布到GCM。
如果您愿意使用通用JS SDK实现它,您也应该能够使用Firebase; "只有当用户点击图标时才会运行通知。听起来很荒谬 - 后台页面应该能够让监听器保持活跃并做出反应,这可能就是你的系统现在的工作方式。我仍然会推荐一个原生API,它应该与事件页面兼容。
答案 1 :(得分:-1)
你看过chrome.notifications API了吗?它允许您使用模板创建丰富的通知,并向系统托盘中的用户显示这些通知。
https://developer.chrome.com/apps/notifications
您可以在后台脚本中连接到套接字服务器,侦听来自套接字服务器的消息并触发显示通知的事件。