APNS簡介
APNS(英文全稱:Apple Push Notification Service),中文翻譯為:蘋果推送通知服務。該技術由蘋果公司提供的APNS服務。蘋果推送通知服務的傳輸和路由的通知從一個給定的供應商給定的設備。通知是由兩個主要部分組成的數據:設備令牌和有效載荷的短訊息。設備令牌是類似於一個電話號碼,它包含的信息,使的APN定位的設備上安裝客戶端應用程式。APN還用它來驗證通知的路由。有效載荷是一個JSON定義的屬性列表中指定的設備上的應用程式的用戶將被提醒。
工作原理
首先,APNS會對用戶進行物理連線認證,和設備令牌認證(簡言之就是蘋果的伺服器檢查設備里的證書以確定其為蘋果設備);
iOS推送實現方式
推薦使用APNS服務,穩定,方便,美中不足是沒有推送到達的回執和統計,不方便產品運營。如對此方面有需求可以使用 個推等第三方推送服務解決Windows Mobile
使用MPNS(Microsoft Push Notification Service 微軟推送通知服務),相應速度不錯,但推送不帶狀態,很多功能無法實現。
推送方案評價標準
推送方案的公認評價採取4s標準:1.Safe(安全) 2. Stable(穩定) 3.Save(省電省流量省成本) 4.Slim(體積小)1.Safe (安全)
推送方案應支持透傳及各種加密方案,保障信息傳遞安全。推送方案的ID系統應該獨立於已有的網站或服務的ID系統,這樣保障用戶在不同手機上登錄後的信息投遞準確性,避免因為取消綁定事件失敗因網路傳輸而造成的信息誤投送。
2. Stable(穩定)
穩定包括兩個部分一個是伺服器端的穩定性,一個是手機端的穩定性。服務端穩定性,因為使用長連線方案,對伺服器的開銷和要求很大,推送方案對伺服器開發要求很高,海量執行緒連線下的伺服器穩定性是非常具有挑戰性的。一般的評判標準包括:
- 同時線上時峰值 (一般按照百萬並發連線時伺服器穩定性評測)
- 高並發時訊息平均延遲時間(一般按照1分鐘處理1百萬條信息評測)
- 服務穩定性 (一般要求全年99.9%以上可用,有備份,有負載均衡等)
鑒於伺服器穩定的開發難度很大,小團隊不建議自己開發,建議使用穩定的第三方推送方案,如 個推,蝴蝶等。
手機端的穩定性,主要是因為中國的複雜網路狀況及手機型號適配情況造成手機長時間穩定聯網較困難,所以穩定性非常重要,一般的評判標準包括:
- 每日聯網23.5小時以上用戶比例 (表征聯網穩定性)
- 訊息傳送後9小時內收到率 (表徵到達率)
一般來說,推送方案要做網路的分運營商,分省,分機型適配,自己開發工作量較大
3.Save(節省)
省電應注意CPU休眠,一般用服務縮短待機時間百分比評判省流量應注意協定的修改和冗餘數據包的處理,一般用空載待機月流量評判
省成本應考慮單伺服器承載同時連線數,可承載同時連線數越多成本越低,業內 頂尖水平為 個推的單伺服器50萬連線