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

Android release构建无法接收Firebase控制台FCM推送通知问题

问题描述

debug构建版本可正常接收Firebase控制台下发的FCM通知,但Android release构建版本无法接收FCM推送
已完成的配置项:

  • 已在Firebase控制台添加SHA-1密钥,下载google-services.json文件放置到Android项目的app目录下
  • 已在ProGuard规则中添加如下配置:
    -keep class com.google.firebase.** { *; }
    
  • 已在AndroidManifest中添加服务配置:
    <service
       android:name=".fcm.MyFirebaseMessagingService"
       android:enabled="true"
       android:exported="false">
       <intent-filter>
              <action android:name="com.google.firebase.MESSAGING_EVENT" />
       </intent-filter>
    </service>
    

其余相关依赖均已正确添加,debug构建下推送功能完全正常,release构建下始终无法接收推送。

排查解决方案

按优先级逐一排查以下配置疏漏:

  • 补全签名密钥配置
    绝大多数此类问题都是签名密钥配置不全导致:
    • 不要只加SHA-1,必须同时把release签名的SHA-1、SHA-256两个哈希值都添加到Firebase控制台的项目设置中,Firebase当前的服务校验需要两个值
    • 如果上架Google Play并开启了Play应用签名,必须额外添加Google Play控制台给出的应用签名密钥的两个哈希值,仅添加本地生成的上传密钥哈希无效
    • 密钥添加完成后,重新下载最新的google-services.json替换项目中的旧文件
  • 补全R8/ProGuard混淆规则
    你当前配置的规则只保留了Firebase官方库的类,没有保留你自定义的消息服务类。release构建开启代码压缩后,R8会将自定义的MyFirebaseMessagingService重命名,甚至判定为无用代码直接移除,导致FCM消息无法回调到你的服务。在混淆规则文件中追加以下配置:
    # 保留自定义FCM消息服务
    -keep class 替换为你的应用包名.fcm.MyFirebaseMessagingService { *; }
    # 如果使用自定义实体类解析FCM消息负载,也要保留对应类,避免混淆导致JSON解析失败
    -keep class 替换为你的应用包名.fcm.entity.** { *; }
    
  • 校验构建变体配置匹配
    如果项目配置了多渠道、多构建Flavor,确认release变体对应的google-services.json和当前release包的包名、签名完全匹配,不要错用debug环境的配置文件。
  • 检查合并后的最终Manifest
    打开构建产物目录下的app/build/intermediates/merged_manifests/release/路径,查看最终打包进APK的Manifest文件,搜索com.google.firebase.MESSAGING_EVENT,确认该intent-filter只绑定你自定义的MyFirebaseMessagingService,没有被其他引入的依赖库中的服务抢占覆盖。
  • 校验权限与网络配置
    • 若为release构建单独配置了networkSecurityConfig网络安全规则,确认没有拦截FCM服务的相关域名
    • 安卓13(API 33)及以上版本需要动态申请POST_NOTIFICATIONS通知权限,部分ROM对debug包默认授予该权限,但对release包默认禁用,先到系统应用设置页确认当前release包的通知权限已开启
    • 检查系统省电、后台运行限制,确认没有拦截应用的FCM后台进程
  • 用单设备定向推送验证
    不要直接用主题推送、全量推送测试,先在release包中打印当前生成的FCM注册token,在Firebase控制台的测试推送功能中填入该token定向发消息,先确认token本身有效、服务端可以正常识别到设备。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:57:22