淺析Android、iOS和Windows Phone中的推送技術

來源:互聯網
上載者:User

推送並不是什麼新技術,這種技術在互連網時代就已經很流行了。只是隨著進入移動互連網時代,推送技術顯得更加重要。因為在智能手機中,推送從某種程度上,可以取代使用多年的簡訊,而且與簡訊相比,還可以向使用者展示更多的資訊(如映像、表格、聲音等)。

推送技術的實現通常會使用服務端向用戶端推送訊息的方式。也就是說用戶端通過使用者名稱、Key等ID註冊到服務端後,在服務端就可以將訊息向所有活動的用戶端發送。

實際上,在很多移動作業系統中,官方都為其提供了推送方案,例如,Google的雲推送、IOS、Windows Phone7/8也都提供了類似的推送方案。不過這些推送方案的伺服器都在國外,有一些推送服務(如Google的雲推送)在國內由於某些原因不太穩定,所以國內近幾年湧現出了很多專門為國人打造的推送服務。

本文將從各種流行移動作業系統入手介紹推送技術的各種實現方式。當然,我們的主要目的是討論Android的推送技術。

一、iOS的推送技術

Apple為IOS提供了很完美的推送方案,其基本原理是Apple提供了自己的推送伺服器,叫APNS(Apple Push Notification Service,蘋果推播通知伺服器)。而用戶端裝置(IPhone、IPad等)直接與APNS建立長串連。不過向用戶端裝置發送的訊息並不是由APNS產生的,而是在需要發送訊息的使用者自己提供的伺服器(稱為Provider)中產生的,然後Provider將訊息傳送給APNS,最後由APNS將訊息傳送給用戶端裝置。也就是說,訊息最開始由Provider產生,然後Provider將訊息傳送給APNS,最後再由APNS傳送給用戶端裝置。訊息傳遞的過程如圖1所示。

圖1

在發送訊息到用戶端裝置接收到訊息的過程中,始終伴隨這一個令牌的傳送(device token)。要想使用APNS提供Message Service,應用程式需要先向IOS註冊需要提供的一個必要的資訊就是與當前裝置有關的device token,IOS在接收到devicetoken後,會向APNS查詢這個device token是否在APNS上註冊了(所有的IOS裝置在第一次使用時都需要向蘋果伺服器註冊一個帳號,否則無法從AppleStore下載應用,當然更無法使用推送服務了),如果已經註冊,APNS會直接嚮應用程式返回這個devicetoken。應用程式獲得這個devicetoken後,表示APNS已經允許向自己推送訊息了,接著還需要將該device token發送給推送伺服器(Provider)。到這裡應用程式已經成功將自己註冊到APNS中了。現在就可以通過Provider產生要推送的訊息,然後Provider會將訊息發送給APNS伺服器,最後APNS伺服器會直接嚮應用程式發送訊息。這個過程比較複雜,不過看一下圖2的描述就會對這一過程更加瞭解了。每一個流程描述前面的數字表示發送的時間先後順序。

圖2

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.