Android推送方案

移动推送服务,就是通过建立一条手机与服务器的链路,当有消息需要发送到手机时,通过此链路发送即可。

安卓推送的实现方式包括:

方案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地址-->运行

启动推送服务,然后在上边的网页上把那一串字符输入到上边的输入框,下边输入要推送的内容。

接下来的内容是关于遇到的错误问题该如何解决,查看余下全文>>>

相关文章推荐:

android系统和ios系统是如何实现推送的,ios为什么没有后台推送 

你可能感兴趣的:(android开发,app开发者,推送,推送方案,程序员经验分享)