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

Android端Firebase通知仅调试模式生效,运行/安装APK无法接收求助

Android调试模式下Firebase通知接收问题排查方案
  • 确认Firebase控制台已添加调试版SHA-1指纹:
    调试APK使用Android Studio默认调试签名密钥,需将该密钥的SHA-1指纹添加到Firebase项目设置中。可通过命令keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android获取调试SHA-1,添加后重新下载google-services.json替换项目文件并同步gradle。

  • 检查通知渠道配置:
    Android 8.0及以上系统要求必须创建通知渠道才能显示通知。确保应用启动时调用NotificationManager.createNotificationChannel()方法创建对应渠道,调试模式下需保证该代码正常执行。

  • 关闭Android Studio的Instant Run功能:
    Instant Run的增量编译机制可能导致FCM服务初始化异常。进入设置(Settings > Build, Execution, Deployment > Instant Run),关闭所有相关选项后重新运行应用。

  • 验证FCM相关API状态:
    登录谷歌云控制台,找到对应Firebase项目的API库,确认**Cloud Messaging API (Legacy)**处于启用状态,部分调试环境依赖该API完成推送。

  • 检查设备通知权限:
    Android 13及以上系统需动态申请POST_NOTIFICATIONS权限,调试时可先手动在设备设置中为应用开启通知权限,或在代码中添加权限申请逻辑。

  • 通过Logcat定位问题:
    过滤FirebaseMessaging标签,查看是否有消息接收日志,或初始化失败、权限不足等错误信息。若推送控制台显示发送成功但设备无日志,需排查设备网络或FCM服务连接问题;若有日志但无通知弹出,需检查通知构建逻辑。

  • 确认测试推送的消息类型:
    若发送的是数据消息,需在FirebaseMessagingService的onMessageReceived方法中自行处理并构建通知;若为显示消息,FCM SDK会自动处理,但应用在前台时默认不会弹出,需重写onMessageReceived手动触发通知显示。

内容的提问来源于stack exchange,提问作者Francisco Javier Valero Moreno

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:30:32