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

Android Studio Arctic Fox下Firebase注册令牌未在Logcat显示如何解决

FCM无Token打印问题解决方案
  • Manifest服务配置错误:你当前配置的com.google.firebase.INSTANCE_ID_EVENT是旧版Firebase实例ID的广播动作,适配firebase-messaging:22.0.0版本需要替换为正确的消息事件动作,修改manifest中的service配置如下:
<service android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>
  • 应用包名不匹配:确认app模块build.gradle中的applicationId与Firebase控制台注册应用时填写的包名完全一致,包名不匹配会导致FCM校验失败,无法生成token。
  • 缺少google-services.json文件:确认从Firebase控制台下载的google-services.json文件已经放到app模块的根目录下,该文件包含应用和Firebase关联的核心配置,缺失会导致FCM初始化失败。
  • 设备缺少谷歌服务框架(GMS):FCM完全依赖谷歌移动服务运行,你使用的Android 6.0.1实体设备如果是国内发售的机型,大概率没有预装GMS,无法运行FCM相关逻辑。可先安装GMS套件,或使用海外版原生系统设备、谷歌官方模拟器测试。
  • 网络限制问题:FCM获取token需要连接谷歌服务器,国内网络环境下需要使用可正常访问谷歌服务的网络,否则请求会超时失败,无法返回token。
  • 未主动触发token获取逻辑:onNewToken仅会在token首次生成、token刷新的时候触发回调,你可以在应用启动页的Activity中主动调用获取token的方法,直接打印日志验证:
FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (!task.isSuccessful()) {
                Log.w("Token异常", "获取FCM注册token失败", task.getException());
                return;
            }
            String token = task.getResult();
            Log.d("My token", "当前获取到的Token:" + token);
        }
    });
  • Logcat过滤配置错误:确认Logcat已选中当前应用进程,日志级别选择Debug,过滤关键字输入My token,避免日志被其他内容覆盖或被过滤规则拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:36:04