自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Android通知推送,你需要知道這些事

移動(dòng)開發(fā) Android
前段時(shí)間,在工信部的牽頭下,「統(tǒng)一推送聯(lián)盟」 成立。該聯(lián)盟將聯(lián)合多家 Android 手機(jī)廠商、互聯(lián)網(wǎng)公司等相關(guān)企業(yè),打造一個(gè) Android 平臺(tái)的統(tǒng)一推送服務(wù) Unified Push Service(UPS),有望遏制國(guó)內(nèi) Android 生態(tài)圈的各種亂象。

前段時(shí)間,在工信部的牽頭下,「統(tǒng)一推送聯(lián)盟」 成立。該聯(lián)盟將聯(lián)合多家 Android 手機(jī)廠商、互聯(lián)網(wǎng)公司等相關(guān)企業(yè),打造一個(gè) Android 平臺(tái)的統(tǒng)一推送服務(wù) Unified Push Service(UPS),有望遏制國(guó)內(nèi) Android 生態(tài)圈的各種亂象。

對(duì)于國(guó)內(nèi)廣大 Android 用戶來(lái)說(shuō),這是一個(gè)振奮人心的好消息。如果一切進(jìn)展順利,在不久的將來(lái),即使是中低端的 Android 手機(jī),也將依靠這一統(tǒng)一推送服務(wù)獲得相當(dāng)不錯(cuò)的使用體驗(yàn)。借這個(gè)機(jī)會(huì),我來(lái)給大家簡(jiǎn)單介紹一下 Android 推送服務(wù)的前世今生。

Apple 推送通知服務(wù)

在介紹 Android 推送之前,我們先用隔壁 Apple 的推送服務(wù)來(lái)談?wù)勏⒌慕y(tǒng)一推送。許多人選擇 iPhone 而非 Android 手機(jī),很大的一個(gè)原因是他們認(rèn)為 iOS 的系統(tǒng)更加流暢、用久了不卡(當(dāng)然根據(jù)最近的消息 iOS 會(huì)降低手機(jī)性能以延長(zhǎng)老化電池的供電壽命)。這種流暢感要?dú)w功于 iOS 相對(duì)激進(jìn)的后臺(tái)進(jìn)程限制,而自 2009 年發(fā)布的 iOS 3.0 上就出現(xiàn)的「Apple 推送通知服務(wù)(Apple Push Notification Service)」在這之中起了舉足輕重的作用。 

Apple 推送通知服務(wù)的推送流程
Apple 推送通知服務(wù)的推送流程

在 iOS 上,Apple 推送通知服務(wù)托管了所有應(yīng)用的消息通知需求,當(dāng)某一應(yīng)用的開發(fā)者(服務(wù)器)需要發(fā)送一則消息通知時(shí),這一則消息會(huì)首先發(fā)給 Apple 服務(wù)器,然后經(jīng)由 Apple 推送通知服務(wù)被推送到設(shè)備。在這一過(guò)程中,設(shè)備上的應(yīng)用本身沒有參與。這就是我們?cè)趪?guó)內(nèi)也能收到 Instagram、YouTube 等國(guó)外應(yīng)用消息推送的原因了——畢竟國(guó)內(nèi)有 Apple 的服務(wù)器,這一連接的質(zhì)量是很有保證的。

當(dāng)然,Apple 后來(lái)也把這一服務(wù)集成到自家的 macOS 上,如今的 macOS 也能享受這樣的推送服務(wù)。對(duì)于一臺(tái)移動(dòng)設(shè)備來(lái)說(shuō),這樣統(tǒng)一的推送服務(wù),使得應(yīng)用無(wú)需常駐后臺(tái),資源占用能很好地得到控制,所以在同等配置下能做到更加流暢、省電。

Android 官方推送服務(wù):從 C2DM 到 FCM

然而 Android 在統(tǒng)一推送方面其實(shí)并沒有落后太多。2010 年,在 Apple 推送通知服務(wù)發(fā)布后沒多久,Android 2.2 上便推出了「云端至設(shè)備消息傳遞(Cloud to Device Messaging,即 C2DM)」,它的原理與 Apple 推送通知服務(wù)類似,消息從應(yīng)用服務(wù)器被發(fā)送到統(tǒng)一服務(wù)器,然后發(fā)送到設(shè)備。

