这个问题在这里已有答案:
我正在测试Firebase JSON以检查发送到新闻应用程序的通知的送达回执 . 我可以成功地将消息发送到Android应用程序而没有任何问题,我在我的Android应用程序上收到消息 . 但是,我想知道如何以及在哪里可以检查通知是否已成功发送到Android应用程序?
如何使用返回的 message_id
和/或 multicast_id
来获取通知的传递状态?我找不到使用Firebase检查交付状态的工作代码示例 . 是否有人使用JSON代码通过 message_id
和/或 multicast_id
或其他方式查询Firebase消息的传递状态? Firebase文档没有提供有关如何执行此操作的示例(或者我可能错过了示例) .
请参阅下面用于向Firebase新闻应用发送通知的Firebase JSON . 任何人的帮助都非常感谢 .
在 Headers 中我设置了授权 key=firebase_server_key
,内容类型设置为 application/json
{
"to" : "token received from firebase",
"notification" : {
"body" : "test",
"title" : "Alert",
"icon" : "myicon",
"delivery_receipt_requested": true
}
}
邮递员的输出:
{"multicast_id":7845213569874521,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:4853214789631%31bd1c9631bd1c96"}]}
2 回答
更新:
The Diagnostics Tool has been removed since Nov. 30, 2017:
确认@ user7410521在评论部分中说了什么 . 除了使用FCM Diagnostics Page之外,目前没有可用的API来使用
message_id
s /multicast_id
来检索所发送消息的传递状态的详细信息 . 还要记住,“诊断”页面仅在应用程序已发布时可用(对于Alpha测试或更高版本) .我注意到您在有效负载中包含了delivery_receipt_requested参数 . 接收消息确认应足以确定设备是否收到消息 .
虽然目前还没有API,但我也能找到答案 . 我尝试了一个工作方式 . 从服务器端PHP我发送FCM消息 . 让我介绍一下我是如何用PHP处理的 .
当我向一个设备发送消息时,我将返回与1进行比较 . 基于此,您可以进一步实现您的逻辑 .