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

Flutter集成Firebase Cloud Messaging时出现TOO_MANY_REGISTRATIONS错误

解决Flutter中Firebase Cloud Messaging的TOO_MANY_REGISTRATIONS错误

你遇到的错误日志如下:

E/FirebaseInstanceId(29913): Topic sync or token retrieval failed on hard failure exceptions: TOO_MANY_REGISTRATIONS. Won't retry the operation.

这个错误是由于同一设备生成了过多的Firebase注册令牌,导致Firebase服务器拒绝新请求,以下是具体解决步骤:

  • 重置Firebase令牌
    先删除旧令牌再重新获取,在Flutter中可以实现如下方法:

    import 'package:firebase_messaging/firebase_messaging.dart';
    
    Future<void> resetFirebaseToken() async {
      final oldToken = await FirebaseMessaging.instance.getToken();
      if (oldToken != null) {
        await FirebaseMessaging.instance.deleteToken();
      }
      final newToken = await FirebaseMessaging.instance.getToken();
      print('重新获取的令牌: $newToken');
    }
    

    调用该方法后重启应用,再尝试订阅主题或获取令牌。

  • 清理设备上的应用残留
    卸载设备上所有该应用的测试/调试版本,确保没有重复安装的实例,然后重新安装最新版本的应用包。

  • 检查Firebase配置文件
    确认Android的google-services.json和iOS的GoogleService-Info.plist完全匹配当前Firebase项目,不要混用其他项目的配置文件。

  • 优化令牌请求逻辑
    避免在代码中频繁调用getToken(),比如不要每次启动应用都重复请求。可以将令牌存储到本地存储(如SharedPreferences),仅在令牌失效或需要更新时重新获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:52:37