1

我已经在我的一个应用程序中实现了 Google Cloud Messaging,并且运行良好。但是我的客户报告说他们有时没有收到通知。

所以我很困惑,因为它工作正常并在这里收到所有通知。

我的问题是:- 有没有办法追踪消息是否已发送?就像在 Amazon AWS 控制台中一样,我们可以获取我们发送的每封邮件、消息的状态。

谁能帮帮我吗 ?

预先感谢

4

1 回答 1

2

我不确定如何跟踪确认,但 GCM Push 服务并非 100% 可靠。@Nitin Sethi对Android GCM 交付监控问题有一个很好的回答。我在这里引用他的话:

Google 不保证送达,但他们会尝试最多 4 周的时间来送达邮件。这取决于您在发送到 Google 的 GCM 服务器的消息中设置的持续时间,这些服务器可以使用这些数据。这还取决于您是否希望让 Google 保留数据以便最终将消息传递到设备,以防在传递消息时设备处于离线状态。

但是,在某些情况下不会传递 GCM 消息:

  1. 在帐户和同步设置下未选中后台数据。
  2. 在 4.0.4.(ICS) 之前,设备上的 Google 帐户是 GCM 的先决条件。也许,用户没有登录他们的谷歌账户。

有关更多信息,请参阅Google I/O 2012 - Google Cloud Messaging for Android

更新

尽管 Google 可能不会向您提供推送是否成功交付的统计信息,但可能会使用收到推送的时间戳向您的服务器报告。有关该想法,请参阅 https://stackoverflow.com/a/14068424/1306419答案。

希望这在某种程度上有所帮助。

于 2013-08-01T06:40:32.273 回答