Muk*_*ani 8 android google-cloud-messaging
我已经开始将GCM集成到我的Android应用程序中.在启动教程的帮助下,我已经设置了示例演示,它的工作非常棒.我还了解当我的服务器将消息发送到GCM时收到的不同响应状态,我认为这表示我的服务器和GCM服务器之间的通信状态.
我的问题是,有没有办法获得GCM服务器和Android应用程序之间的通信状态?基本上是表示预期消息是否已成功传递的确认.我还读到,默认超时是4周,除非设置了time_to_live标志,这使我理解GCM维护队列并且肯定会确保消息传递.
但是,为了确保可靠性,作为第三方服务器,我是否应该重新发送相同的消息(如果GCM基础设施尚未处理)?如果我需要照顾重试,如何确定失败?
我的一种方法是,定义推送ID并将其与消息一起发送,一旦收到,Android应用程序将报告具有相应推送ID的服务器.如果在指定时间内未收到响应,则服务器将重试发送消息.这种方法在帖子的第二个答案中定义,将有助于监控GCM(特别是QA团队)所花费的时间.
我不认为可以从 GCM 服务器获取该信息。这意味着您将必须依赖成功接收消息的客户端应用程序与服务器之间的另一种通信方法(如您所描述的)。
您从 GCM 服务器(如您所知)获得的响应只是让您知道:
success: Number of messages that were processed without an error.
Run Code Online (Sandbox Code Playgroud)
或者
failure: Number of messages that could not be processed.
Run Code Online (Sandbox Code Playgroud)
这意味着您可以知道哪些注册 ID 已正确处理(例如,有效值,仍然向 GCM 注册),但不知道消息是否已成功传递到实际设备。
归档时间: |
|
查看次数: |
3696 次 |
最近记录: |