Firebase getToken返回旧的GCM格式

问题描述:

我正在将我的Android应用程序从Parse迁移到Firebase。一切都很好地工作,当用户安装我的应用程序的第一次,但是,谁使用GCM(解析)从旧版本升级的用户,我总是得到老GCM令牌格式像Firebase getToken返回旧的GCM格式

String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
# APA91bG66... 

新安装总是像

String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
# c7TUtBlvNqk:APA91bHMDU 

如何强制Firebase返回新格式?

[编辑]正如我之前提到的,我从Parse升级。为了保持它们都运行良好,在这个版本中,我必须保留GCM(解析)并集成FCM。我仍然使用其他GCM应用程序来初始化Parse Service以进行安装。所以我认为我从FCM获得的令牌属于其他GCM应用程序。我正在调查它。

+0

@AL。 我知道它,但是当我从头开始安装时,我得到了类似于 'fuQpt-ovvdY:APA91bHn _....' 并且我可以完美地发送消息。 但如果我从旧版本升级,我得到了类似 'APA91bG66 .....' ,当我发短信,我得到了错误:**“错误”:“MismatchSenderId” ** – anhlt

+1

MismatchSenderId手段您使用的是用于不同项目的标记(除了用于发送通知的标记之外)。如果这是您主要关心的问题,我认为您的帖子有点不同.. –

+1

正如@AL指出的那样。客户端上的Firebase发件人ID不匹配。这意味着您需要您的旧GCM客户端卸载并安装新版本。或者,也许你在服务器端使用旧的服务器密钥。 –

我的错!我必须使用之前使用的同一个Google项目。

请记得将Google API项目导入到Firebase,而不是创建新项目。