首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android浏览器上的网络推送通知:我需要第三方服务,比如GCM还是SNS?

问Android浏览器上的网络推送通知:我需要第三方服务,比如GCM还是SNS?
EN

Stack Overflow用户
提问于 2017-05-27 18:35:50
回答 1查看 2.6K关注 0票数 12

我想使用服务工作者在我的渐进web应用程序 (PWA)上设置网络推送通知。但是我很难理解第三方服务的作用,比如Google消息传递和Amazon,以及我是否需要它们。

据我所知,当用户单击“允许通知”按钮时,您将得到一个唯一的订阅端点。然后,在后端,您可以使用此端点向该特定用户发送通知。

但是,我找到的所有后端库(比如皮网推或推网 for Node.js)都提到需要GCM密钥才能发送通知。

但MDN推送API文档是这么说的:

Chrome版本早于52,要求您在Google消息传递上建立一个项目来发送推送消息.

因此,我假设Chrome的新版本(今天的版本58 )应该能够在没有第三方帮助的情况下显示通知。

下面是我想要实现的一个例子。我只是不知道他们在后台做了什么。

Note:我不是试图向安卓或iOS设备发送本机推送通知,而是使用web在Chrome上向我的进步Web应用程序发送推送通知。

EN

回答 1

Stack Overflow用户

发布于 2017-05-28 09:24:53

浏览器推送服务

正如我在另一个答案中所解释的,为了发送网络推送通知,您需要与浏览器推送服务交互。基本上,当用户允许推送通知时,每个浏览器都返回特定于自己的push服务的端点(URL)。

例如:

  • Chrome和Opera端点以前缀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自动生成的代理。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44220396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档