后期交付确认。从GCM到App服务器?

时间:2015-07-17 06:33:26

标签: android push-notification google-cloud-messaging

我正在使用GCM进行聊天应用。如果用户处于离线状态(未连接到应用程序,但互联网处于活动状态),则我向设备发送推送通知它可以完美接收。 但是,当设备完全脱机(既不连接到应用程序也没有连接到互联网)时,GCM会在我的应用程序上向我发送{id:XXXXXXXX,成功:3,失败:2 {message_id:xxxxx,ect:..}}等响应服务器

两个设备完全脱机,他们没有有效的互联网连接.. 当设备连接到互联网时GCM发送消息。 但我的App服务器如何知道GCM提供的消息。

我搜索了很多,但无法得到任何满意的答案。 我在客户端设备(Android设备)上的messageRecive上尝试过,我会将httpRequest发送到我的App服务器,但它不适合我的应用程序,它会使App非常慢。

所以问题是我怎么知道我的失败2消息已经传递。

1 个答案:

答案 0 :(得分:0)

首先,在将下游消息发送到GCM服务器后,您无需更新应用服务器。正如here所解释的那样,GCM服务器在离线设备的情况下存储消息,并在设备在线时传送消息。

(现在假设您想要的是处理客户端上的网络任务) 您可以使用GcmNetworkManager通过Play服务在整个系统中批量处理网络发现和连接相关任务。浏览文档。

您也可以使用Google Play开发者控制台中的GCM统计和诊断功能。这将为您提供特定应用程序(通过注册令牌)处理的消息的详细信息,直至特定消息的状态(通过消息ID)。更多解释here

(但我不太清楚你想要的是什么)

修改

  

但我的App服务器如何知道该消息是由GCM提供的。

很抱歉,再次阅读我意识到这是真正的问题。答案很简单here