移動(dòng)推送方案的初步探索
前言
進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代以來,大部分廠商需要通過移動(dòng)推送的方式來向用戶推送各種消息和通知(比如優(yōu)惠活動(dòng)等),來增加和用戶的粘度。本文主要針對(duì)移動(dòng)推送,來總結(jié)一下自己最近的學(xué)習(xí)經(jīng)驗(yàn)。
最早起源于Email的推送,進(jìn)入到移動(dòng)端領(lǐng)域,則主要側(cè)重于移動(dòng)客戶端。而客戶端來獲取服務(wù)端的數(shù)據(jù),主要有兩種方式:
- 第一種是客戶端 PULL(拉)方式,即每隔一段時(shí)間去服務(wù)器獲取是否有數(shù)據(jù);
- 優(yōu)點(diǎn):簡單;
- 缺點(diǎn):實(shí)時(shí)性較差。
我們也可以通過提高查詢頻率來提高實(shí)時(shí)性,但這又會(huì)造電量、流量的消耗過高。
- 第二種是服務(wù)端 PUSH(推)方式,服務(wù)器在有數(shù)據(jù)的時(shí)候主動(dòng)發(fā)給客戶端,該方式基于 TCP 長連接方式實(shí)現(xiàn)。
- 優(yōu)點(diǎn):消息實(shí)時(shí)性好;
- 缺點(diǎn):要保持 APP 客戶端和服務(wù)端的長連接心跳,會(huì)帶來額外的電量和流量消耗;
一句話總結(jié)
因此在整體架構(gòu)設(shè)計(jì)中需要折中平衡,目前主流的推送實(shí)現(xiàn)方式都是基于 PUSH 的方案。
移動(dòng)推送的三種方式
目前,移動(dòng)推送主要有三種實(shí)現(xiàn)方式,其中PULL一種,PUSH兩種,具體如下文:
輪詢()PULL)
客戶端和服務(wù)端定期建立連接,通過異步消息隊(duì)列來查詢服務(wù)端是否有新的數(shù)據(jù)。但是,這種方式的最大的問題是不好控制查詢的頻率:
- 頻率過低數(shù)據(jù)更新不及時(shí);
- 頻率過高則會(huì)加快資源的消耗(電量和流量等)。
短信推送 (SMS PUSH)
該方式借助運(yùn)營商的短消息,通過短信形式來向用戶推送消息,優(yōu)點(diǎn)突出:能夠最好的保證消息的實(shí)時(shí)性;但是,缺點(diǎn)同樣不容忽視:采取該方式,會(huì)根據(jù)發(fā)送消息的條數(shù)支付相應(yīng)的費(fèi)用,成本較高。

浙公網(wǎng)安備 33010602011771號(hào)