當然測試可以直接在firebase console上發送
不過最終的應用還是會希望在自己的後台程式在指定的時間
發送推播訊息給指定控制的設備
FCM 本身有提供 API可以執行
以下說明
1. api url:https://fcm.googleapis.com/fcm/send
2.驗證
在heaer以Authorization 欄位帶入伺服器金鑰
可以在firebase設定/cloudMessage/金鑰 或 舊版伺服器金鑰
firebase每個帳戶可以開多個專案(project))每個專案有各自的伺服器金鑰
每個專案下可以開多個應用程式,這些應用程式共用這專案下的資訊
2.傳送的目標
to 與registration_ids只能擇一使用
傳送給單一device使用to,一次傳送多個則使用registration_ids
其實是可以統一都使用一次傳送多個則使用registration_ids 即可
device的token 是在device在連上fcm service時可以取到
以此token用來辨識device
3.傳送訊息類型
notification背景接收的推播
也就是app在背景或未被開啟時會接收到的訊息
訊息有固定的格式
data前景接收
推播傳送的資料可以自訂key-value方式設定
ex:
method: post
header:
Content-Type:application/json
Authorization: key= "" 這裏可以透過firebase設定/cloudMessage/金鑰 或 舊版伺服器金鑰
body
"to": 要傳送的device Token,
"registration_ids":[], // 當要傳送多個device
"collapse_key" : "type_a",
"data":{
"user": "oz",
"info": "test"
},
"notification" : {
"body" : "test4!",
"title" : "test4",
"icon" : ""
}
沒有留言:
張貼留言