FCMv1在Azure通知中心无法正常工作,请求协助排查
Azure通知中心FCMv1测试通知排查方案
很多用户已经成功通过Azure门户发送FCMv1测试通知,你的问题大概率出在配置细节或测试环节,下面是几个关键排查方向:
核对FCMv1核心配置
- 确认Azure通知中心的FCMv1设置里,上传的服务账号JSON文件是Firebase项目对应的有效密钥,且文件中的
project_id和Firebase控制台的项目ID完全匹配(大小写、字符都不能错) - 检查Firebase项目里的**Cloud Messaging API (V1)**是否已启用,同时确保服务账号拥有
Cloud Messaging Admin权限,权限不足会直接导致发送失败
- 确认Azure通知中心的FCMv1设置里,上传的服务账号JSON文件是Firebase项目对应的有效密钥,且文件中的
验证目标设备有效性
- 测试时输入的设备令牌必须是当前应用实例的有效令牌,过期令牌、跨环境(测试/生产)的令牌都收不到通知
- 确认设备联网正常,且应用的通知权限未被禁用;Android设备还要检查对应的通知渠道是否未被静音或删除
检查门户测试的通知格式
- 门户测试时一定要选FCM v1模板,别选错成旧版FCM
- 通知payload必须符合FCMv1的JSON规范,比如必须包含
message节点,下面嵌套notification或data,示例正确格式:{ "message": { "notification": { "title": "测试通知", "body": "Azure门户测试消息" }, "token": "你的设备令牌" } } - 别在payload里加无效字符或FCMv1不支持的字段,格式错了会被直接拒绝
对比代码发送与门户发送的差异
- 看你提供的代码发送记录:
,核对代码里用的endpoint、服务账号权限、payload格式,和门户的配置是不是完全一致 - 确认代码和门户测试用的是同一个通知中心Hub,别搞混了不同环境的Hub
- 去Azure通知中心的监控>日志里搜门户发送的请求,看有没有错误码(比如401权限错、400格式错),日志能直接定位问题原因
- 看你提供的代码发送记录:
其他常见坑
- 检查Firebase项目有没有触发配额限制,短时间发太多会被限流
- 试试重新生成设备令牌再测试,有时候令牌会因为应用重装、系统更新失效
- 确认Azure通知中心的定价层,免费层有发送量限制,超了也发不出去
内容的提问来源于stack exchange,提问作者ARUN PRASAD S
相关产品推荐
相关产品推荐

