FCM推送设备已接收,但Firebase控制台报告无数据
FCM推送正常接收但控制台报告无数据排查方案
问题背景
我使用Firebase Cloud Messaging(FCM)推送通知已有5-6天,设备能够正常接收推送通知,但Firebase控制台的报告中未显示任何数据。我使用的是Firebase Messaging的sendToDevice()方法,Payload如下:
"payload": { "data": { "appRedirectionURL": "/dashboard", "url":"/dashboard", "title": "Test 1", "body": "hello", "pushMessage":"test", "inAppNotificationTitle":"testing ", "inAppNotifactionBody":"hello" } },
报告页面截图:
可能的原因及解决办法
- Payload缺少
notification字段:FCM控制台报告默认统计带有notification字段的推送消息。你当前的Payload仅包含data字段,这类消息属于数据消息,FCM不会自动统计其送达、展示数据。调整Payload添加notification字段即可让控制台正常统计,示例如下:"payload": { "notification": { "title": "Test 1", "body": "hello" }, "data": { "appRedirectionURL": "/dashboard", "url":"/dashboard", "pushMessage":"test", "inAppNotificationTitle":"testing ", "inAppNotifactionBody":"hello" } }, - 客户端未手动上报数据:如果必须使用纯
data消息,需要在客户端接收并展示通知后,手动调用FCM的统计接口上报事件(比如在FirebaseMessagingService的onMessageReceived方法中处理消息时,调用对应上报方法),否则控制台无法获取相关数据。 - 发送请求验证:确认
sendToDevice()请求的项目ID、API密钥正确,且请求返回的响应状态正常,确保消息确实被FCM服务器接收,排除因请求无效导致的统计遗漏。
内容的提问来源于stack exchange,提问作者mayank3503
相关产品推荐
相关产品推荐

