為何蘋果、谷歌的消息推送那么好,國內(nèi)安卓就“群魔亂舞”了呢?
關(guān)鍵詞: 安卓 蘋果 國產(chǎn)手機(jī)
用過蘋果iPhone的都清楚,蘋果的消息推送機(jī)制還是很牛的,干凈,及時(shí),很規(guī)范,不會(huì)有各種亂七八槽的東西出現(xiàn)。
而用過海外版安卓手機(jī)的人,同樣會(huì)發(fā)現(xiàn)海外版的安卓手機(jī),在消息推送這一塊,其實(shí)與蘋果也是大差不差的,干凈、及時(shí)、很規(guī)范。
但國內(nèi)的消息推送,就不是這回事了,各APP廠商們,隨便亂推送,甚至可以說是“群魔亂舞”,更重要的是為了推送個(gè)消息,你還得APP常駐后臺(tái),一旦退出APP,可能推送也就完了。蘋果、原生的安卓系統(tǒng)是不需要APP常駐后臺(tái)的。
而APP常駐后臺(tái),會(huì)導(dǎo)致占用內(nèi)存,占用CPU的算力,導(dǎo)致手機(jī)性能下降,續(xù)航變差,然后變卡什么的,有些APP常駐后臺(tái)后,還會(huì)有其它的“小動(dòng)作”,讓你防不勝防。
那么問題就來了,都是手機(jī),為何區(qū)別就這么大呢?背后究竟是什么原因?
蘋果在iPhone3GS時(shí)代,就意識(shí)到了推送這個(gè)問題,所以搞了一個(gè)APNs ( Apple Push Notification service ) 出來,用來推送消息。
App 如果想要給 iPhone 推送的話,需要接入APNs,先把消息發(fā)到專門負(fù)責(zé)推送的服務(wù)器上面,然后再統(tǒng)一推送到 iPhone 上,這樣蘋果的APP是不需要常駐后臺(tái)的,只要有網(wǎng)絡(luò),就能收到消息推送。
而谷歌也有一套類似的東西,叫做GCM,也是有一個(gè)專門的推送服務(wù),原理與蘋果的APNs類似,所以海外版的安卓手機(jī),APP也不需要常駐后臺(tái),就能夠接收消息推送。
但GCM是在GMS之中的,國內(nèi)沒有使用GMS,就無法使用GCM。
而這些APP廠商都要推送消息,那怎么辦呢?于是APP們各搞各的,很多APP廠商都是自己整了一套完整推送服務(wù),通過自己的服務(wù)器,直接推送到用戶的安卓手機(jī)上。
這事情就變得復(fù)雜了,APP廠商這么多,都是自己整活兒,就變成了“群魔亂舞”了,自己定規(guī)則,自己想推就推送,什么內(nèi)容都敢亂推送,也沒個(gè)規(guī)范、審核什么的。
并且APP廠商自己推送,服務(wù)不是接入系統(tǒng)層面的,APP不常駐后臺(tái),就無法推送了。
后來大廠商們,比如華米、OV、騰訊、百度等手機(jī)廠商、APP廠商們就打算搞一個(gè)統(tǒng)一推送聯(lián)盟出來,將這事規(guī)范一下。
但幾年過去了,事情的進(jìn)展并不很順利,畢竟這牽涉到各方的利益,沒法扯得清,統(tǒng)一推送聯(lián)盟又無法強(qiáng)制執(zhí)行,只能搞一些規(guī)范、服務(wù)等,APP廠商們用不用,還得看自己愿意不愿意。
所以直到現(xiàn)在,國內(nèi)的安卓手機(jī)上的APP推送機(jī)制,還是一片混亂,很多廠商都是各搞各的,也有一些第三方小推送服務(wù)平臺(tái),但相對(duì)于蘋果、谷歌的推送服務(wù),就還差得遠(yuǎn),這一定程度上也影響了消費(fèi)者的體驗(yàn)。
