做关于app的信息更新,看了些文章,对照之前的想法,记录下。
两种思路:
1)app主动定时的从服务器获取。需要app起一个类似守护线程的东东。简单的信息更新也可以不起线程,需要的时候主动获取就行。
2)服务器给app做消息推送。
下面说消息推送的实现思路。
1)服务器和app之间直接建链
最直接的想法就是服务器和app之间通过某种协议(比如XMPP协议/MQTT协议,自行上网查)建立一条长久链接。要满足:app打开时登记到服务器,服务器和app有保活机制,服务器能知道app是否存活,服务器知道该推送消息给哪些app等。
这种思路,当用户数量上来后,比如百万千万,服务器链接数量太多,负担不过来。
因此有了使用第三方推送平台的方案。
2)使用第三方推送平台
大概的思路:服务器和第三方平台建链,第三方平台和app建链。app打开登记账号到第三方平台获取到唯一标识,然后将账号/标识对报给服务器,服务器推送消息往第三方平台发,第三方平台再自行发给app。
这种思路,无论用户数量多少,服务器和第三方平台平台只需建立一条链路。这样一来链接数等负担转给了第三方平台。第三方平台自然要比较牛的了。
感觉跟google的C2DM本质上是一样的,转移负担。呵呵。
参考文章:
Android实现推送方式解决方案
http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html