android - Google GCM 阻止我的服务器接收传入的 HTTPS 请求

标签 android google-cloud-messaging

我现在有点困惑。我正在使用 Google Cloud Messaging 开发 Android 应用程序。我编写了一个简单的后端,用于将请求发送到 https://android.googleapis.com/gcm/send过去几天一切正常,但突然我的设备停止接收消息。

在寻找解决方案几个小时后,我尝试针对 Google 服务手动发布 HTTPS POST curl 消息,但收到以下错误:很抱歉,您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。

呃?是的,我正在发送自动查询。这就是后端的全部目的,不是吗?从我家的 ip 上尝试了同样的 CURL POST,效果非常好,手机收到了推送消息。因此,谷歌以某种方式决定阻止来 self 的服务器的请求。为什么?它不是共享服务器,IP 是静态的,GCM 后端是其上运行的唯一东西,对 google.com/gcm/send 进行调用。在我的开发者控制台中,google 总共注册了 37 个调用。所以我不会淹没服务器。

有人遇到过这样的事情吗?我应该如何解决它? (因为这是一个关于编程“服务”的问题,我认为可以在 SO 上提问)。

最佳答案

链接 GCM QUOTA LIMIT

GCM 有使用限制,如果您自动执行 GCM 请求,他们会将其视为 DOS 攻击的威胁

关于android - Google GCM 阻止我的服务器接收传入的 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923048/

相关文章:

android - 如何检测某些手势?

android - 使用录音机录制音频,然后将其上传到服务器android

android - 使用自定义复选框选择器时,如何去掉复选框按钮和文本之间的额外空间?

android - 如何显示 GCM 推送通知的自定义 UI?

android - 我需要停止周期性的 GcmTaskServices 吗?

android - GCM 连接服务器如何向 Android 设备发送消息?

java - 重新分配输入/输出流?

android - StaggeredGridLayoutManager 和移动项目

java - Java 中的 Android XMPP 服务器来自 Google Docs

java - 导入 com.google.android.gms.gcm 无法解析,Google Play Services 已经安装