使用Thingsboard+FCM实现推送通知遇Sender ID不匹配问题求助
问题:Thingsboard 3.6.3 结合 Firebase 推送通知时 Sender ID 不匹配,自研Flutter应用无法通过Thingsboard推送
背景信息
- 基于IoT应用,使用Thingsboard 3.6.3通知功能+Firebase实现推送通知,已测试1个月
- 开发环境:Android Studio + Flutter框架
问题现象
- 用Thingsboard官方Flutter应用测试,推送功能完全正常
- 自研Flutter应用接入后,Thingsboard端抛出**"Sender ID mismatch"**错误
- 可通过Firebase控制台直接给自研应用发通知,但无法通过Thingsboard触发推送
排查与修复建议
1. 全链路 Sender ID 一致性校验
- 从Firebase控制台获取正确Sender ID:进入项目设置 → 云消息传递,复制
Cloud Messaging API (Legacy)下的Sender ID - 检查Thingsboard配置:进入系统设置 → 通知服务 → Firebase,确保填入的
Sender ID与Firebase的完全一致(注意无空格、大小写或字符错误) - 验证自研应用配置:确认
google-services.json(Android)/GoogleService-Info.plist(iOS)是从对应Firebase项目下载的,其中gcm_defaultSenderId字段值必须和Thingsboard配置的Sender ID完全匹配
2. 应用端FCM令牌验证
- 在自研Flutter应用中打印获取到的FCM令牌,通过Firebase控制台的「令牌信息」工具验证该令牌归属的Sender ID是否与目标一致
- 检查
firebase_messaging包版本:确保使用的版本与Thingsboard 3.6.3兼容(建议参考Thingsboard官方文档的依赖版本说明)
3. Thingsboard服务端配置验证
- 查看Thingsboard的系统日志,确认
Sender ID mismatch错误是在设备注册阶段还是推送请求阶段触发,缩小问题范围 - 检查Firebase服务账号权限:确保Thingsboard配置的服务账号密钥拥有
Cloud Messaging Admin权限,具备发送推送请求的权限
内容的提问来源于stack exchange,提问作者Pooya MalekMohammad
相关产品推荐
相关产品推荐

