開發 iOS App 經常使用推播功能,為了省下與 APNs 串接的步驟,通常會使用到 Firebase Cloud Messaging 的功能。 為了測試推播功能在 App 端是否正常運作,這邊本文記錄利用 Google Playground 模擬 Backend 對 Firebase API 發送推播請求的過程。
HTTP v1 API
利用 Google 的 OAuth 2.0 Playground 發送推播測試
https://developers.google.com/oauthplayground
STEP 1:選擇 Authorize 的 Scope
- Firebase Cloud Messaging API v1
https://www.googleapis.com/auth/firebase.messaging
按下 Authorize APIs 會導向至 Google 帳戶登入畫面,選擇可以存取 Firebase 專案的 Google 帳號
STEP 2:取得 Access Token
- 利用 STEP 1 取得的 Authorization Code 交換一組 Access Token 與 Refresh Token
- 可以勾選 Auto-Refresh ,會自動在 Access Token 過期時,利用 Refresh Token 取得一組新的 Access Token
STEP 3:發送 Messaging API
Playground 會在 Headers 自動帶入 AccessToken,無需額外添加,只需要設定好 Request Body,與 URL 的 Proejct ID
- HTTP METHOD : POST
- URL :
https://fcm.googleapis.com/v1/projects/YOUR-FIREBASE-PROJECT-ID/messages:send
- REQUEST BODY :
|
|
- 發送成功後會回傳
200 OK
並顯示該次的message id
- Firebase Project ID 可以在 專案設定 > 一般設定 找到
- Firebase_Token 是
firebase-ios-sdk
取得的 Token
Legacy API
舊版本的 API 可以直接發送測試推播,不經由登入驗證,但是在新建立的 Project 已經不支援,在舊的 Firebase Project 目前還能使用。
- METHOD :
POST
- URL :
https://fcm.googleapis.com/fcm/send
- HEADERS :
Authorization:key=你的firebase的伺服器金鑰
- REQUEST BODY :
|
|
伺服器金鑰可以在專案設定 > 雲端設定內找到