在阅读了100个线程和谷歌搜索后,我仍然对以下错误消息感到困惑.
目前,我正在使用Firebase云消息传递,并且在很短的时间内,我试图从Firebase获取令牌,以便能够将消息发送到我的服务器.我尝试过这两种方法:
String token = FirebaseInstanceId.getInstance().getToken(mySenderId, "FCM");
String token = FirebaseInstanceId.getInstance().getToken();
Run Code Online (Sandbox Code Playgroud)
所以在日志中,我读到了这个:
E/FirebaseInstanceId: Token retrieval failed: TOO_MANY_REGISTRATIONS
java.io.IOException: TOO_MANY_REGISTRATIONS
Run Code Online (Sandbox Code Playgroud)
根据其他帖子和答案,这是"在C2DM/GCM/FCM上注册的设备上安装的应用程序太多"的原因.我还读到"设备上安装了Max 100 GCM/FCM注册应用程序"的限制.
但这不仅仅是真的,是吗?我的意思是,这可能是真的,但这不是这个问题的全部答案.我一直在使用不同的设备进行测试,而我目前的设备没有在FCM注册100个应用程序.事实上,我的设备甚至没有安装100个应用程序,远离它!
有没有办法管理以前注册的设备和令牌?我试图运行以下代码,没有任何运气:
FirebaseInstanceId.getInstance().deleteInstanceId();
Run Code Online (Sandbox Code Playgroud)
我试图确定来自不同来源(包括文档)的信息,但没有理解这实际上是如何工作的.我刚才和旧的C2DM有过同样的问题,最近也和GCM有过同样的问题.几天前我和Firebase合并使用了它的功能而不是改进的想法,但它仍然回应着我.
android firebase google-cloud-messaging firebase-cloud-messaging