天天看點

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

  推送技術的實作通常會使用服務端向用戶端推送消息的方式。也就是說用戶端通過使用者名、key等id注冊到服務端後,在服務端就可以将消息向所有活動的用戶端發送。

  一、ios的推送技術

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

  在發送消息到用戶端裝置接收到消息的過程中,始終伴随這一個令牌的傳送(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的描述就會對這一過程更加了解了。每一個流程描述前面的數字表示發送的時間先後順序。

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

  二、windows phone的推送技術

  第1步:應用程式會向push client service請求一個push notification uri(①)。

  第2步:如果目前window phone裝置已經在微軟伺服器注冊了,push client service會從mpns(microsoft push notification service ,微軟推送通知服務)擷取push notification uri,并傳回給應用程式,表示推送服務可用(②和③)。

  第3步:應用程式需要将push notification uri發送給自己的推送伺服器(cloud service)(④)。

  第4步:如果需要推送消息,cloud service會将消息發送到mpns,然後mpns會将消息發送給push client service,最後由push client service将消息傳送給應用程式(⑤、⑥和③)。

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

<a href="http://www.51testing.com/batch.download.php?aid=48042" target="_blank"></a>

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

  除了使用官方的推送方案外,現在國内湧現出多個第三方的推送方案,例如,極光推送(jpush)、百度推送等。讀者也可以用一下,這些同時通常是免費的(可能推送多媒體資料需要收費)。

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