FCM:无效的注册令牌。检查令牌格式

时间:2017-04-30 17:43:13

标签: android firebase firebase-cloud-messaging

我正在实施Firebase云消息传递(FCM),遇到了一个我无法解决的问题。我已根据指南实施了FirebaseMessagingServiceFirebaseInstanceIdService。当我为我的应用程序访问Firebase控制台并使用通知功能时,我可以成功向所有应用程序实例发送消息(使用程序包名称)。

现在,在代码中,我使用以下代码获取了Firebase实例ID(令牌):

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

(请注意,目前我正在使用HTTP协议,因为我的服务器还没有证书)。无论如何,使用我从上面的调用获得的令牌,我回到Firebase控制台并尝试向我的应用程序的一(1)个已安装实例发送消息。我从服务器DB中获取令牌,并将其存储为“varchar(max)”。当我这样做时,我收到以下错误消息:

Invalid registration token. Check the token format.

我用谷歌搜索过,发现只有一次点击(与Firebase和iOS有关):

http://stackoverflow.com/questions/41343520/ios-invalid-registration-token-check-the-token-format

该问题表明需要证书(我认为我正确地阅读了它)。我不确定我做错了什么。我需要首先使用Firebase控制台才能使用它,然后我的服务器人就可以知道它应该可以工作了。

1 个答案:

答案 0 :(得分:1)

原来我在发送到我们的服务器之前以编程方式编码所有POST或PUT参数。 FCM令牌中有一个分号,它被编码为“%3A”,似乎导致了问题。

不要对FCM令牌进行编码。

相关问题