我有一个数据库,其中保存了我必须使用 Firebase 云消息传递发送的消息列表。如果我想批量发送多达 100 条消息以提高效率,我如何了解数据库中的哪些消息已正确发送,哪些消息给我错误?
我已经看到错误响应的响应是这样的:
error: {"error":{"code":400,"message":"Invalid condition expression provided.","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"message.condition","description":"Invalid condition expression provided."}]},{"@type":"type.googleapis.com/google.firebase.fcm.v1.FcmError","errorCode":"INVALID_ARGUMENT"}]}}
对于接受的消息,我们有这样的东西:
id: projects/id_project/messages/0:1563809489349852%31bd1c9631bd1c96
如何了解哪个消息有错误,以便我可以尝试再次发送或处理该错误。此外,我甚至想了解正确发送了哪条消息。
有什么建议吗?
提前谢谢。
响应的顺序对应于批处理中输入消息的顺序。从 Java Admin SDK 的 API 文档中:
通过调用返回值
getResponses()
得到的响应列表对应于输入消息的顺序。
对于支持 FCM 批量消息传递的管理 SDK 的其他实现也是如此。