天天看點

Windows Phone 7 中的推送通知

線上應用程式中大量的資料需要從伺服器傳送到手機。以傳統的電子郵件為例,應用程式以一定時間間隔從伺服器擷取新郵件。為了保證資訊及時更新這個間隔需要足夠短。這種機制在手機上會過于頻繁地啟動無線通信功能,因而耗費寶貴的電池續航能力和無線通信流量。這種機制的另一個問題是郵件應用程式為了檢查新郵件必須正在運作中,然而實際上伺服器有重要新郵件時,手機的郵件應用程式可能并沒有啟動或激活。

為了解決這些問題,Windows Phone為開發者提供了推送通知的服務。其原理很簡單,當伺服器有資訊要發送到手機應用程式,該資訊會通過微軟推送通知服務傳給手機。

三類推送通知

根據應用程式和傳遞資料的性質,開發者可以從三類推送通知中進行選擇。

瓷磚通知

(Tile Notification)是出現在首頁應用程式瓷磚圖示上的通知。隻要應用程式以瓷磚圖示方式加到首頁,推送通知可以靈活改變瓷磚圖示的标題、背景和計數。

彈出通知

(Toast Notification)是無論應用程式是否在運作都會彈出在螢幕頂部,與螢幕等寬的通知。停留約10秒後通知自動消失,手指劃動通知則立刻消失。單擊該通知會啟動相關應用程式。英文名稱烤面包(Toast)源于微軟的MSN桌面應用,因為通知在背景中向上彈出時很像面包從烤面包機中彈出來。彈出通知不能更新程式的資料,想做到這一點需要使用原生通知。

原生通知

(Raw Notification)用于将消息直接傳遞給應用程式,并允許在使用者使用應用程式過程中實時更新使用者界面。

通知的推送過程

通知的推送過程分成以下步驟。

首先,應用程式首次運作時調用推送通知服務 ,請求并登記一個用于通信的專用URI (Uniform Resource Indicator)。

此後,當伺服器有新資料時,伺服器通過推送通知服務向第一步登記的URI傳遞資訊。推送通知服務以瓷磚通知,彈出通知或原生通知中的合适方式,将資料發送到手機。

繼續閱讀