您的伺服器環境和 FCM
Firebase Cloud Messaging 的伺服器端由兩個元件組成:
- Google 提供的 FCM 後端。
- 執行伺服器邏輯的應用程式伺服器或其他信任的伺服器環境,例如 Cloud Functions for Firebase 或 Google 代管的其他雲端環境。
應用程式伺服器或受信任的伺服器環境會將訊息要求傳送至 FCM 後端,接著該後端就會將訊息轉送至在使用者裝置上執行的用戶端應用程式。
信任的伺服器環境需求
應用程式伺服器環境必須符合下列條件:
- 能夠將格式正確的訊息要求傳送至 FCM 後端。
- 能夠處理要求,並使用 指數輪詢重新傳送要求。
- 能夠安全地儲存伺服器授權憑證和用戶端註冊權杖。
選擇伺服器選項
您必須決定與 FCM 伺服器互動的方式:使用 Firebase Admin SDK 或原始通訊協定。Firebase Admin SDK 支援多種熱門程式設計語言,且提供方便的驗證和授權方法,因此是建議採用的方法。
與 FCM 伺服器互動的選項包括:
- Firebase Admin SDK 支援 Node、Java、Python、C# 和 Go。
- FCM HTTP v1 API,這是具備安全授權和靈活 跨平台訊息傳遞功能的 REST API (Firebase Admin SDK 是根據此協定設計,並提供所有內在優勢)。
FCM 的「Firebase Admin SDK」
管理員 FCM API 會處理後端的驗證作業,並協助您傳送訊息及管理主題訂閱項目。您可以透過 Firebase Admin SDK 執行下列操作:
- 傳送訊息給個別裝置
- 將訊息傳送至與一或多個主題相符的主題和條件陳述式。
- 讓裝置訂閱及取消訂閱主題
- 建構專為不同目標平台量身訂做的訊息酬載
Admin Node.js SDK 提供傳送訊息至裝置群組的方法。
如要設定 Firebase Admin SDK,請參閱將 Firebase Admin SDK 新增至伺服器。如果您已經有 Firebase 專案,請先新增 SDK。此外,請務必在專案的 Cloud Messaging 設定頁面中啟用 Cloud Messaging API。安裝 Firebase Admin SDK 後,您就可以開始編寫邏輯來建構傳送要求。
FCM 伺服器通訊協定
FCM 為偏好原始伺服器通訊協定的開發人員提供 FCM HTTP v1 API。
如要傳送訊息,應用程式伺服器會發出 POST 要求,其中包含 HTTP 標頭和由 JSON 鍵/值組成的 HTTP 主體。如要進一步瞭解標頭和主體選項,請參閱「建構應用程式伺服器傳送要求」