InvalidTokenVersion for Firebase FCM Android token

12 浏览
0 Comments

InvalidTokenVersion for Firebase FCM Android token

我在Android应用程序中集成了Firebase Cloud Messaging。应用程序收集FCM令牌并将其发送到远程服务器,令牌存储在那里,以便最终使用FCM终端向用户发送推送通知。

应用程序以以下方式获取令牌:

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

我注意到令牌有两种不同的格式。

第一种格式是以xxxxxxxxxxx:APA91b开头的152个字符的字符串。

第二种格式是以APA91b开头的140个字符的字符串。

根据我从这个问题中理解的Firebase Topic Message Received Status using Google API,第一种格式是“新”的,第二种格式是“旧”的。但是到目前为止,我无法找到令牌格式与应用程序版本(和Firebase SDK版本)或Android API级别之间的任何关联。

问题是我无法使用旧格式的推送令牌向客户端发送通知。

如果我尝试使用Instance ID终端https://iid.googleapis.com/iid/info获取令牌详细信息,我会收到“InvalidTokenVersion”错误。

我想知道的是:

  • 为什么具有相同应用程序版本的客户端会生成不同的令牌格式?
  • 是否有办法使用旧格式的令牌或将其转换为新格式?

谢谢

0