文档章节

用Android实现推送解决方案

铂金小狼
 铂金小狼
发布于 2013/07/11 09:33
字数 1421
阅读 1006
收藏 4
这几年随着 iPhone iPad 等苹果产品的风靡,推送技术在国内也越来越热门。但目前国内这块相关资料不多,有不少人对这个还不太了解,我因为工作原因接触的比较多,就给大家讲讲我对推送的理解,还有推送在国内外的一些情况,和大家交流下,也算是对工作的总结。限于我个人的水平,如果有讲得不太准确的地方,还请大家指出来。
讲到推送就不得不提到另一种技术—拉取( Pull )。虽然我尽量避免文章过于专业,但一些背景相关知识介绍还是没法避免。拉取是是用户从网站上主动“拖下”数据,举个应用最广泛的例子,我们平常打开 IE 、火狐浏览器上网背后使用的就是拉取技术。回想下通常的场景,我们在地址栏输入网址(由于网址不太容易记忆,国内不少用户都是如 hao123 这类网址导航打开网站,本质上是一样的),网站后台服务器收到访问请求后就向我们返回网站的相关数据,然后我们的浏览器负责把接收到的数据按照标准格式解析出来,这样呈现在我们面前的就是布局规整容易理解的网页(如淘宝网页)。
这里特意要强调的一点就是拉取(Pull)技术是用户主动去获取信息(比如浏览器那个例子中浏览器以固定时间刷新来接收服务器传回内容,与之相对是推送(Push)技术。推送技术通常是由那些内容提供商(通常是网站主)主动向我们发送信息。两者的区别是谁主动(虽然不甚准确但可以这样理解)。这样讲有点抽象,给大家举个例子,比如最近很火的新浪微博,你手机上安装了新浪微博,一旦别人在你的微博下发表评论,你就会在几秒钟内收到通知告诉你谁谁谁给你留言了,和短信一样快,当然前提是你的手机必须联网。
推送之所以逐渐取代拉取技术,主要在于它可以将用户感兴趣的消息直接发送到用户的终端设备,减少用户用于网络上搜索的时间。 而从后台角度,推送技术可使服务器和终端间的交互性能提高,减少服务器负载,大大提升系统性能。手机推送服务要求手机和服务器建立一条链路,当有消息需要发送到手机时,通过此链路发送即可。
苹果APNs Apple Push Notification Service )的流程如下: 1 、应用程序注册消息推送。 2 iOS 从苹果推送服务器( APNs )获取 device token (设备令牌,用于标识设备,类似身份证),应用程序接收 device token 3 、应用程序将 device token 发送给第三方 Push 服务端程序。 4 、服务端程序向 APNS 服务发送消息。 5 APNS 服务将消息发送给 iPhone 应用程序。 Android 的推送服务原理大体相同。
推送技术的应用方向比较广泛,主要有两类:广告推送、 SNS 信息推送。前者给目前有一定安装量但没有盈利模式的手机应用开发者带来了一定希望,但要注意推送的频度和内容选中,不然会因为推送的东西用户不感兴趣造成打扰。 SNS 信息推送主要用于 QQ 空间、人人网、微博和天涯论坛等 web2.0 社区网站推送好友的留言等,可以用来提升用户黏性。
推送实现方式:Google GCM 由于国内没有服务器、需要用户绑定 Google 账号还有国情等大家都懂的原因,基本不能用。而像 XMPP 协议和 IBM 发布的MQTT协议都过于复杂,部署成本也较高。 XMPP 协议比较费电费流量,这个对当前智能机的消耗太大。而 MQTT 协议虽然比较省电省流量,但还不够成熟。还有一些第三方的推送服务,在客户端嵌入中间件,诸如国外的 pubnub ,国内的蝴蝶,个信互动的“个推”。
pubnub 免费版每天可以免费发送 5000 条消息,对个人开发者应该够用,但每条消息不能超过 1800 字节,所以只能传送一些小数据。而且服务在国外(活在天朝真无奈)随时有被 qiang 的风险。蝴蝶给机锋网做了推送,还有它自己的尚邮客户端。个推在国内接过几家较大的案子(貌似新浪微博就是用的它们的服务),和 pubnub 一样每月可以免费推送一定数量,对于收费版的收费标准还不太清楚。
对于个人开发者,用户量不大的可以自己开发或者用 pubnub (不过有被 qiang 风险)。用户量在 5 万以上甚至百万千万级别,建议还是用第三方的服务。因为用户规模的不同,推送系统的复杂度将成几何级数增长。
我对国内外这几家的推送服务都用了下,但国外的考虑到实用性了解不深,要是对推送感兴趣的,可以一起交流下。

本文转载自:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=207197

铂金小狼
粉丝 54
博文 238
码字总数 23466
作品 0
程序员
私信 提问
加载中

评论(1)

DDPush
DDPush
用户量在 5 万以上甚至百万千万级别,建议还是用第三方的服务。
---------------------
这要求也低了些吧?千万级和以下的,可以试试本人的开源,DDPush任意门推送。www.ddpush.net
Android消息推送完美方案

推送功能在手机应用开发中越来越重要,已经成为手机开发的必须。在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折。本文就是用来和大家共同探讨一种Android消息...

Yujan
2014/04/10
296
0
Android实现推送方式解决方案

  本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅...

穆哥哥
2013/07/08
595
1
Android实现推送方式解决方案

本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最...

刘遇安
2014/08/28
172
0
Android实现推送方式解决方案

1.推送方式基础知识:   在移动互联网时代以前的手机,如果有事情发生需要通知用户,则会有一个窗口弹出,将告诉用户正在发生什么事情。可能是未接电话的提示,日历的提醒,或是一封新的彩...

大米被占用
2013/11/13
396
0
Android实现推送方式解决方案

本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最...

军歌
2014/02/25
93
0

没有更多内容

加载失败,请刷新页面

加载更多

for循环

九九乘法表 示例:for(int i = 1; i <= 9; i++){ for (int j = 1; j <= i; j++) { // 每次开始i循环,j都会重新定义为j=1,然后开始循环计算 System.out.print(j +......

Shutting
26分钟前
9
0
小王子1

一定要帅! 韩国设计师品牌 insgram全世界得网红 韩国潮男穿搭 HM 找到穿衣服最好看的人,跟他比,比他好看。 在兴趣前,不要表现目的性,压力 关系是不热就冷的! 不喜欢压力,不喜欢负责任...

阿锋zxf
45分钟前
10
0
时间戳

1 loadTimeString(ts) { var d = new Date(); if (String(ts).length == 10) { d = new Date(ts * 1000); ......

东方巨人
47分钟前
7
0
Redis Cluster

Redis Cluster 集群 redis集群有以下几种方式 普通一主多从 普通一主多从+哨兵 cluster分片模式 一主多从 搭建方式网上很多,就不多描述了。 这种集群方式,一般master用作写,slave用做读,...

lazy~
47分钟前
13
0
 介绍一款优秀的通用管理权限快速开发框架

这是一套以权限管理为主的轻量化快速开发框架,配置有流程、专业表单、权限、app、企业微信等基础功能模块,在开发通用软件的效率上很有优势。 软件平台常用研发需求分析 《那些年我们一起做...

我想造火箭
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部