我想使用服务工作者在我的渐进web应用程序 (PWA)上设置网络推送通知。但是我很难理解第三方服务的作用,比如Google消息传递和Amazon,以及我是否需要它们。
据我所知,当用户单击“允许通知”按钮时,您将得到一个唯一的订阅端点。然后,在后端,您可以使用此端点向该特定用户发送通知。
但是,我找到的所有后端库(比如皮网推或推网 for Node.js)都提到需要GCM密钥才能发送通知。
但MDN推送API文档是这么说的:
Chrome版本早于52,要求您在Google消息传递上建立一个项目来发送推送消息.
因此,我假设Chrome的新版本(今天的版本58 )应该能够在没有第三方帮助的情况下显示通知。
下面是我想要实现的一个例子。我只是不知道他们在后台做了什么。
Note:我不是试图向安卓或iOS设备发送本机推送通知,而是使用web在Chrome上向我的进步Web应用程序发送推送通知。
发布于 2017-05-28 09:24:53
浏览器推送服务
正如我在另一个答案中所解释的,为了发送网络推送通知,您需要与浏览器推送服务交互。基本上,当用户允许推送通知时,每个浏览器都返回特定于自己的push服务的端点(URL)。
例如:
https://fcm.googleapis.com/开头,因为它们使用FCM (ex )。https://updates.push.services.mozilla.com/开头,因为火狐使用莫兹拉自动驾驶因此,通知将始终通过FCM和自动生成,别无选择:推送服务是在浏览器中硬编码的。
作为抽象层的Web推送通知服务
还有另一种网络推送服务。他们的目标是提供一个层的抽象和浏览器推送服务的附加特性。例如,推垫就是其中之一(我是创始人)。
web应用程序可以只与一个推送服务(例如Pushpad)进行交互,而不是直接与不同的浏览器推送服务(例如FCM,自动生成)交互,后者然后与浏览器推送服务交互(自动化许多任务,如VAPID,并提供监视和集成等附加功能)。
关于FCM的困惑
FCM非常混乱,因为它既是Chrome和Opera的“浏览器推送服务”,也是其他浏览器的通用"web推送通知服务“。因此,以Firefox为例,FCM充当Mozilla自动生成的代理。
https://stackoverflow.com/questions/44220396
复制相似问题