在阅读了100的线程和googling之后,我仍然对下面的错误消息感到困惑。
目前,我正在使用Firebase消息传递,并且在非常短的时间内,我试图从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根据其他帖子和答案,这是“太多安装在设备上的应用程序被注册到C2DM/GCM/FCM”的原因。我还读到了“安装在设备上的最大100 GCM/FCM注册应用程序”的限制。
但这并不是简单的事实,对吗?我的意思是,这可能是真的,但这并不是这个问题的全部答案。我不断地工作和测试不同的设备,我目前的设备没有注册到FCM 100应用程序。事实上,我的设备根本没有安装100个应用程序,远远不是它!
是否有任何方法来管理以前注册的设备和令牌?我试图运行以下代码,但没有任何结果:
FirebaseInstanceId.getInstance().deleteInstanceId();我试图确定来自不同来源(包括文档)的信息,但不太了解这实际上是如何工作的。不久前,我在老C2DM上也遇到了同样的问题,最近也遇到了同样的问题。几天前,我已经与Firebase合并,转而使用它的特性,而这正是改进它的想法,但它仍然回荡在我的脑海中。
发布于 2018-01-25 09:44:44
在与谷歌团队直接交谈后,我从他们那里得到了以下答案:
小组确认并澄清了他们的数据,表明该设备实际上不是一个正常的设备,这要么是:
如果这是一个真实的设备,最好的解决方法是工厂重置为设备的真实系统映像。由于这个设备目前处于2或3中,您介意工厂重新设置该设备吗?如果问题仍然存在,请告诉我们。
我已经对我的设备进行了工厂复位,这个问题已经解决了。我还是不明白这到底是怎么回事,以及为什么。
https://stackoverflow.com/questions/47529977
复制相似问题