摘要:移动推送服务,就是通过建立一条手机与服务器的链路,当有消息需要发送到手机时,通过此链路发送即可。
安卓推送的实现方式包括:
方案1、使用C2DM服务(Google Cloud Messaging)
简介:Google推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。
方案2、使用XMPP协议(Openfire + Spark + Smack)
简介:基于XML协议的通讯协议,前身是Jabber,已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。
方案3、使用MQTT协议
简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,应用到企业领域,且已有C++版的服务端组件rsmb。
缺点:不够成熟、实现较复杂、服务端组件 rsmb 不开源,部署硬件成本较高。
方案4、使用第三方推送服务
简介:通过嵌入SDK使用第三方提供的推送服务,主流的有
Google 云推送服务:鉴于国内的特殊情况,大部分国产手机都砍掉了Google服务,所以这种实现方式不太现实。
百度云推送服务:这个推送方案实施起来比较简单,直接集成相关的sdk,就可以实现推送,而且服务端的sdk有PHP,Java,Python版本,也可以直接通过url推送相关消息。
极光推送:这个文档比较全,号称3分钟快速Demo,集成起来相对就简单多了。
优点:稳定,成熟,节省开发和探索时间,相对自己开发成本低,推送管理界面及统计程序完善。
缺点:有程序嵌入顾虑。
下面小编就简单的介绍下第三种方案的使用方法,希望可以帮助开发者在开发过程中少走弯路~
1、首先下载rsmb包,并解压,找到对应服务器的文件夹,小编展示的是linux_ia32,这个支持多种服务器。
2、把目录及里面的文件上传到服务器上,进入到用命令行并进入到该目录,然后自行 ./broker这样便启动了推送服务。
3、准备推送页面(通过网页进行推送测试)下载PHP端的推送代码(点击此处进行下载),解压进 入etc目录更改 config.php里的IP地址为你的服务器IP地址。
4、打开对应的url既可以看到如下的页面
Server status显示为 Online说明服务器正常启动了。
5、下面开始准备android客户端(点我点我)
下载-->解压-->导入eclipse-->修改PushService里的MQTT_HOST为你的服务器的IP地址-->运行
启动推送服务,然后在上边的网页上把那一串字符输入到上边的输入框,下边输入要推送的内容。
如果出现如下错误的话~