使用Google API接收Firebase主题消息的状态

问题描述:

最近,我将Firebase主题概念集成到了我的APP中,并且接近2K用户被订阅,我'每天通过我的应用服务器触发通知。使用Google API接收Firebase主题消息的状态

我想知道的是有多少用户正在交付和失败。因为如果某些用户没有收到并且失败,我会再次向这些成员重新设置通知。有关于此的任何想法?

我还试图通过ARC(高级REST客户端)以下网址与下面的API获取有关我的所有主题的信息在我的当前项目:

https://iid.googleapis.com/iid/info/APA91bHQ3Jp2NPrVF7z_1a8qNgg_YGI- 
zPhnxnpumCeckvieHACuwaIWPlaR....QcChUOhk4T62vAc_0PC8HVk4p4D?details=true 

Content-Type: application/json 
Authorization: key=<SERVER_KEY> 

SERVER_KEY - >(火力地堡控制台 - >设置 - > Cloude消息 - >旧服务器密钥)

但我得到响应状态:

400: Bad Request 
{ 
"error": "InvalidTokenVersion" 
} 

任何想法来解决这个问题?

+0

我在我的最后测试了它。当我使用以“APA”开头的标记时,我也收到了相同的'InvalidTokenVersion'。当我用冒号(':')测试一个标记时,它按照预期返回。所以现在我确信这与注册令牌有关。 –

+0

冒号(:)表示是否正确?... https://iid.googleapis.com/iid/info/APA91b ....:details = true – user2488539

+0

不是。它必须是注册令牌的一部分。例如,我的旧格式令牌就像这个'APA91bG .... sLI'。具有新格式的标记(使用冒号':')就像这个'cEV .... V4:APA91 ... l0k1GWMuA'。看到两个字符串之间的冒号? –

目前没有可用的API,可用于跟踪设备在使用主题消息时是否收到消息。

你必须实现自己的方式在某种程度上承认从话题的消息已经被您的客户端应用程序收到,如果它没有收到它,然后让你的应用服务器做一个重试。

请注意,使用FCM时,强烈建议使用服务器密钥而不是旧版服务器密钥。


关于InvalidTokenVersion响应。它似乎与注册令牌有关。我尝试了一下,并且能够复制响应,但只能在使用旧格式的注册令牌时(以APA开头,不含冒号“:”)。

但是当我用新格式测试一个标记时,它返回了预期的响应。我很确定这与注册令牌有某种关系。

+0

谢谢。我尝试服务器密钥,仍然收到相同的错误:“InvalidTokenVersion”。 – user2488539

+0

我引用此网址http://*.com/questions/37427709/firebase-messaging-where-to-get-server-key并使用Google-Services.json中的Current_Key并使用并尝试。我得到错误“401 Unauthorized”... – user2488539

+0

我看到您拥有旧的格式(以'APA'开头)。你可以尝试生成一个新的令牌,它应该显示一个使用新格式(使用冒号':'的格式)。 –