javascript - FCM(网络)是否使用 WebSocket 作为消息接收者?

标签 javascript websocket firebase-cloud-messaging instant-messaging

我只是想知道“FCM”在网络上是如何运作的。 它是否使用 websocket,或者它是一个内置功能 浏览器(chrome、firefox...)

最佳答案

FCM(Firebase 云消息传递)使用 HTTP 和 XMPP 服务器协议(protocol)来提供 JSON 和纯文本服务。

FCM 服务器协议(protocol) 目前 FCM 提供以下原始服务器协议(protocol):

  1. FCM HTTP v1 API
  2. 旧版 HTTP 协议(protocol)
  3. 旧版 XMPP 协议(protocol)

您的应用服务器可以单独或串联使用这些协议(protocol)。由于它对于向多个平台发送消息来说是最新且最灵活的,因此在可行的情况下建议使用 FCM HTTP v1 API。如果您的要求包括从设备到服务器的上游消息传递,您将需要实现 XMPP 协议(protocol)。

Below snap describes how it works 请访问关于 Firebase 云消息传递服务器 | Firebase 了解更多详细信息,https://firebase.google.com/docs/cloud-messaging/server#choose 。希望对您有所帮助。

Web 推送通知到底是如何传递到用户设备的?

涉及提供网络推送通知的三个参与者,以及用于高级功能的第四个可选组件。

  1. 网络推送通知服务:每个浏览器(包括 Chrome、Safari 和 Firefox)都有自己的通知发送服务。 Chrome 使用 Google Cloud Messaging(现在是 Firebase Cloud Messaging),Safari 使用 Apple 推送通知服务 (APNS),Firefox 使用 MDN 服务器。

  2. Service Worker 注册:开发人员必须在浏览器上注册 Service Worker。这仅适用于 Chrome 和 Firefox。 Safari 虽然增加了对 service-workers 的支持,但 Safari 通知是使用不同的机制传递的。

  3. 用户的订阅 ID:订阅者 ID 在用户选择接收来自特定网站的通知时生成。

此外,还可以将 SDK(操作系统客户端库软件开发套件)添加到 Web 应用程序中,以扩展分割和分析功能。

关于javascript - FCM(网络)是否使用 WebSocket 作为消息接收者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56798138/

相关文章:

security - socket.io 是否只向订阅者广播?

javascript - 使用日期差输出字符串

javascript - 将 js 变量值添加到输入字段

google-chrome - 当我从 chrome websocket 发送 127+ 个字符时,我的 golang 服务器不能看到超过 126 个

javascript - 如何使用 mpld3 创建实时绘图

javascript - 保存 FCM 数据库消息的时间戳

ios - 如何从丰富的通知操作将数据发布到 firestore?

android - 创建 FCM 主题需要很长时间才能在控制台中显示

c# - 使用 jQuery $.Ajax 将 DTO 连同附加参数传递给 WebMethod

javascript - Racket(方案)中的arguments.callee?