為什麼沒多少人關注華為(Android)手機推送機制的問題?
這幾年隨著國產手機的進步和安卓系統的逐步改善,似乎越來越多人關注安卓手機了。華為等國產手機品牌的高端機價格也逐步提高,開始接近iPhone。
厭倦了iPhone的我,也買了個華為的旗艦機Mate 9體驗下了近幾年華為和安卓的進步。體驗後,我對Mate 9非常滿意。但是,下面這個問題很困擾我:
推送機制:在iPhone上,我會把所有有社交功能的app全部打開推送,比如:微信,微博,qq,fb, skype,豆瓣,gmail,etc。部分其它類型的app也會打開推送,允許推送的app大概在10個以上。
在Mate 9上,我如果要實現同樣的接受即時推送的目的,我必須將這10多個app全部設置成開機自啟動,並保護後台(不允許鎖屏殺後台)。如果兩個條件有一個不滿足,我就收不到推送。但這樣的話,耗電會非常高,嚴重降低待機時間。
我覺得這是華為(或安卓)手機的一個致命缺陷。但我奇怪的是,似乎關注這一點的人似乎並不多。為什麼呢?我猜有如下幾個理由?
1.雖然華為自動殺掉所有非即時聊天類app的後台,但大多數人對非即時聊天類的推送需求不大。所以,對多數人來說,這個推送體驗跟蘋果差距不大,少數幾個有後台的app也不會耗太多電。
2.目前的安卓現狀就是如此,所有的安卓廠商都解決不了這個問題。所以,媒體也不大關注這個問題。畢竟,黑掉了安卓,不符合除了蘋果以外的手機生態網的利益。媒體不關注,自然普通人也不關注。
3.了解並不能接受安卓這個缺陷的人都在使用蘋果手機?
是這樣嗎?我也必須使用蘋果手機嗎?
其實安卓系統自帶有Google Cloud Messaging for Android 谷歌推出的雲推送服務
可以像iOS一樣免後台推送。
因為國內谷歌用不了,並且谷歌不向國內開發谷歌框架授權。即使刷上谷歌框架,也需要fq才能使用GCM,然而國內大部分應用不提供GCM支持,又進了一個惡性循環,因此谷歌推送服務GCM在中國大陸基本上是殘廢。
所以通常情況下應用要掛後台才能推送。
但也有例外
目前我所知道的國內最流行的推送系統是小米做的類似於GCM的MiPush,通過小米自有的介面和SDK在MIUI系統中支持主流國產軟體的免後台推送
好像魅族華為也有做,但比較小眾。每個廠商都做了一個加劇了安卓的碎片化,加重開發者負擔。
所以安卓的推送在國內真的是個大問題。
谷歌不進入中國永遠沒法徹底解決。
相關問題:現在小米應用商店裡有多少應用支持小米推送(MiPush)? - 小米科技 - 知乎
小米開放平台
根據我平時對周圍的觀察,你猜測的三個理由都有道理。尤其是第一條,大部分人都是對IM類的應用推送要求高,只要QQ和微信在白名單內就對用戶影響不大,至於被影響的用戶一般會自己默默地去設置,很少會像題主這樣去思考提出疑問。
我個人的話是放QQ、微信、知乎、即刻等幾個常用的APP在後台。其實耗電還好,Android7.0的Doze已經很嚴格了,經常手機亮屏那一刻,允許聯網才陸續接到推送。
第二條也的確是國內Android碎片化,沒有一家有絕對掌控力廠家,沒有一家廠家或者推送服務商能獨自解決這個問題。只能靠自己集成多個推送服務或者找一個能集成多家推送的服務商,例如雲吧或者阿里推送。集成這裡其實挺麻煩的:
1.就算用華為和小米的系統推送也不一定能和舊有的推送形式融合。因為用系統通知就無法做到消息冪等,自定義通知展現的形式。例如加幾個按鈕和放圖片之類的,總之就是你無法掌控了。這種情況下就會使用透傳數據,讓APP來處理的形式。但是當應用被禁止自啟動,則會無法被拉起來處理透傳的信息,發出通知。
2.安裝包體積會變大,畢竟要加多幾個推送SDK,你想想現在國內有多少廠家就知道有多蛋疼。。。
3.APP和伺服器都需要改一些原有的推送處理邏輯,例如說在小米上就要切換小米的推送,伺服器也只能推送這個通道,你總不能讓用戶接到好幾個相同的通知,還要改註冊和取消的邏輯,這裡要糅合多個SDK,抽取出統一的邏輯和介面。
所以很多APP就沒去集成。。當然有決心解決,這些都不是問題,需要付出開發時間和做出一些妥協而已。
第三條如果忍受不了換機吧!何必委屈自己。今天在公司專門(偷著懶)研究了下,華為EMUI其實也是有雲推送通知功能的,叫做NCPush(Notification Center+Push)。其結構功能邏輯類似於Apple的APNs(Apple Push Notification Server),小米的MiPush以及Google的GCM(Google Cloud Messaging)。
安卓一般的通知推送流程要走Framework->喚醒所接受通知的應用->發送通知廣播->通知中心配置通知信息(內容,圖標,鈴聲,振動等等)->發出通知並顯示給用戶。
這樣的傳統流程需要頻繁調起喚醒應用,會無形中增加手機功耗,減少續航。
NCPush則是利用與第三方應用達成的協議,建立Push Server->利用Push Server接受三方通知->直接發送廣播給手機Notification Center->配置通知->發出並顯示通知。
利用NCPush可以避免頻繁調起應用而導致的電量損耗,降低手機功耗。
但是安卓應用市場現狀太亂,這種協議需要手機廠商和應用廠商一個一個去溝通達成,所以基本上只有主流應用才支持NCPush,不像Apple Store面對全市場Apps,所以還是有些差距的,但是省電是肯定的。
至於能省多少呢,一年能少充一兩次電吧(逃
這個問題僅是我國內地專有的故障,與Android本身無關。
具體地說,gms服務內地不可用,且這個內地銷售的行貨手機不能搭載gms。
如此導致了android應用本應使用的推送機制gcm/fcm不可用,到目前為止沒有統一的推送服務。是的。推送問題算是安卓現在最大的槽點了吧。本來谷歌也是有推送的,但是國內大多軟體不支持再說支持了也用不了。另外一個原因就是你說的大多數人對非即時通訊軟體的推送並不在意甚至討厭,所以也沒什麼人對這方面感到困惑。
我的建議是你要麼回去用iPhone,要麼用MIUI。MIUI的推送服務是國內最完善的,大多數常用國產軟體都支持,這也是我堅持用MIUI的最大原因。
沒辦法,國內的安卓就是閹割版的,而且插件也多。求省心的話還是蘋果吧。不然就要每個星期多花那麼幾分鐘去設置各種東西
???我努力半天想殺掉推送,你竟然收不到???
因為我是把它當優點不是槽點來看的……
除了微信,QQ
其他的推送,一概去死。
鎖屏清理一切的我
不需要除了簡訊電話以外的消息的我
哦,qq依舊留著。
微信也……留著。
Android上的全家桶表示,後台不僅僅可以推送,還可以刷刷日活躍數。
偶爾還可以很貼心的幫用戶下載相聲這個問題近乎於無解
首先安卓有一套gcm消息推送機制,但依賴於谷歌,被牆,gg
直接導致了題主你所說的要麼留後台耗電,要麼就被殺掉無反應
小米自己搞了個類似的mipush,有些應用支持,比如阿里全家桶,在我強關並在進程列表確認沒有留後台的情況下仍然收到了支付寶的信息。但不清楚支持的app有多少,反正騰訊的qq微信什麼的就別想了
據說魅族自己也搞過類似的東西,但沒人響應,至於華為,軟體方面還是差勁了點,emui至今仍有不少吐槽,我認為華為是很難有精力去做這種東西的
應該先問是不是再問為什麼的
我的大伯在元宵節吃年飯的時候都問過我為什麼他的手機一直響(就是app不停推送)
所以個人覺得提問的前提條件不滿足
畢竟誰都不想吃飯的時候手機一直響……
下面是回答:
反正我只需要qq微信的推送
其他的推送對於我來說是一種騷擾
對了 我用的是ADUI
逃
第一次~
我的理解跟題主的意思不一樣……
大家就隨便笑笑我這個小白……
表示除了輸入法,其他軟體一律不準自啟,除了微信QQ瀏覽器,其他軟體一律不許聯網,除了微信QQ簡訊,其他軟體一律不許通知。。。。。所以推送對我來說卵用沒有,因為谷歌全家桶一定會被我禁止聯網
現在的推送已經覆蓋到你手機上的所有APP上了。
非即時社交類軟體能給你推送什麼好東西?淘寶叫你買東西,愛奇藝叫你沖會員,今日頭條震驚你一下,怕你沒工作的58天天催你下廠子找工作。
極光、信鴿、個推、支付寶、qq、微信還有小米推送,原生安卓在國內混,分分鐘讓你的手機變成暖手寶。mdzz
這是我現在的設置,鎖屏不清理任何應用,大部分情況下我也不會手動關閉後台應用
續航雖然降低了一點,但是是能接受的程度,你說這樣會耗電量特別高嚴重降低待機時間,我是不信的,你應該沒試過吧?試一下吧QQ和微信推送能收到就可以了,至於其他APP的推送,對我來說是騷擾。
EMUI設置推送也是可以的,不過步驟多了點。
1.確保鎖屏之後不斷網,EMUI默認是鎖屏斷網的,斷移動數據和WIFI
2.允許軟體自啟和鎖屏白名單
3.允許通知。
目前我的mate9就允許QQ和微信兩個APP的推送,其他的全部禁止。
如果APP真有正經事需要推送,請用簡訊。這個確實是華為不能迴避的嘈點
過年的時候6s掉進廁所,進水賣了500
糾結了好久決定換個陣營,買了一加3t。
一開始也特別不習慣,為什麼除了qq微信其他都不推送,雖然有些很煩,但你完全不推送就不合理了。
於是摸索了很久發現了這個
於是一切問題迎刃而解
每每看見有關安卓系統的提問就不得不感嘆谷歌什麼時候回歸的問題。
老天啊,什麼時候讓我體驗一次完整的原始的Android系統吧這個問題也不僅僅都是華為的問題,也可能應用的問題,我參與的項目目前接入了小米,華為,魅族三家送(ov是沒有,不然也接了),效果不錯。開放者也想統一起來,那樣省事『更多,但是國內廠商定製化多樣,並不容易實現。
移動互聯網時代,消息推送是移動應用(APP)的一項重要功能,目前中國安卓系統生態環境尚不成熟,設備碎片化現象嚴重,導致不同應用與操作系統在適配性方面產生了一系列問題,消息推送服務也會遇到各種障礙。
雖然在安卓手機上谷歌有推出gcm服務,由於GFW導致國內無法使用,大部分國內應用沒有使用GCM服務,而大量國外應用使用了GCM服務。那麼,我們Android系統上的應用又是如何在沒有使用GCM服務的情況下把消息推送給我們的呢?有三種情況。
第一種情況是像QQ、微信這樣的應用,它們長期駐留在系統後台,長期佔用一部分內存來推送消息。也就是說,雖然你以為你關閉了QQ和微信,但其實這一部分執行推送任務的QQ和微信模塊仍在後台工作。
第二種情況是使用第三方推送服務,這是谷歌服務在國內運行情況不佳的產物,第三方推送服務在國內有多家,是在第三方應用中加註SDK實現,但在不同的ROM中不同的第三方推送能否按時送到則參差不齊。
第三種情況則是使用了GCM服務的應用,主要是大量的來自國外的應用和少部分來自國內的應用,比如Facebook、Twitter、CNN、BBC,與第三方推送服務不同的是,它是系統層級的,第三方應用的伺服器把消息發送給谷歌的伺服器再轉接到各個用戶。IOS、Windows 10系統的消息推送亦是在應用未運行的情況下由第三方伺服器轉給蘋果或微軟的伺服器,再推送給用戶。
最近信息產業部下的電信研究院泰爾終端實驗室組織一個國內推送機構(包括小米,OPPO,vivo,魅族以及阿里,百度,極光和個推等)的會議,以期推動中國互聯網推送的規範化和統一化,期望能制定一套在安卓體系下的推送協議和規範,會議上各個廠商在3個層面(推送流程標準化,服務介面標準化,客戶端集成標準化)達成基本一致以期在如下幾個方面(目標,成本,性能,穩定性,功能集)達到最大優化
期待在不久的將來,國內推送市場能夠統一化,規範化。
推薦閱讀:
※蘋果手機收集用戶位置信息,怎麼辦?
※iPhone 5s 的 Touch ID 指紋識別是越用越慢,還是越用越快?
※一台沾滿我指紋的設有指紋開鎖功能的iPhone丟失了,別人有多大可能破解?
※同型號的白色版手機為什麼更貴?
※如何評價推特報料「蘋果會在監測到用戶的電池較舊時,故意放慢系統的速度」?