Firebase令牌错误TOO_MANY_REGISTRATIONS

0qx6xfy6  于 2023-01-27  发布在  其他
关注(0)|答案(3)|浏览(71)

在阅读了100个线程和谷歌搜索后,我仍然对下面的错误消息感到困惑。
目前,我正在使用Firebase Cloud Messaging,短期内我尝试从Firebase获取令牌,以便能够向我的服务器发送消息。我尝试了以下两种方法:

String token = FirebaseInstanceId.getInstance().getToken(mySenderId, "FCM");

String token = FirebaseInstanceId.getInstance().getToken();

所以在日志里,我读到:

E/FirebaseInstanceId: Token retrieval failed: TOO_MANY_REGISTRATIONS
                                 java.io.IOException: TOO_MANY_REGISTRATIONS

根据其他帖子和答案,这是“设备上安装的应用程序太多,注册了C2 DM/GCM/FCM”的原因。我还读到过“设备上安装的最多100个GCM/FCM注册应用程序”的限制。
但这并不是简单的事实,不是吗?我的意思是,这可能是真的,但它不是这个问题的全部答案。我不断地工作和测试不同的设备,我目前的设备没有100个应用程序注册FCM。事实上,我的设备甚至没有100个应用程序安装在所有,远远没有!
有没有办法管理以前注册的设备和令牌?我试着运行下面的代码,但没有成功:

FirebaseInstanceId.getInstance().deleteInstanceId();

我试着从不同的来源(包括文档)获取信息,但没有运气去理解它是如何工作的。不久前,我在旧的C2 DM和最近的GCM上遇到了同样的问题。几天前,我与Firebase合并,使用它的特性,而不是改进它的想法,但它仍然在我身上回响。

vxqlmq5t

vxqlmq5t1#

在与谷歌团队直接交谈后,我从他们那里得到了以下答案:
团队确认并澄清了其数据,表明该器械并非真正的正常器械,这是:
1.虚拟设备(仿真器)重复使用次数过多
1.以自动化方式测试过多应用程序的真实的设备
1.使用系统分区的克隆映像自定义的真实的设备,克隆自其他设备
如果这是真实的设备,解决此问题的最佳方法是恢复出厂设置,恢复为设备的真实系统映像。由于此设备当前可能卡在2或3中,您是否介意将设备恢复出厂设置,并让我们知道问题是否仍然出现?
我已将设备恢复出厂设置,问题已解决。但我仍不清楚问题是如何出现的以及原因何在。

tjvv9vkg

tjvv9vkg2#

我怀疑这些测试来自谷歌机器人,我刚刚发布了我的应用程序,在firebase认证中,三个登录出现了看似虚假的电子邮件,如johnnniefernandez。39356@gmail.com。所有我怀疑是机器人的电子邮件都以句号和数字结尾,如“。39356”我来自巴西,我通过分析看到用户来自美国,只有3个,所以我知道这是测试,因为我还没有发布我在美国的应用程序。

9vw9lbht

9vw9lbht3#

我的应用程序正在内部测试中,我收到了向firebase crashlytics报告的这些错误,奇怪的是它发生在5个用户身上,这很奇怪,因为只有我可以访问这个应用程序。所以我认为这可能是谷歌的自动测试机器人。下面是日志

Non-fatal Exception: io.invertase.firebase.crashlytics.JavaScriptError: [messaging/unknown] java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: TOO_MANY_REGISTRATIONS
       at .getToken(address at index.android.bundle:1:905545)
       at .?anon_0_(address at index.android.bundle:1:1790016)
       at .next((native):0:0)
       at .asyncGeneratorStep(address at index.android.bundle:1:65498)
       at ._next(address at index.android.bundle:1:65769)
       at .tryCallOne(InternalBytecode.js:53:16)
       at .anonymous(InternalBytecode.js:139:27)
       at .apply((native):0:0)
       at .anonymous(address at index.android.bundle:1:191460)
       at ._callTimer(address at index.android.bundle:1:190409)
       at ._callReactNativeMicrotasksPass(address at index.android.bundle:1:190573)

更有趣的是,当这些崩溃被报告时,我并没有测试应用程序。
此外,当我在真实的设备(低端和高端设备)上打开我的应用时,我没有遇到任何报告的崩溃。
设备信息为:

Device
Brand:Google
Model:sdk_goog3_x86_64
Orientation: Portrait
RAM free: 2.01 GB
Disk free: 29.95 GB

Operating System
Version:Android 13
Orientation: Portrait
Rooted:No

相关问题