我们需要开发类似于OneSignal的东西(仅Web,没有本机应用)供私人使用。我们从哪里开始?我们可以使用一些开源项目吗?
答案 0 :(得分:0)
每个浏览器都实现自己的推送服务,因此,使用私有/自定义推送服务必须重新创建Push和Service Worker API(至少部分)以实现客户端类似的行为。 Google有一个写得很好的高级overview;请参阅“谁以及什么是推送服务?”第2步的部分。值得注意的是,虽然可以创建Push Service本身,但您将失去浏览器提供的Web应用程序的功能(例如,即使Web应用程序不在其中,也要唤醒服务人员以接收通知)前景),因为浏览器只会使用自己的Push Service。
在浏览器之外(例如Electron应用),您仍然需要重新创建Push&Service Worker API(部分)以实现客户端类似的行为。在这种情况下,如果可能的话,对于目标平台,最好使用本机Push服务。
如果内容隐私是最终目标:WebPush协议在客户端和应用程序服务器之间提供了一种加密方法,因此Push Service无法读取通知内容。结合标准Push API的接受,使得在大多数情况下都可以使用第三方Push Service,与从头开始构建所有内容相比,这是微不足道的。
但是,如果您绝对需要制作自定义的推送服务,则Mozilla的Push Service是我找到的唯一的完全开源解决方案。它可能不是您开箱即用时所需要的,但是可能很接近。到目前为止,只有Firebase的客户端和管理SDK都是开源的。
答案 1 :(得分:0)
我正在上个月内开发一个。
该项目目前处于第一阶段,需要大量的工作技能和时间,因此无法开源。