谷歌云消息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开发从零开始》——25.数据存储(4)
  4. Android系统配置数据库注释(settings.db)
  5. Android中不同应用间实现SharedPreferences数据共享
  6. 使用NetBeans搭建Android开发环境
  7. 浅析Android中的消息机制-解决:Only the original thread that cr
  8. Android异步消息机制之Handler
  9. Android(安卓)Service AIDL

随机推荐

  1. MySQL触发器简单用法示例
  2. 利用mycat实现mysql数据库读写分离的示例
  3. mysql启动时出现ERROR 2003 (HY000)问题
  4. mysql 5.7.20 zip安装教程
  5. MySQL视图原理与基本操作示例
  6. mysql存储过程用法实例分析
  7. MySQL数据库常用操作技巧总结
  8. mysql常用命令汇总介绍
  9. mysql5.7.18安装时mysql服务启动失败的解
  10. MySQL主从原理及配置详解