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 推播通知服務 (APNs)
    • 網頁應用程式的網路推播通訊協定

  4. 使用者裝置上的 FCM SDK,會根據應用程式的前景/背景狀態和任何相關應用程式邏輯,顯示通知或處理訊息。

生命週期流程

  • 註冊裝置以接收 FCM 訊息。用戶端應用程式執行個體會註冊接收訊息,並取得可唯一識別應用程式執行個體的註冊權杖。
  • 傳送及接收下游訊息
    • 傳送訊息。應用程式伺服器會將訊息傳送至用戶端應用程式:
      1. 在「通知」撰寫工具或信任的環境中撰寫訊息,然後將訊息要求傳送至 FCM 後端。
      2. FCM 後端會收到訊息要求、產生訊息 ID 和其他中繼資料,然後傳送至平台專屬的傳輸層。
      3. 裝置連上網路後,系統會透過平台專屬的傳輸層將訊息傳送至裝置。
      4. 裝置上的用戶端應用程式會收到訊息或通知。