智游推送CTO浅谈推送服务

智游推送CTO浅谈推送服务

推送,根本上而言就是内容提供商向用户传递消息的一种服务,推送的作用在于主动提醒用户,不需要主动刷新程序或者网页去检查更新,比如Android的sina微博,必须手动刷新程序才能更新微博或者查看好友申请。这种做法可以节省流量,对于手机包月用户而言非常有必要的。用户专注于当前任务时,可以接收到其他应用程序推送的消息,用户可以及时处理多任务。

首先谈下pushservice采用的两种实现方案,一种是长连接、一种短轮循长连接是在用户与内容服务商之间建立一种长时间的连接,服务端一旦有新的消息立刻发送给客户端,好处在于有消息时由服务器告知手机客户端。手机此时再发起更新,省电省流量,所以智能手机平台都会有推送服务。短轮循则是用户在每个轮循周期向服务提供上发送一个内容请求,不管有没有消息都立刻返回(当然存在其他的综合方案)。

谈谈Android的推送,首先说明一点Android和Symbian一样是支持后台进程的(现在安卓上系统管理应用也都具备着方面的管理功能),这也间接导致了Android设备上 存在着多套推送服务体系。一种是谷歌内嵌在Android系统中的(这个应该是Android os内的服务,应用开发商通过与发送推送内容给Google,再由Google的推送服务统一向目标设备进行转发。用户与推送服务器间建立了一种长连接,并以此接受推送消息),另一种则是移动开发商开发的推送服务(这个原理类似于Symbian平台,都需要依赖后台进程)。那么既然Google提供了统一的推送服务接入,那各个移动应用开发商还费那么多力去建立自己的推送服务干嘛呢?这就牵扯到了谷歌早期的开放策略了,由于过度的开发,存在着很多的应用市场、也给开发者提供了很多便利。要接入谷歌的推送服务,必须要求应用从Google应用市场中被下载,且用户必须要拥有谷歌账户 。

而事实上很多用户并没有谷歌账号,而且存在如此多的应用市场,且可以下载破解应用又有多少人会去谷歌市场下载应用呢?

再来谈谈iOS以及Windows Phone。iOS和Windows Phone都通过规避后台进程和严格的应用市场管理,迫使用户从正规的渠道下载应用,也迫使了应用开发商接入Apple、MS提供的推送服务,应用开发商向推送服务器发送内容,再由他们通过系统内进程与用户建立连接发送消息内容。

原文地址:https://www.cnblogs.com/NL34/p/3513347.html