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

Does FCM (web) use WebSocket for the recipient of messages?

我只是想知道 "FCM" 在网络上是如何真正运作的。 它使用 websocket 还是内置功能 浏览器 (chrome,firefox ,...)

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

FCM 服务器协议 目前 FCM 提供这些原始服务器协议:

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

您的应用服务器可以单独或串联使用这些协议。因为它是最 up-to-date 和最灵活的向多个平台发送消息的方式,所以在可行的情况下推荐使用 FCM HTTP v1 API。如果您的要求包括从设备到服务器的上游消息传递,则需要实施 XMPP 协议。

Please visit About Firebase Cloud Messaging Server | Firebase for more details,https://firebase.google.com/docs/cloud-messaging/server#choose。希望对你有帮助。

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

传递 Web 推送通知涉及三个角色,还有第四个可选的高级功能组件。

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

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

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

另外,可以将 SDK(OS 客户端库软件开发工具包)添加到 Web 应用程序以扩展细分和分析功能。