Google Cloud Messaging (Android 消息推送技术) (一)

谷歌云消息GCM(Google Cloud Messaging)的Android是一个免费的服务,帮助开发者发送的数据从服务器到他们的Android设备上的Android应用程序。这可能是一个轻量级消息,告诉Android应用存在于从服务器获取的新数据(例如,一个“新邮件”的通知,通知手机App与Server端有新数据,需要App更新数据),或者它的数据载荷为4kb的消息(所以,对于即时消息或邮件等应用可以直接使用这个Push的消息)。

具体的结构如图:


Google Cloud Messaging (Android 消息推送技术) (一)_第1张图片

实现GCM的消息推送,需要3部分组成。Google的GCMConnection Servers,第三方App Server(通常为和自己手机App通信的Server),ClientApp。

1.     开启GCM功能。Android App需要向GCM Connection Servers去注册自己的手机,这样GCM ConnectionServers才会知道将来将消息推送到那个设备上。

2.     发送消息。发送消息一般是有与App直接通信的AppServer上完成的。当AppServer想向那个设备或者是进行广播某些消息的时候,会向GCMConnection Servers发送消息。

然后GCMConnection Servers会先存储这个消息,当指定的手机处于在线状态时,将这个消息发送给手机App。

3.  接收消息。AndroidSystem会接收到来自GCMConnection Servers发送来的消息。然后向所有注册了com.google.android.c2dm.intent.RECEIVEApp发送这个消息。

App 在自己的Receive中接收并处理这条消息。

具体的消息流程:

Google Cloud Messaging (Android 消息推送技术) (一)_第2张图片

为完成整个流程,需要首先注册一个google project

并获得需要有几个资源:1.Project Number  2.Registration Id,google API key。


下面介绍怎样注册google project 和获得这些资源。

1. 在google 控制台中创建项目  https://console.developers.google.com/project

Google Cloud Messaging (Android 消息推送技术) (一)_第3张图片

2.输入项目名称。

Google Cloud Messaging (Android 消息推送技术) (一)_第4张图片

3. 打开Google Cloud Messaging for Android 功能

Google Cloud Messaging (Android 消息推送技术) (一)_第5张图片

4.如果成功,可以看到下图。

Google Cloud Messaging (Android 消息推送技术) (一)_第6张图片


5. 在APIs & auth 中创建 public API access Key。必须选择Server Key。

Google Cloud Messaging (Android 消息推送技术) (一)_第7张图片

6. 这时会产生一个API key,这个API Key就是上面流程图中的API KEY

Google Cloud Messaging (Android 消息推送技术) (一)_第8张图片

7. 在项目的Overview中查看 Project Number。

Google Cloud Messaging (Android 消息推送技术) (一)_第9张图片


在设备注册成功后会拿到 Registration Id. 下一篇会提到。


参考网站:http://developer.android.com/google/gcm/gcm.html


你可能感兴趣的:(android,开发学习)