Firebase Cloud Messaging 的伺服器端包含兩個元件:
- Google 提供的 FCM 後端。
- 您的應用程式伺服器或其他受信任的伺服器環境,例如 Cloud Functions for Firebase 或 Google 管理的其他雲端環境,用於執行伺服器邏輯。
應用程式伺服器或受信任的伺服器環境會將訊息要求傳送至 FCM 後端,然後將訊息轉送至使用者裝置上執行的用戶端應用程式。
信任的伺服器環境需求
應用程式伺服器環境必須符合下列條件:
- 能夠將格式正確的訊息要求傳送至FCM後端。
- 能夠處理要求,並使用指數輪詢重新傳送要求。
- 安全儲存伺服器授權憑證和用戶端註冊權杖。
Firebase 專案的必要憑證
視您實作的 FCM 功能而定,您可能需要 Firebase 專案的下列憑證:
憑證 | 說明 |
---|---|
專案 ID | Firebase 專案的專屬 ID,用於向 FCM v1 HTTP 端點發出的要求。這個值位於Firebase控制台的「設定」窗格中。 |
註冊權杖 | 用於識別每個用戶端應用程式例項的專屬權杖字串。單一裝置和裝置群組訊息傳送功能需要註冊權杖。請注意,註冊權杖必須保密。 |
寄件者 ID < | 建立 Firebase 專案時產生的專屬數值,可在 Firebase 控制台的「設定」窗格的「Cloud Messaging」分頁中查看。傳送者 ID 與專案編號相同。寄件者 ID 用於識別可將訊息傳送至用戶端應用程式的每個寄件者。 |
存取權杖 | OAuth 2.0 權杖的效期較短,可授權對 HTTP v1 API 的要求。這個權杖與 Firebase 專案所屬的服務帳戶相關聯。如要建立及輪替存取權杖,請按照「授權傳送要求」中的步驟操作。 |
選擇伺服器選項
您需要決定與 FCM 伺服器互動的方式:使用 Firebase Admin SDK 或 FCM HTTP v1 API。由於 Firebase Admin SDK 支援熱門程式設計語言,且提供處理驗證和授權的簡便方法,因此建議使用這種方式。
與 FCM 伺服器互動的選項包括:
FCM HTTP v1 API:REST API,具備安全授權機制和彈性的跨平台訊息傳送功能 (Firebase Admin SDK 以這個通訊協定為基礎,並提供所有內建優勢)。
Firebase Admin SDK
Firebase Admin SDK 可處理後端驗證,並協助傳送訊息及管理主題訂閱項目。使用 Firebase Admin SDK,你可以:
- 將訊息傳送至個別裝置
- 將訊息傳送至符合一或多個主題的主題和條件陳述式
- 將訊息傳送至裝置群組
- 訂閱及取消訂閱裝置的主題
- 建構適用於不同目標平台的訊息酬載
如要設定 Firebase Admin SDK,請參閱「將 Firebase Admin SDK 新增至伺服器」。如果您已有 Firebase 專案,請先新增 SDK。此外,請務必在專案的Cloud Messaging 設定頁面中,啟用 Firebase Cloud Messaging API (V1)。接著,安裝 Firebase Admin SDK 後,即可開始撰寫建構傳送要求的邏輯。
FCM HTTP v1 API
FCM 提供 FCM HTTP v1 API,供偏好原始伺服器通訊協定的開發人員使用。
如要傳送訊息,應用程式伺服器會發出 POST 要求,其中包含 HTTP 標頭和由 JSON 鍵值組成的 HTTP 主體。如要瞭解標頭和內文選項的詳細資訊,請參閱「使用 FCM HTTP v1 API 傳送訊息」。