Android 使用GCM(Google Cloud Messaging)推送消息

本文介绍了Android实现推送消息的四种解决方案,包括C2DM、XMPP、MQTT和RSMB,重点讨论了Google Cloud Messaging (GCM)。由于C2DM在国内的局限性,GCM成为首选。文章分享了作者在测试GCM Demo过程中遇到的问题和解决方法,并提供了官方文档链接及前期准备工作的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于android实现推送方式解决方案我想大家已经不会觉得陌生了,如果大家有兴趣,可以了解以下四个解决方案:

1. C2DM(Android Cloud to Device Messageing) 云端推送功能

Android从2.2版本开始添加了Cloud to Device Messaging(C2DM)框架,在系统中支持了Push的功能,这对于需要用到Pash功能的开发者来说是一个好消息,但是C2DM有以下几个制约要求:

<1>设备需要Android2.2及以上的系统版本

<2>使用D2DM功能的Android设备上需要添加Google账户

<3>需要注册使用C2DM功能的用户邮箱账号

<4>依赖于Google官方提供的C2DM服务器(这是主要的制约因素,由于国内的网络环境,这个服务可用的情况少之又少,而且要想很好地使用C2DM,最好APP Server还要在国外) 。

由于国内的网络环境,C2DM在国内不太推行,目前谷歌已经推出Google Cloud Messaging(GCM)来取代C2DM了,如果大家想要对C2DM深入了解,可用自己去查查资料。

2. XMPP(The Extensible Messaging and Presence Protocol)协议

XMPP协议也叫可拓展通讯和表示协议,是用于即时消息和在线现场探测的一种基于XML协议。其实上述所说到的C2DM服务器底层也是采用XMPP协议进行封装的,而XMPP又是类似于http的一种数据传输协议,XMPP在国内开发者的使用中还是不少的。

3. MQTT协议

MQTT协议是一个轻量级的消息发布/订阅协议。在目前看来,也算是移动终端实现消息推送的优先解决方案。

4. RSMB(Really Small Message Broker)协议

RSMB是一个简单MQTT代理,缺省打开1883端口,在应用程序当中接收来自服务器的消息并传送给指定的设备,大家可以在这里了解一下RSMB:https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=d5bedadd-e46f-4c97-af89-22d65ffee070

关于Android端实现消息推送功能各个协议的优缺点比价大家可以查看这个链接:

http://blog.csdn.net/shagoo/article/details/7899466

好了,言归正传,现在开始测试Google官方的GCMDemo,为了测试这个小demo,着实费了不少功夫,期间遇到一些错误,在国内可参考的资料寥寥无几,Google Group上倒是也有些资料,但由于国内网络环境,想打开诸如此类的网页,还需要个人做一些操作。。。

这是google提供的GCM官方文档,大家可以去看看,跟着操作一下:http://developer.android.com/google/gcm/demo.html

前期准备工作:

(1)创建项目,并且记录下Project Nunber和ApiKey。

在这里(https://code.google.com/apis/console) 创建你的Google项目(如果已经存在,可以跳过这一步)

Android 使用GCM(Google Cloud Messaging)推送消息


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值