安卓推送技术方案实现探讨

背景介绍

随着苹果产品的风靡,推送技术在国内也越来越热门。推送最开始用于邮件系统。随着iPhone 和 Android 手机的风靡,逐渐在手机上也越来越常见。不少手机客户端也时常推送一些消息。

推送技术的应用

推送技术在手机上的应用主要有两块:广告推送、SNS信息推送。

l  广告推送:给目前有一定安装量但没有盈利模式的手机应用开发者带来了一定希望,但要注意推送的频度和内容选中,不然会因为推送的东西用户不感兴趣造成打扰。

l  SNS信息推送:主要用于QQ空间、人人网、微博和天涯论坛等web2.0社区网站推送好友的留言等,可以用来提升用户黏性。

推送的想象空间很大,和电商团购、新闻资讯、生活服务等类应用都有很强的结合点:

比如电商团购应用,推送可以

1)        提供限时促销信息(公车秒杀)

2)        根据商品销售情况进行即时营销活动(热卖推荐)

3)        提供个性化商品信息进行精确营销(关联推荐)

甚至,推送和相亲类的APP也可以有如下结合点:

1)        线下活动或电视相亲类节目参与通知发送

2)        每周推荐一位相亲对象,并事前通过多媒体方式展示,为高级会员提供高附加值服务

3)        关注及时提醒,不再错过良缘

客户端/服务器通信的两种方式:

服务端和客户端推送有两种方式,分别是Pull 和 Push。

l  Pull :由客户端定时访问服务器,询问是否有新信息。而Push则在手机客户端和服务器之间建立持久连接通道,服务端一有消息就通过通道发给手机。

l  Push:相比Pull,Push推送的消息是实时的,而且更节省手机的电量和流量,不需要定时访问服务器。Pull轮询方式一般信息会有1到10分钟不等的延时,且耗电量也比Push方式消耗得多。

推送解决方案

目前Android上主要的推送实现方案有以下几种:

方案一、Google Cloud Messageing

Google在Android上标配了自己的推送GCM(Google Cloud Messageing),可以帮助开发人员给他们的Android应用程序发送数据。

GCM使用比较简单,但有下面三个缺陷也导致了GCM在国内基本不可用:

1.GCM要求Android系统必须是2.2以上的版本,所以不少2.2以前的系统没法推送

2.国内服务不稳定,且不少国内的终端厂商纷纷把Google的服务去掉,替换上自己的。

3.需要用户绑定Google账号,但不少国内用户没有Google账号。

方案二、采用XMPP协议

XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性,有很强的可扩展性。包括上面讲的GCM服务器底层也是采用XMPP协议封装的。

XMPP协议缺点也很明显:费电费流量,这个对当前智能机的消耗太大,在窄带网络和不稳定的(手机)网络都不是最优的选择。

方案三、采用MQTT协议

MQTT是个轻量级的、基于代理的“发布/订阅”模式的消息传输协议。

MQTT协议也有自己的缺点:协议复杂,部署成本比较高,还不够成熟。

方案四、采用第三方服务

目前有不少第三方提供了类似服务,客户端只需要嵌入第三方提供的lib库,由第三方建立长连接,负责消息的接收/发送。国外的parse、pubnub做的很不错,基本版也是免费的,但是由于大家都懂的原因国外的服务在国内经常访问不了。

国内做得不错的有个推,新浪微博android上的推送也是他们做的,并发量达到5000tps(每秒钟可以处理5000个事务),日分发消息据说超过1亿条,消息到达率在96%以上,延时小于250ms,换句话说消息会在1/4秒内到达。同时对于消息都有详细的报表数据,可以用于做数据分析挖掘和用户体验的改善,总体来说是开发成本最低的。

个推平台有两种接入模式:

l  群发模式

ü   提供群发管理后台,满足消息群发需求

ü   无需设备部署,当天开通账号,客户端集成SDK发布即可使用

l  业务整合模式

如果希望推送与业务深度结合,还可以使用其提供的业务整合模式。

ü   提供服务端API接口,可以与客户已有业务系统深度整合

ü   客户一般经过1-2周开发改造即可实现新功能的上线

通过对推送四种方案的比较,可以发现每种方案都有自己的优缺点。但总体上来说,第三方推送接入相对最简单,开发也比较容易。无论是从消息的到达率、集成开发成本、并发量还是统计报表的完善程度,个推都表现的非常出色。有兴趣的朋友可以到如下地址体验:http://www.igetui.com

安卓推送技术方案实现探讨,布布扣,bubuko.com

时间: 2024-10-14 03:19:36

安卓推送技术方案实现探讨的相关文章

Python web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

C(++) web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

node.js web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

Websocket web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

PHP web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

JAVA web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

Ruby web实时消息服务器后台推送技术方案---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

PHP ServerPush (推送) 技术的探讨

随着人们对Web即时应用需求的不断上升,Server Push(推送)技术在聊天.消息提醒尤其是社交网络等方面开始兴起,成为实时应用的数据流核心.这篇日志试图探讨的便是各种适合于PHP的Push的实现方式以及其优劣. 1. 什么是Server Push 想象在聊天应用中,如果使用传统的ajax来承担消息的传入,那么一般是通过每隔一定时间拉取一次信息的方式实现,但是其实这种方式有大量查询是浪费的.聊天等Web应用更需要服务器在特定时间来主动告知前端有新的消息(Push),而不是前端每时每刻问服务器

Android推送技术研究

前言 近期研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 须要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 仅仅能说说自己的理解. 为什么要研究Android推送技术? 主要还是毕业设计要做一个即时通信app, 我是不喜欢做什么社交app的, 也就象牙塔里的人想得出来, 说实话有这功夫还不如钻研一个小技术点, 把一个点研究透彻, 比搞个大而全, 还没用的东西好得多, 只是谁叫咱们是普通人, 没得选呢. Android推送服务的几种