編輯:Android開發教程
推送並不是什麼新技術,這種技術在互聯網時代就已經很流行了。只是隨著進入移動互聯網時代,推送技術顯得更加重要。因為在智能手機中,推送從某種程度上,可以取代使用多年的短信,而且與短信相比,還可以向用戶展示更多的信息(如圖像、表格、聲音等)。
推送技術的實現通常會使用服務端向客戶端推送消息的方式。也就是說客戶端通過用戶名、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提供消息服務,應用程序需要先向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
 
Android中context可以作很多操作,但是最主要的功能是加載和訪問資源。在android中有兩種context,一種是application context,一種
使用Android系統最大的優點就是刷機,並且良好的兼容性和自由的可擴展性成為開發者的“樂土”,比如CM等自定義ROM,那麼你有沒有想過將Andr
現代手機設備的一個非常重要的特性就是可以旋轉屏幕的方向。當然了,Android也不例外。Android支持 兩種屏幕方向:portrait(豎屏)和landscape(橫
編寫本文的背景隨著智能電話使用率的增長,越來越多的基於 Web 的應用程序開始提供從移動客 戶端訪問的能力,無論該客戶端是浏覽器還是原生應用程序。在這兩種情況下,這些客戶