這一服務(wù)在 2012 年被「Google 云消息傳遞(Google Cloud Messaging,即 GCM)」替代。相比 C2DM,GCM 的 主要優(yōu)點(diǎn) 是沒有消息配額限制,且對(duì)于開發(fā)者更友好,同時(shí)能更好地節(jié)省電量。

2014 年 Google 收購(gòu) Firebase 后,將 GCM 改名為「Firebase 云消息傳遞(Firebase Cloud Messaging,即 FCM) 」,并 進(jìn)一步簡(jiǎn)化了推送服務(wù)的相關(guān)開發(fā)工作。 

Firebase 云消息傳遞
Firebase 云消息傳遞

七八年一路走來(lái),從 C2DM 到 FCM,從 Android 2.2 到 Android 8.1,統(tǒng)一的推送服務(wù)一路伴隨著 Android 的成長(zhǎng)。得益于此,對(duì)于國(guó)外 Android 用戶的手機(jī)來(lái)說(shuō),卡頓、費(fèi)電什么的幾乎沒有存在過(guò)。反觀國(guó)內(nèi),由于 Google 服務(wù)在大陸地區(qū)的使用很不穩(wěn)定,國(guó)行 Android 手機(jī)往往會(huì)為了更好的用戶體驗(yàn)而精簡(jiǎn)掉 Google 服務(wù),統(tǒng)一推送服務(wù)也同時(shí)被去除。由此,各大第三方推送服務(wù)應(yīng)運(yùn)而生。

Android 第三方推送服務(wù)

首先***良心的應(yīng)該是各大手機(jī)廠商自家的推送服務(wù),比如華為的「華為推送平臺(tái)」,小米的「MiPush」等。這些推送服務(wù)被集成在各家高度定制的 Android 系統(tǒng)中,享有系統(tǒng)級(jí)地位,推送的優(yōu)先級(jí)比較高。如果你的小米手機(jī)內(nèi)所有的應(yīng)用都使用 MiPush,那相信它也可以像 iOS 一樣流暢省電。

但這往往是不可能的,開發(fā)者不可能兼顧所有的廠商,為每個(gè)牌子的手機(jī)都適配對(duì)應(yīng)的推送服務(wù),能顧上華為和小米已經(jīng)是很盡力了。另外雖然廠商推送服務(wù)也可以在其它牌子的手機(jī)上正常使用,但并不能像在自家系統(tǒng)上一樣實(shí)現(xiàn)系統(tǒng)級(jí)的推送,推送服務(wù)的后臺(tái)進(jìn)程依舊要常駐。 

華為推送平臺(tái)
華為推送平臺(tái)

其次,各大互聯(lián)網(wǎng)公司也有自己的推送服務(wù),比如騰訊信鴿推送、百度云推送、阿里云移動(dòng)推送。使用這三家公司各類 Android 應(yīng)用的朋友不少都知道他們的「企鵝全家桶」「百度全家桶」和「阿里全家桶」,「全家桶效應(yīng)」調(diào)侃的就是 BAT 自家應(yīng)用的相互喚醒,讓系統(tǒng)變卡變慢。你打開一個(gè)淘寶,就會(huì)喚醒閑魚、支付寶、天貓等等應(yīng)用,這種相互喚醒,目的是讓共用的推送通道保持活躍,而不被系統(tǒng)殺死,以便消息能及時(shí)送達(dá)。

除了以上提到的兩種推送服務(wù),另外還有一種專業(yè)的第三方平臺(tái)提供推送服務(wù),比如極光推送、友盟推送等等。這種第三方平臺(tái)與互聯(lián)網(wǎng)大廠的推送服務(wù)類似,所以使用同一推送通道的應(yīng)用也會(huì)有相互喚醒的情況,以保持通道的活躍。

