Android 如何确保可以从我的设备访问GCM服务器';s网络?

Android 如何确保可以从我的设备访问GCM服务器';s网络?,android,google-cloud-messaging,Android,Google Cloud Messaging,我正在测试android的GCM演示应用程序。GCM的第一步是向GCM服务器注册设备,即发送设备Id并获取注册密钥。但我正在测试一个有防火墙的网络。现在我已经允许通过防火墙连接特定的staic ip,即设备的ip。但我如何确保防火墙不会产生任何问题呢。是否有任何url或任何方式可以测试GCM服务器是否可访问 目前我得到了这个错误。 来自GCM:可恢复错误 (服务不可用)。我会重新启动手机(修复了遇到此问题时出现的多个问题)。我还要在电话上大致核实时间/日期是否正确。在线查看某些GCM代码时要小心

我正在测试android的GCM演示应用程序。GCM的第一步是向GCM服务器注册设备,即发送设备Id并获取注册密钥。但我正在测试一个有防火墙的网络。现在我已经允许通过防火墙连接特定的staic ip,即设备的ip。但我如何确保防火墙不会产生任何问题呢。是否有任何url或任何方式可以测试GCM服务器是否可访问

目前我得到了这个错误。 来自GCM:可恢复错误
(服务不可用)。

我会重新启动手机(修复了遇到此问题时出现的多个问题)。我还要在电话上大致核实时间/日期是否正确。在线查看某些GCM代码时要小心,因为许多代码包含不推荐使用的函数

之后,我将在我的3G/4G场景中实现如下所示的重试逻辑

如果您使用的是3G/4G:

500-599范围内的错误(例如500或503)表示GCM服务器在尝试处理请求时出现内部错误,或者服务器暂时不可用(例如,由于超时)。发件人必须稍后重试,以接受响应中包含的头之后的任何重试。应用服务器必须实现指数退避。故障排除

如果您使用的是Wi-Fi:


注意:如果您的组织有防火墙限制进出互联网的流量,您需要将其配置为允许与GCM连接,以便您的Android设备接收消息。要打开的端口为:5228、5229和5230。GCM通常仅使用5228,但有时使用5229和5230。GCM不提供特定的IP,因此您应该允许防火墙接受到Google的ASN 15169中列出的IP块中包含的所有IP地址的传出连接。

这可能是的副本。您需要打开相关端口。仅当您的设备使用WiFi连接时,这才相关。