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

时间:2015-05-05 18:41:26

标签: android push-notification google-cloud-messaging protocols

我正在阅读有关Google云消息传递(GCM)的信息。 GCM连接服务器收到的推送通知将发送到启用GCM的Android设备。我假设在内部它使用设备Id(然后使用ARP协议从MAC解析为IP)来发送推送通知。 GCM在内部使用哪种协议来提供通知?如果它是TCP / IP,那么它如何解析设备的IP(鉴于用户切换wifi网络和移动数据,这不是唯一的。)

有谁能帮我理解从GCM到客户的沟通?

1 个答案:

答案 0 :(得分:15)

  • GCM通过Google Play服务工作(没有Google Play服务的GCM)
  • 设备通过端口5228上的 TCP连接到Google Play服务(443作为后备)
  • 设备会在移动设备上每隔28分钟向Google Play服务发送心跳包,在无线网络上发送15分钟
  • 如果设备网络状态发生变化,设备必须重新建立与Google Play服务的TCP连接,apparently can lead to problems
  • 您可以检查连接状态,心跳间隔,连接地址和端口等。在设备上拨打*#*#426#*#*

您可以在this post on Google Product Forums中找到更多信息。