Firebase Demo Day is here!
Watch demos of how to build and grow AI-powered, full stack apps using the best of Google.
FCM 架構概述
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
FCM 依賴以下一組建置、傳輸和接收訊息的元件:
用於撰寫或建構訊息請求的工具。通知編輯器提供了一個基於 GUI 的選項來建立通知請求。為了實現完全自動化並支援所有訊息類型,您必須在支援 Firebase Admin SDK 或 FCM 伺服器協定的受信任伺服器環境中建置訊息請求。此環境可以是 Cloud Functions for Firebase、App Engine 或您自己的應用程式伺服器。

FCM 後端(以及其他功能)接受訊息請求,透過主題執行訊息扇出,並產生訊息元資料(例如訊息 ID)。
平台級傳輸層,將訊息路由到目標設備,處理訊息傳遞,並在適當的情況下應用特定於平台的配置。此傳輸層包括:
- 適用於具有 Google Play 服務的 Android 裝置的 Android 傳輸層 (ATL)
- 適用於 Apple 裝置的 Apple 推播通知服務 (APN)
Web 應用程式的 Web 推送協議
使用者裝置上的 FCM SDK,根據應用程式的前台/背景狀態和任何相關應用程式邏輯顯示通知或處理訊息。
生命週期流程
- 註冊設備以接收來自 FCM 的訊息。用戶端應用程式的執行個體註冊以接收訊息,從而取得唯一標識該應用程式實例的註冊令牌。
- 發送和接收下游訊息。
- 發送一個訊息。應用程式伺服器向客戶端應用程式發送訊息:
- 在通知編輯器或受信任的環境中編寫訊息,並將訊息請求傳送到 FCM 後端。
- FCM後端接收訊息請求,產生訊息ID和其他元數據,並將其傳送到平台特定傳輸層。
- 當裝置在線上時,訊息會透過特定於平台的傳輸層傳送到裝置。
- 在設備上,客戶端應用程式接收訊息或通知。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2023-11-17 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]