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

Flutter Cloud Messaging无法向持有token的设备发送消息

Firebase FCM debug正常、release模式无法接收消息解决方案
  • 校验Release包签名指纹
    • debug模式默认使用本地debug.keystore的签名指纹,release包使用独立的发布签名文件,二者指纹不匹配会导致Firebase拒绝release包的FCM请求。需要将release签名对应的SHA-1、SHA-256指纹添加到Firebase控制台项目设置的对应应用配置中,重新下载google-services.json(Android)或GoogleService-Info.plist(iOS)替换到项目工程后重打release包。
  • 检查代码混淆/裁剪配置
    • Android端如果release模式开启了minifyEnabled true或shrinkResources true,需要在proguard-rules.pro中添加FCM专属混淆规则,避免相关类被误裁剪:
    -keep class com.google.firebase.messaging.** { *; }
    -keep class com.google.android.gms.common.** { *; }
    
    • iOS端需要确认Push Notifications、Background Modes下的Remote notifications能力,在release编译配置下也处于开启状态,不要仅配置debug模式。
  • 确认测试使用的Token对应release包
    • 不同签名、不同编译配置的应用生成的FCM Token完全独立,不要使用debug模式下获取的Token给release包发测试消息,打release包后先打印获取到的最新Token,再用该Token到Firebase控制台发测试消息验证。
  • 检查通知权限授权状态
    • 大部分移动端系统会默认拦截未主动申请通知权限的应用的推送,需要确认release包启动后已主动申请通知动态权限,且用户已完成授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:18:04