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

具体的结构如图:



实现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 project

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


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

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


2.输入项目名称。


3. 打开Google Cloud Messaging for Android 功能


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


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

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


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



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


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


更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. [Android] ListView (普通列表控件) 的基本使用方法
  4. 说说 mvc 模式的原理,它在 android 中的运用。
  5. React Native 与 Android(安卓)混编项目复盘反思
  6. 做嵌入式的必须学Android吗
  7. android与html5的交互——数据库操作,UI操作,以及html5的localStor
  8. 修正Android摄像头API
  9. android的消息处理机制(图+源码分析)——Looper,Handler,Message

随机推荐

  1. Android(安卓)OpenGL之二图像旋转实例
  2. android邮件发送几种方式
  3. android 版 双色球号码生成
  4. Linux 国内源、Android(安卓)SDK更新代理
  5. 如何查看ADT的版本号
  6. Android(安卓)API之android.content.Asyn
  7. Android(安卓)自定义滚动视图
  8. android模块
  9. Android(安卓)market:// 链接到Google Pl
  10. Android(安卓)java代码中如何执行shell命