windows phone 7 為第三方開發者提供云服務的在線推送功能,他通過一個特殊的數據通道,讓服務器應用給手機發送數據。
下圖介紹了windows phone 7 的在線推送功能。1 手機客戶端向微軟的服務器請求 通知的uri,即先向微軟注冊推送服務(2和3)你的客戶端把這個uri發送到你自己的云服務器上(4),當你的云服務器有消息要push到你的手機時,就可以通過這個uri向微軟的推送服務發送消息(5),微軟的推送服務就會把這條消息放到推送的隊列中,向手機push消息(6)。

我們可以把推送通知理解成,一部手機就相當于我們一個用戶,在淘寶注冊了帳號并填寫了送貨地址(URI),在購買完自己需要的物品后,通知淘寶商家發貨了,這時淘寶商家接收到我們給出的URI,就把貨品打包,可以使用萬能打包把什么東西都放進去(Raw)或者根據我們的要求要打包成禮品的樣子(Tokens或者Toast 需要的XML格式 ),之后通知快遞公司(
微軟--》不同的是,微軟是免費的幫我們快遞 ) 。而當我們收到快遞公司給予我們的通知后,如打電話說:“先生,你的貨品己經到達,請接收”,之后我們就根據打包方式進行接收啦。參考1
推送類型包含三種:
1.Raw Notification
2.
Toast Notification
3.
Tokens (Tile) Notification
具體的可以參考用例!
這里實現一個類似微信的短信不在線提醒功能。
即:在windows phone 中向微軟注冊推送服務功能,將返回的uri提交給自己的服務器,讓服務器管理不同手機的uri。
如果有一臺手機向另外一臺手機發送消息時,手機不在線,就可以通過手機對應的uri進行推送。
demo如下:

:
這里只有一個windows phone 7 的模擬器,所以實現的是自己給自己發送短信的功能。至于如何實現同時運行兩個模擬器,這里有說明:
http://www.silverlightchina.net/html/zhuantixilie/winphone7/2011/0526/7913.html源代碼下載源碼是一些實驗性的東西,還有很多的細節都沒有完善,只能做參考使用。
參考文章:
1.
Windows Phone 7 不溫不火學習之 原文地址:
http://www.cnblogs.com/TerryBlog/archive/2011/01/08/1930900.html
2.Push Notifications Overview for Windows Phone
http://msdn.microsoft.com/en-us/library/ff402558(v=vs.92).aspx3.
Windows Phone 7 網絡編程之使用Socket(芒果更新)
http://www.cnblogs.com/linzheng/archive/2011/06/21/2086456.html
posted on 2011-07-04 22:51
漂漂 閱讀(2158)
評論(0) 編輯 收藏 引用