大片视频免费观看视频_欧美激情猛片xxxⅹ大3之樱桃_性饥渴艳妇性色生活片在线播放_啦啦啦www视频在线观看_宝贝~你里面好紧我好爽视频_国产国产人免费人成免费视频_来自GeoGebra 的交互式_欧美又色又爽又黄的A片18禁_色欲aⅴ亚洲情无码AV

關(guān)于android推送通知服務(wù),這些事你需要知道!

share

  前段時間,在工信部的牽頭下「統(tǒng)一推送聯(lián)盟」 成立。該聯(lián)盟將聯(lián)合多家Android手機廠商、互聯(lián)網(wǎng)公司等相關(guān)企業(yè),打造一個Android平臺的統(tǒng)一推送服務(wù) Unified Push Service(UPS),有望遏制國內(nèi)Android生態(tài)圈的各種亂象。如果一切進展順利,在不久的將來,即使是中低端的Android手機,也將依靠這一統(tǒng)一推送服務(wù)獲得相當(dāng)不錯的使用體驗。下面來給大家簡單介紹一下android推送通知服務(wù)。 Apple推送通知服務(wù)   在介紹android推送通知服務(wù)之前,我們先從Apple的推送服務(wù)來談?wù)勏⒌慕y(tǒng)一推送。許多人選擇iPhone而非Android手機,很大的一個原因是他們認為 iOS 的系統(tǒng)更加流暢、用久了不卡(當(dāng)然根據(jù)最近的消息iOS會降低手機性能以延長老化電池的供電壽命)。這種流暢感要歸功于iOS相對激進的后臺進程限制,而自 2009年發(fā)布的 iOS 3.0上就出現(xiàn)的「Apple 推送通知服務(wù)(Apple Push Notification Service)」在這之中起了舉足輕重的作用。 關(guān)于android推送通知服務(wù),你需要知道這些事 圖1 (Apple推送通知服務(wù)的推送流程)   在 iOS 上,Apple推送通知服務(wù)托管了所有應(yīng)用的消息通知需求,當(dāng)某一應(yīng)用的開發(fā)者(服務(wù)器)需要發(fā)送一則消息通知時,這一則消息會首先發(fā)給Apple服務(wù)器,然后經(jīng)由Apple推送通知服務(wù)被推送到設(shè)備。在這一過程中,設(shè)備上的應(yīng)用本身沒有參與。這就是我們在國內(nèi)也能收到 Instagram、YouTube 等國外應(yīng)用消息推送的原因了――畢竟國內(nèi)有 Apple 的服務(wù)器,這一連接的質(zhì)量是很有保證的。   當(dāng)然,Apple后來也把這一服務(wù)集成到自家的 macOS 上,如今的 macOS 也能享受這樣的推送服務(wù)。對于一臺移動設(shè)備來說,這樣統(tǒng)一的推送服務(wù),使得應(yīng)用無需常駐后臺,資源占用能很好地得到控制,所以在同等配置下能做到更加流暢、省電。 Android官方推送服務(wù):從 C2DM 到 FCM   然而Android在統(tǒng)一推送方面其實并沒有落后太多。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)點 是沒有消息配額限制,且對于開發(fā)者更友好,同時能更好地節(jié)省電量。   2014年Google收購Firebase后,將GCM改名為「Firebase 云消息傳遞(Firebase Cloud Messaging,即 FCM) 」,并 進一步簡化了推送服務(wù)的相關(guān)開發(fā)工作。 關(guān)于android推送通知服務(wù),你需要知道這些事 圖2 (Firebase 云消息傳遞)   七八年一路走來,從 C2DM 到 FCM,從 Android 2.2 到 Android 8.1,統(tǒng)一的推送服務(wù)一路伴隨著 Android 的成長。得益于此,對于國外Android用戶的手機來說,卡頓、費電什么的幾乎沒有存在過。反觀國內(nèi),由于Google服務(wù)在大陸地區(qū)的使用很不穩(wěn)定,國行Android手機往往會為了更好的用戶體驗而精簡掉 Google服務(wù),統(tǒng)一推送服務(wù)也同時被去除。由此,各大第三方推送服務(wù)應(yīng)運而生。 Android第三方推送服務(wù)   首先最具良心的應(yīng)該是各大手機廠商自家的推送服務(wù),比如華為的「華為推送平臺」,小米的「MiPush」等。這些推送服務(wù)被集成在各家高度定制的 Android 系統(tǒng)中,享有系統(tǒng)級地位,推送的優(yōu)先級比較高。如果你的小米手機內(nèi)所有的應(yīng)用都使用 MiPush,那相信它也可以像 iOS 一樣流暢省電。   但這往往是不可能的,開發(fā)者不可能兼顧所有的廠商,為每個牌子的手機都適配對應(yīng)的推送服務(wù),能顧上華為和小米已經(jīng)是很盡力了。另外雖然廠商推送服務(wù)也可以在其它牌子的手機上正常使用,但并不能像在自家系統(tǒng)上一樣實現(xiàn)系統(tǒng)級的推送,推送服務(wù)的后臺進程依舊要常駐。 關(guān)于android推送通知服務(wù),你需要知道這些事 圖3 (華為推送平臺)   其次,各大互聯(lián)網(wǎng)公司也有自己的推送服務(wù),比如騰訊信鴿推送、百度云推送、阿里云移動推送。使用這三家公司各類 Android 應(yīng)用的朋友不少都知道他們的「企鵝全家桶」「百度全家桶」和「阿里全家桶」,「全家桶效應(yīng)」調(diào)侃的就是BAT自家應(yīng)用的相互喚醒,讓系統(tǒng)變卡變慢。你打開一個淘寶,就會喚醒閑魚、支付寶、天貓等等應(yīng)用,這種相互喚醒,目的是讓共用的推送通道保持活躍,而不被系統(tǒng)殺死,以便消息能及時送達。   除了以上提到的兩種推送服務(wù),另外還有一種專業(yè)的第三方平臺提供推送服務(wù),比如極光推送、友盟推送等等。這種第三方平臺與互聯(lián)網(wǎng)大廠的推送服務(wù)類似,所以使用同一推送通道的應(yīng)用也會有相互喚醒的情況,以保持通道的活躍。   不同的開發(fā)者在面對以上眾多的推送服務(wù)時,必然會做出不同的選擇,這導(dǎo)致我們手機上的應(yīng)用所使用的推送服務(wù)五花八門,極不統(tǒng)一。就算拋開多個推送服務(wù)本身占用的資源不看,應(yīng)用之間為了保持推送通道的活躍而互相喚醒的情況常常使得 Android 手機滿載運行,手機又卡又費電也就不難理解了。   如今工信部站出來,推進Android統(tǒng)一推送,無疑具有重要的意義。一旦統(tǒng)一推送服務(wù)普及,我們手上的Android手機會變得更流暢省電,開發(fā)者也無需為了配置各種推送服務(wù)而頭疼,同時還要遭受用戶的抱怨。更重要的是,此舉有助于培養(yǎng)良好的國內(nèi)Android應(yīng)用生態(tài),并把 《Android 綠色應(yīng)用公約》 推進到更大的范圍。 在當(dāng)前生態(tài)下使用Android官方推送   那么在當(dāng)前的生態(tài)下,我們可以使用Google官方的FCM推送嗎?當(dāng)然可以。只要你的手機裝有Google服務(wù),并且你的應(yīng)用下載自Play Store,那么即使身處國內(nèi),你也能通過FCM收到消息推送。下圖就是我在國內(nèi)網(wǎng)絡(luò)下收到的YouTube通知。 關(guān)于android推送通知服務(wù),你需要知道這些事 圖4 (在國內(nèi)網(wǎng)絡(luò)下收到 YouTube 通知)   針對一些大量占用系統(tǒng)資源的國內(nèi)應(yīng)用,我建議你使用「黑域」限制它們的后臺活動,并開啟「允許同步」來接收消息推送(僅支持部分應(yīng)用)。以微信為例,它在黑域中顯示支持FCM,所以我們在黑域中「黑域」微信并開啟同步后,即使微信應(yīng)用被Standby(開啟同步的應(yīng)用在黑域中不會被強行停止),也能及時通過FCM收到消息推送。 ? 關(guān)于android推送通知服務(wù),你需要知道這些事 圖5 (在黑域中開啟微信的「允許同步」)   當(dāng)然,還是因為Google服務(wù)器的部署問題,F(xiàn)CM在國內(nèi)依舊不太穩(wěn)定。希望工信部牽頭的統(tǒng)一推送服務(wù)能盡快到來,讓Android用戶早日擺脫手機用半天就沒電的窘境。

Q:文檔中如何使用標(biāo)題?
A:使用 number signs (#) 來表示標(biāo)題,例如 # 一級標(biāo)題、## 二級標(biāo)題等。
Q:列表項怎么表示?
A:列表項以 dashes (-) 開頭,例如 - 列表項內(nèi)容。
Q:如何強調(diào)文本?
A:用 asterisks (*) 包裹需要強調(diào)的文本,例如 *強調(diào)的內(nèi)容*。
Q:代碼或命令怎么表示?
A:用 backticks (`) 包圍代碼或命令,例如 `code or command`。
Q:引用文本怎么表示?
A:用 greater than signs (>) 表示引用文本,例如 > 引用的內(nèi)容。
Q:鏈接怎么表示?
A:用 square brackets [] 包裹鏈接文本,后面跟 URL 在 parentheses () 中,例如 [鏈接文本](鏈接地址)。
Q:圖片怎么表示?
A:用 square brackets [] 寫圖片的 alt 文本,后面跟圖片 URL 在 parentheses () 中,例如 [圖片描述](圖片地址)。

share