【问题标题】:GCM XMPP App Server Not Receiving Downstream ErrorsGCM XMPP 应用服务器未收到下游错误
【发布时间】:2016-03-03 09:22:05
【问题描述】:
我正在开发我的后端应用程序 GCM 服务器,根据我对文档的理解,如果成功,我的应用程序服务器发送的每条下游消息都应该收到 ACK,如果出现问题,应该收到 NACK。当我的应用程序正在接收下游消息时,我能够成功发送下游消息,但我从未收到任何 ACK。我尝试通过在发送下游消息时输入伪造的注册 ID 来测试 NACK,但仍然一无所获。
我正在使用 smack 库,并尝试使用两者发送下游消息
XMPPTCPConnection.send()
XMPPTCPConnection.sendStanzaWithResponseCallback()
也没有回应。我错过了什么吗?
【问题讨论】:
标签:
google-cloud-messaging
【解决方案1】:
好的,我想通了!我正在关注here 中的一些示例代码,发现正在使用的 StanzaFilter 确保侦听器只看到包含您的 SENDER_ID 的请求。我不确定过去是否有所不同,但 ACK 和 NACK 不包含 SENDER_ID,因此它们被我的听众过滤掉了。
我现在已将我的 StanzaFilter 替换为 connection.addAsyncStanzaListener(this, MessageTypeFilter.NORMAL);,而不是示例中的自定义过滤器。我计划在 GitHub 上添加一个基本服务器,并将我的所有发现提供给希望实现自己的服务器的其他人。