1.推送技术的介绍:
传统互联网上数据交互一般有poll和push两种方式。poll典型使用场景是浏览网页,是用户主动发起请求,向服务器获取数据;push刚好相反,通过服务器直接发送数据给客户端,用户被动接受消息,类似于更加及时的短信。
PUSH是互联网上内容提供者和内容定制方之间的一种通信机制,利用在服务器端的程序把数据源源不断地推向客户端,大大提高客户机和服务器之间的交互性能。
第三方推送服务供应商:极光、云吧、个推、百度、蝴蝶等
推送的意义:通过个推的技术,APP可主动向其用户推送各类消息,结合精准的用户画像分析,给合适的用户在合适的场景下推送合适的内容,大幅度提升消息点击率、用户活跃度和留存率。
如:
智能家居:使用智能音箱播放歌曲,经过第三方推送服务器然后发到客户端的APP上,让你实时的知道播放了哪些歌曲。
游戏娱乐类:玩家实时互动(有新活动、做新任务、领新装备), 用户随时触达, 唤醒沉默用户, 提高ARPU值
社交媒体类:好友私信、热点资讯第一时间送达,不让用户错过任何有价值的消息、如你下载了新浪微博,有人@你或者私信你,那么不用打开APP(可能后台已经将应用给Kill掉了或者直接没有打开)就可以看到消息通知。
应用第三方推送服务的优势:
1.服务器主动连接客户端,消息毫秒级下发,推送形式多样。典型的使用第三方推送的应用:
2.不同终端的推送原理
3.第三方推送的技术原理:
还有一种手机跟服务器之间维护一个 TCP 长连接,当服务器有数据时,实时推送到客户端,也就是我们说的 Push。
首先我们来看一下组成一个推送系统的几个要素
推送系统SDK:以jar的方式出现,集成于第三方客户端,解析第三方下行的数据,并把结果透传给第三方客户端;也可以上行第三方定制的客户端信息。
推送系统服务器:一侧负责维护与成千上万的SDK的长时连接,另一侧与第三方服务器对接,将第三方定制数据下行推送至个推SDK。
第三方服务器:数据推送的发起者,通过对接个推服务器,将数据发送至第三方客户端。
第三方客户端:第三方集成SDK的客户端,推送数据正真的接收者和展现者。
说明:
AppID:应用ID,第三方在个推系统注册帐号并创建生成的唯一的应用标识。
ClientID:用于标识客户端身份,由第三方客户端获取并保存到第三方服务端。
UID:一般为第三方系统帐号体系中的用户标识。第三方服务端一般需要保存UID和ClientID的映射关系,进行消息推送时,通过UID查找到相应的ClientID,便可进行定向推送了。
参考资料:
http://blog.jiguang.cn/jpush_wireless_push_principle/