Firebase 通过一个请求发送多个通知数据

Firebase send multiple notifications data with one request

我使用 curl post 向 firebase 发送通知。我使用 registration_ids 向多个客户端发送 相同的 通知。但有时每个客户端的通知 title/body 是不同的。是否可以使用相同的请求发送 多个 具有不同 title/bodies 的通知?

换句话说,用 100 个请求轰炸 firebase 是个好主意吗?还是可以通过一个请求完成?

您所描述的内容可以在 sending a so-called HTTP batch request 的版本化 (/v1) REST API 中实现。这种请求本质上是把很多HTTP请求合并成一个请求,也就是说每条消息确实可以不同。

从链接的文档中,这是请求的示例:

--subrequest_boundary
Content-Type: application/http
Content-Transfer-Encoding: binary
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

POST /v1/projects/myproject-b5ae1/messages:send
Content-Type: application/json
accept: application/json

{
  "message":{
     "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
     "notification":{
       "title":"FCM Message",
       "body":"This is an FCM notification message!"
     }
  }
}

...

--subrequest_boundary
Content-Type: application/http
Content-Transfer-Encoding: binary
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

POST /v1/projects/myproject-b5ae1/messages:send
Content-Type: application/json
accept: application/json

{
  "message":{
     "token":"cR1rjyj4_Kc:APA91bGusqbypSuMdsh7jSNrW4nzsM...",
     "notification":{
       "title":"FCM Message",
       "body":"This is an FCM notification message!"
     }
  }
}
--subrequest_boundary--

如果您将请求保存在名为 batch_request.txt 的文件中,则可以使用 curl 发送此请求:

curl --data-binary @batch_request.txt -H 'Content-Type: multipart/mixed; boundary="subrequest_boundary"' https://fcm.googleapis.com/batch