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

Flutter集成Firebase Messaging获取Token时遇AUTHENTICATION_FAILED错误求助

解决Flutter Firebase Messaging获取Token时的AUTHENTICATION_FAILED错误

针对你遇到的AUTHENTICATION_FAILED错误以及ProviderInstaller加载警告,可按以下方向排查解决:

1. 修复Google Play服务ProviderInstaller问题

  • 确保使用的模拟器/设备搭载带Google Play服务的系统镜像(如Android Studio模拟器选择「Google APIs」或「Google Play」类型的镜像),纯Android镜像缺少必要的Google服务组件。
  • 检查设备上的Google Play服务是否为最新版本,模拟器可通过Google Play应用内更新,实体设备直接在应用商店更新。

2. 验证Firebase项目配置

  • 确认google-services.json文件已正确放置在Android项目的android/app目录下,且文件中的包名与Firebase控制台注册的应用包名完全一致。
  • 登录Firebase控制台,检查当前项目是否已启用Cloud Messaging服务,且服务器密钥配置正常。

3. 优化Token获取逻辑(避免崩溃+处理重试)

你的代码中直接强制解包token!,若Token获取失败会引发额外崩溃,建议添加错误捕获与重试机制:

void getToken() async {
  try {
    String? token = await FirebaseMessaging.instance.getToken();
    if (token != null) {
      print("this is the token: $token");
    } else {
      print("Failed to get token: token is null");
    }
  } catch (e) {
    print("Error fetching FCM token: $e");
    // 网络波动时延迟重试
    Future.delayed(const Duration(seconds: 3), getToken);
  }
}

4. 检查依赖兼容性

确保pubspec.yaml中Firebase相关依赖版本兼容且为稳定版,示例配置:

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^2.15.0
  firebase_messaging: ^14.6.5
  firebase_auth: ^4.10.0
  cloud_firestore: ^4.8.4

执行flutter pub get更新依赖后,清理项目缓存(flutter clean)再重新运行。

5. 排查网络与认证环境

  • 模拟器/设备需能正常访问Google服务,避免代理或防火墙阻断连接。
  • 若项目启用了Firebase安全规则,确保设备具备访问Cloud Messaging的权限;可尝试用已登录Firebase Auth的用户测试Token获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:55:19