不同的開發(fā)者在面對(duì)以上眾多的推送服務(wù)時(shí),必然會(huì)做出不同的選擇,這導(dǎo)致我們手機(jī)上的應(yīng)用所使用的推送服務(wù)五花八門,極不統(tǒng)一。就算拋開多個(gè)推送服務(wù)本身占用的資源不看,應(yīng)用之間為了保持推送通道的活躍而互相喚醒的情況常常使得 Android 手機(jī)滿載運(yùn)行,手機(jī)又卡又費(fèi)電也就不難理解了。

如今工信部站出來(lái),推進(jìn) Android 統(tǒng)一推送,無(wú)疑具有重要的意義。一旦統(tǒng)一推送服務(wù)普及,我們手上的 Android 手機(jī)會(huì)變得更流暢省電,開發(fā)者也無(wú)需為了配置各種推送服務(wù)而頭疼,同時(shí)還要遭受用戶的抱怨。更重要的是,此舉有助于培養(yǎng)良好的國(guó)內(nèi) Android 應(yīng)用生態(tài),并把 《Android 綠色應(yīng)用公約》 推進(jìn)到更大的范圍。

在當(dāng)前生態(tài)下使用 Android 官方推送

那么在當(dāng)前的生態(tài)下,我們可以使用 Google 官方的 FCM 推送嗎?當(dāng)然可以。只要你的手機(jī)裝有 Google 服務(wù),并且你的應(yīng)用下載自 Play Store,那么即使身處國(guó)內(nèi),你也能通過(guò) FCM 收到消息推送。下圖就是我在國(guó)內(nèi)網(wǎng)絡(luò)下收到的 YouTube 通知。 

在國(guó)內(nèi)網(wǎng)絡(luò)下收到 YouTube 通知
在國(guó)內(nèi)網(wǎng)絡(luò)下收到 YouTube 通知

針對(duì)一些大量占用系統(tǒng)資源的國(guó)內(nèi)應(yīng)用,我建議你使用 「黑域」 限制它們的后臺(tái)活動(dòng),并開啟「允許同步」來(lái)接收消息推送(僅支持部分應(yīng)用)。以微信為例,它在黑域中顯示支持 FCM,所以我們?cè)诤谟蛑小负谟颉刮⑿挪㈤_啟同步后,即使微信應(yīng)用被 Standby(開啟同步的應(yīng)用在黑域中不會(huì)被強(qiáng)行停止),也能及時(shí)通過(guò) FCM 收到消息推送。 

在黑域中開啟微信的「允許同步」
在黑域中開啟微信的「允許同步」

當(dāng)然,還是因?yàn)?Google 服務(wù)器的部署問題,F(xiàn)CM 在國(guó)內(nèi)依舊不太穩(wěn)定。希望工信部牽頭的統(tǒng)一推送服務(wù)能盡快到來(lái),讓 Android 用戶早日擺脫手機(jī)用半天就沒電的窘境。

責(zé)任編輯:未麗燕 來(lái)源: 少數(shù)派
相關(guān)推薦

2018-05-16 09:41:13

神經(jīng)網(wǎng)絡(luò)NN函數(shù)

2016-11-01 23:16:52

光纖光纖線纜

2020-09-17 16:08:29

網(wǎng)絡(luò)安全數(shù)據(jù)技術(shù)

2020-05-07 10:14:00

企業(yè)架構(gòu)師CIOIT網(wǎng)絡(luò)

2021-04-15 08:04:27

容器DevOps程序

2023-09-04 07:49:43

2016-01-20 09:44:22

物聯(lián)網(wǎng)標(biāo)準(zhǔn)

2017-10-02 10:39:48

2018-02-08 08:08:12

2015-08-11 17:55:21

谷歌重組科技

2018-12-21 09:15:13

綜合布線屏蔽線纜

2023-08-16 15:57:53

2014-04-01 13:54:32

AndroidStudioEclipse

2016-07-12 15:20:32

C3安全峰會(huì)安全可控網(wǎng)絡(luò)安全

2018-08-01 11:07:31

人工智能深度學(xué)習(xí)機(jī)器人

2010-11-16 17:16:36

IPv6IPv4

2023-01-30 11:43:04

開源代碼

2022-04-28 12:17:26

瀏覽器連字符hyphens

2024-01-22 11:34:08

2023-03-23 15:14:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)