You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查FCM消息未送达问题?可通过返回的消息ID查询状态吗?

FCM消息接收异常排查方案

1. 用消息ID查询消息状态

可以通过你获取到的消息ID(格式如projects/xxxproject/messages/1720747275812907)调用FCM的messages.get接口查询消息后续状态。调用时需使用OAuth 2.0凭据授权,请求示例如下:

GET https://fcm.googleapis.com/v1/{name=projects/*/messages/*}

返回结果里的status字段会显示消息状态(如SUCCESS或FAILED),若为失败状态,还会附带error字段说明具体原因,比如设备令牌失效、应用未在后台运行、权限不足等,能直接帮你定位问题。

2. 排查Firebase项目配置差异

既然代码完全一致,重点检查两个项目的以下配置项:

  • API与权限:确认两个项目的Cloud Messaging API均已启用,且发送消息的服务账号拥有firebase.messaging.messages.send权限。
  • 应用配置文件:对比两个应用的google-services.json(安卓)或GoogleService-Info.plist(iOS),确保包名/Bundle ID、项目ID等信息与对应Firebase项目完全匹配,避免串用配置文件。
  • 设备端权限:检查无法接收消息的应用,是否在设备上开启了通知权限、后台刷新权限(iOS)或自启动权限(安卓),这些系统权限直接影响FCM消息的推送与接收。
  • 通知通道与APNs配置:如果发送的是通知消息,安卓端需确认通知通道配置正常;iOS端要检查APNs证书是否有效且已正确上传至Firebase控制台。

内容的提问来源于stack exchange,提问作者Bryant Harris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 07:12:09