2019年9月6日 星期五

透過FCM API發送 firebase clound message(FCM) 推播訊息

最近在要使用FCM發送推播給客戶端
當然測試可以直接在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" : ""
  }

沒有留言: