获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

FCM 架构概述

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

FCM 依赖于以下一组构建、传输和接收消息的组件:

  1. 用于编写或构建消息请求的工具。通知编辑器提供了一个基于 GUI 的选项来创建通知请求。要完全自动化并支持所有消息类型,您必须在支持 Firebase Admin SDK 或 FCM 服务器协议的受信任服务器环境中构建消息请求。此环境可以是 Cloud Functions for Firebase、App Engine 或您自己的应用服务器。

    本页中描述的三个架构层的图表。

  2. FCM 后端(以及其他功能)接受消息请求,通过主题执行消息的扇出,并生成消息元数据,例如消息 ID。

  3. 平台级传输层,将消息路由到目标设备,处理消息传递,并在适当的情况下应用特定于平台的配置。该传输层包括:

    • 适用于具有 Google Play 服务的 Android 设备的 Android 传输层 (ATL)
    • 适用于 Apple 设备的 Apple 推送通知服务 (APN)
    • Web 应用程序的 Web 推送协议

  4. 用户设备上的 FCM SDK,根据应用程序的前台/后台状态和任何相关的应用程序逻辑显示通知或处理消息。

生命周期流程

  • 注册设备以接收来自 FCM 的消息。客户端应用程序的实例注册以接收消息,获得唯一标识应用程序实例的注册令牌。
  • 发送和接收下游消息
    • 发送一个消息。应用服务器向客户端应用发送消息:
      1. 消息是在通知编写器或受信任的环境中编写的,并且消息请求被发送到 FCM 后端。
      2. FCM 后端接收消息请求,生成消息 ID 和其他元数据,并将其发送到平台特定的传输层。
      3. 当设备在线时,消息通过特定于平台的传输层发送到设备。
      4. 在设备上,客户端应用程序接收消息或通知。