android - Google Cloud Messaging Server 响应缓慢(1 分钟)

标签 android google-app-engine google-cloud-messaging

我有一个网络服务器,它通过带有 GCM 的 PHP 通知向我开发的 Android 应用程序发送给用户。大约有 3000 名用户,一些用户每天收到大约 20 条通知。

它完美运行了 1 年多,但自 5 天以来,我发现调用“https://android.googleapis.com/gcm/send”的响应时间为 1 分钟,而不是之前的不到 1 秒。所有通知仍然到达用户。

它是按以下方式开发的:http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

我禁用通知发送超过 1 天。然后再次启动它,几分钟后 googleapis 像往常一样响应,但再次响应时间为 60 秒。

看起来 Google 是故意这样做的,但我不知道为什么?

最佳答案

尝试运行:

curl https://apis.google.com/

curl https://apis.google.com/ --ipv4

如果第二个运行得更快,只需在您的服务器上禁用 ipv6,可能您服务器的 ISP 还不支持 IPv6,这会导致 1-2 分钟的延迟,然后超时并再次切换到 IPv4。

我最近遇到的另一个问题是节流 GCM: how to avoid throttling

基本上,如果您在短时间内向同一用户发送过多消息,Google 会限制您的推送消息。这是为了“节省电池”和“带宽”(可能是他们的)...请记住,如果您想每分钟向设备发送数据超过 10 次,并且当用户实际使用该应用程序时,最好是在用户和您的服务器之间打开一个直接的 TCP 连接 :)

关于android - Google Cloud Messaging Server 响应缓慢(1 分钟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24439002/

相关文章:

android - 为什么不在我的自定义库中添加 support-v4 依赖项运行时

java - 如何访问存储在在线文件中的变量

Android: fragment 中的 getContext() 仅在离开后退按钮时返回 null

python - 我们可以在使用 Google Drive API v2 时设置 urlfetch 截止日期吗?

python - 从 Google App Engine 生态系统迁移

javascript - GCM Chrome : Empty Data Response

android - Google Cloud Messaging 返回失败 : HTTP Status Code: 401

android - 在开发和生产上切换 GCM 客户端

java - 多个屏幕在 Android 应用程序中共享数据的首选方式?

google-app-engine - 如何计算 Google App Engine 中的实例数