【发布时间】:2014-06-26 19:49:19
【问题描述】:
我有一个网络服务器,它通过带有 GCM 的 PHP 通知向我开发的 Android 应用程序发送给用户。大约有 3000 名用户,有些用户每天会收到大约 20 条通知。
它完美运行了 1 年多,但从 5 天开始,我发现对“https://android.googleapis.com/gcm/send”的调用响应时间为 1 分钟,而不是之前的不到 1 秒。仍然所有通知都会到达用户那里。
我禁用发送通知超过 1 天。然后再次启动它,几分钟后 googleapis 像往常一样响应,但响应时间又是 60 秒。
看起来 Google 是故意这样做的,但我不知道为什么?
【问题讨论】:
-
如果发送失败,您是否使用指数退避?例如,在 java 中,有一个类似 send (Message message, String registrationId, int retries) 的方法,注意:此方法使用指数退避来重试以防服务不可用,因此可以阻塞调用线程数秒。 Google 在Role of the 3rd-party Application Server 上对此进行了解释。 Google 可能会检测到来自您的服务器的流量过多并设置了限制。
标签: android google-app-engine google-cloud-messaging