当前位置: 首页 > 知识库问答 >
问题:

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

公羊灿
2023-03-14

最近,我在我的应用程序中集成了Firebase主题概念,订阅了近2K个用户,我每天通过我的应用程序服务器触发通知。

我想知道的是有多少用户被交付和失败。因为如果一些用户没有收到通知并失败,我将再次为这些成员设置通知重试。有什么想法吗?

我还通过ARC(Advanced Rest Client)尝试了以下URL,以使用以下API获取有关我当前项目中所有主题的信息:

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

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

服务器密钥-

但我得到的响应状态:

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

有没有解决这个问题的想法?

共有1个答案

弓举
2023-03-14

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

你必须实现自己的方式,以某种方式确认来自主题的消息已被你的客户端应用程序收到,如果它没有收到,那么让你的应用程序服务器重试。

另一方面,在使用FCM时,强烈建议使用服务器密钥而不是传统服务器密钥。

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

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

 类似资料:
  • null null 谢谢!!!

  • 我使用新的GCM API来注册。方法的留档明确指出: 为GCM注册应用程序并返回注册ID。安装应用程序后,必须调用此函数一次,然后将返回的注册ID发送到服务器。 重复调用此方法将返回原始注册ID。 然而,在阅读本文时(http://developer.android.com/google/gcm/adv.html#reg-州),它指出有两种情况需要特殊处理: 另外还有两种情况需要特别注意: 应用程

  • 参考https://github.com/Azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.Azure.servicebus/basicsendreceiveusingtopicsubscriptionclient,我了解Azure服务总线主题的一般工作方式,我的问题更多地是关于它实际上是如何工作的。

  • 编译时,我得到了这个错误:错误:任务执行失败:应用程序:进程调试资源。 错误:多个包名为com.google.android.gms的库 但是,当删除该行时:compile'com。谷歌。Android游戏服务:6.1.11' 我得到以下错误:错误:(41,42)错误:包com。谷歌。Androidgms。appindexing不存在错误:(42,42)错误:包com。谷歌。Androidgms。

  • 我正在尝试在Android设备上使用一个简单的电话差距应用程序。因此,我遵循了所有步骤,创建了一个项目,该应用程序成功地与GCM服务器通信,并使用我的项目编号获取注册ID。 问题是我不能从服务器端与GCM通信。我最初是在Perl中这样做的,但是即使是GCM文档中的curl example也返回“401”。 他们的API访问密钥被列入了白名单,我试着删除它并创建新的几次。甚至尝试使用浏览器密钥而不是

  • 我正在尝试使用appengine实现GCM。我创建并部署了默认的appengine后端GCM模板。我创建一个GCM注册id: 然后,我使用模板中的默认注册endpoint将这个regID存储在appengine上。我的广播接收器如下所示: 这是我的舱单: BroadCastReceiver和intent服务在我的项目中是独立的类。appengine后端GCM是一个单独的模块。创建此模块期间: 编译