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

Android集成FCM获取Token失败(FIS_AUTH_ERROR)求助

解决FCM获取Token时的FIS_AUTH_ERROR问题

问题还原

集成FCM后调用FirebaseMessaging.getInstance().getToken()获取Token失败,Logcat抛出FIS_AUTH_ERROR异常,已添加依赖和Firebase控制台下载的google-services.json文件,Activity和Service代码逻辑无明显错误。

解决方案

以下是针对性的排查和修复步骤:

  • 核对google-services.json文件
    确保文件是从Firebase控制台对应项目下载,且文件内的package_name与应用的applicationId完全一致;文件需放在app模块的根目录下,避免放错位置;检查api_key、project_id等核心字段是否完整有效。

  • 修复依赖配置问题
    原依赖存在重复声明和版本不匹配问题,使用Firebase BOM时无需单独指定组件版本,BOM会统一管理所有Firebase组件版本。修改后的依赖如下:

    //Firebase
    implementation platform('com.google.firebase:firebase-bom:31.1.0')
    implementation 'com.google.firebase:firebase-messaging'
    implementation 'com.google.firebase:firebase-analytics'
    // 移除重复的firebase-analytics依赖,play-services-analytics已被firebase-analytics替代,无需额外添加
    

    同时确保项目根目录build.gradle中的Google服务插件版本与BOM兼容,推荐使用com.google.gms:google-services:4.3.15及以上版本。

  • 补全AndroidManifest配置
    确认FirebaseMessagingService已正确注册到清单文件:

    <service
        android:name=".MyFcmService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    

    确保应用声明了网络权限:

    <uses-permission android:name="android.permission.INTERNET" />
    
  • 清理缓存并重新构建
    执行Clean Project -> Rebuild Project;清除应用缓存数据并卸载重装;重启Android Studio和测试设备。

  • 检查设备Google Play服务版本
    真机需确保Google Play服务为最新版本;模拟器需选择包含Google Play的系统镜像,旧版本服务会导致认证失败。

  • 验证Firebase项目配置
    登录Firebase控制台确认项目已启用Cloud Messaging服务;检查项目设置中是否添加了应用对应的SHA-1和SHA-256签名指纹(调试版和发布版需分别添加对应指纹)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:47:01