本文是在最近擴展WP推送時的一些心得,希望對各位有幫忙:
windows phone的推送框架,可參考官網,裏面有詳細的介紹
1.推送的基本流程
客戶端跟微軟cloud service生成一個URI(分HTTP與HTTPS的,後面會有介紹),服務器拿到客戶端生成的URI,服務器端給此用戶發送推送消息,即給此URI發送請求,微軟MPNS會中轉請求到客戶端.
2.服務器端與MPNS通信協議基於XML
此處可以發現WP與IOS的推送的差別,一個是TCP,二進制協議,一個是HTTP/HTTPS,XML協議,不忍吐槽了。
3.WP推送分tile,toast,raw三種
每一種還有一些對應的參數,太複雜了,也沒去細糾結。因爲我們是IM軟件,只推送用戶未讀消息,跟IOS的未坊消息想到一樣的效果,即一條未讀消息需要發送一條tile帶下去有多少未讀數,一條是toast消息,告訴其我要推送給用戶的提示是什麼。(不忍吐槽。。)
相關推送可以參考上面官網的說明,也算比較簡單實現了。
4.WP推送對於HTTP與HTTPS的區別
HTTP:每天只能給一個用戶推送500條消息,正常肯定夠用了,一天收500條推送也想那個了,,
HTTPS:我們使用的是這種,使用HTTPS相當沒有發送限制,但要使用HTTPS推送需要做以下事情:
- 購買一個SSL證書。
- 在微軟官網上傳應用的地方上傳對應的公鑰。
- 自己跟據公私鑰,生成PCKS12編碼的PFX格式的證書文件,用於與MPNS建立安全鏈接。
- 跟據以上PFX格式證書與對應的獲取到的HTTPS 地址,發送推送。
- 測試時HTTPS發送推送好慢,一般都在600MS以上,放國外機器上也好不了多少,偶爾速度慢到無力吐槽了.
以上爲WP推送的一些簡單介紹,由於相關資料比較少,如果第一次接觸多少會有點麻煩,希望能對你有幫助!
最後說下:簡單的推送協議的設計的差距,以及給用戶表現的設計,能看出企業在移動端的差距!