通过Firebase Cloud Messaging发送邮件时,来自FCM服务器的回复会告知请求的处理,但不会告知是否已将其传送到设备。
因此,对于离线设备,我们如何才能知道消息是否已发送?
例如,
{" multicast_id":7138524052704576147,"成功":1,"失效":0," canonical_ids":0,&# 34;结果":[{" MESSAGE_ID":" 0:1472139369768700%d42090b5d42090b5"}]} 1
以上JSON是来自FCM服务器的响应请求,其中time_to_live:0和优先级:' high'但情况是我想要收到消息的设备是离线的。
有没有办法检测设备是否处于离线状态?
答案 0 :(得分:0)
是。如果您将FCM API密钥与开发者控制台相关联,则可以访问View FCM statistics and issues。特别是:
使用FCM诊断程序,您可以对通过FCM发送的邮件进行故障排除。您可以通过注册令牌或消息ID查找消息。
...
您可以使用注册令牌或邮件ID查找通过Firebase Cloud Messaging发送的邮件。
返回的message status表示邮件是已发送,存储,过期等等。
请注意,只有在您提出最近的请求时才应使用此诊断工具。这是开发者控制台在FCM诊断部分中所说的内容:
这不是一个实时诊断工具,显示的数据可能会过时几分钟,并且只保留几天。如果您没有看到预期的数据,请稍后再试。