通过 firebase 云消息检查设备是不是离线
Posted
技术标签:
【中文标题】通过 firebase 云消息检查设备是不是离线【英文标题】:Check if device is offline with firebase cloud messaging通过 firebase 云消息检查设备是否离线 【发布时间】:2016-08-25 16:32:44 【问题描述】:当通过 Firebase Cloud Messaging 发送消息时,来自 FCM 服务器的响应会告知请求的处理过程,但不会告知请求是否已发送到设备。
那么,对于离线设备,我们如何知道消息是否已送达?
例如,
"multicast_id":7138524052704576147,"success":1,"failure":0,"canonical_ids":0,"results":["message_id":"0:1472139369768700%d42090b5d42090b5"]1
上面的 JSON 是 FCM 服务器对 time_to_live:0 和 priority:'high' 请求的响应,但情况是我要接收消息的设备处于脱机状态。
有什么方法可以检测设备是否离线?
【问题讨论】:
【参考方案1】:是的。如果您将 FCM API 密钥与开发者控制台相关联,您可以访问 View FCM statistics and issues。特别是:
使用 FCM 诊断,您可以对通过 FCM 发送的消息进行故障排除。您可以通过注册令牌或消息 ID 查找消息。
…
您可以使用注册令牌或消息 ID 查找通过 Firebase 云消息传递发送的消息。
返回的message status表示消息是否已投递、存储、过期等
请注意,只有在您最近提出请求时才应使用此诊断工具。这就是开发者控制台在 FCM 诊断部分中所说的内容:
这不是实时诊断工具,显示的数据可能会过时几分钟,并且只保留几天。如果您没有看到预期的数据,请稍后再试。
【讨论】:
好像 google 禁用了这个功能,我们在 Google Play Console 中看不到它以上是关于通过 firebase 云消息检查设备是不是离线的主要内容,如果未能解决你的问题,请参考以下文章