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)
    • 網頁應用程式的網路推送通訊協定

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

生命週期流程

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