Android 客户端如何接收 GCM 消息?

How can a Android client receive GCM message?

按照gcm quick start中的guid,我成功配置了GCM demo,并且可以从服务器获取推送信息(GcmSender.java)。从项目结构"app"可以看出5class:

MainActivity.java

MyGcmListenerService.java

MyInstanceIDListenerService.java

QuickstartPreferences.java

RegistrationIntentService.java

但是我找不到客户端与GCM服务器建立TCP连接的地方,所以我不明白为什么客户端可以收到 GCM 消息吗?

我们不需要担心 TCP 连接,因为它由 GCM 服务器、我们的应用程序服务器和 Google 播放服务处理

我们收到消息是因为我们有BroadcastReceiver

见下文说明

推送通知 让您的应用程序通知用户新消息或事件,即使用户没有主动使用您的应用程序。在 Android 台设备上,当设备收到 push notification 时,您的应用程序图标和一条消息会出现在状态栏中。

参见 this tutorial for complete GCM tutorial