Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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. 在設備上,客戶端應用程序接收消息或通知。