標籤:
APNs是遠程推播通知服務,就是從遠程伺服器推送給用戶端的通知(需要連網)
首先,傳統的擷取資料的方法存在局限性:只要使用者關閉了app,就無法和app的伺服器進行溝通,無法從伺服器上獲得最新的資料內容
APNs是為了蘋果為瞭解決使用者不能即時從伺服器獲得資料的解決方案
無論開啟或者關閉app,只要是連網了,都可以接收到伺服器推送的遠程通知 所有的蘋果裝置,在連網的狀態下,都會與蘋果伺服器建立長串連——即只要連網了,就一直建立串連———長串連的作用,如時間校準,系統升級,尋找我的iphone等 APNs的原理——以 為陌陌推送訊息為例 A給B發送一條訊息,此時B不線上,如何將訊息推送到B的手機? 首先,陌陌的的伺服器只能在使用者沒有退出的前提下才可以和使用者互動,使用者接受到別人發送的訊息,即時顯示到自己的app.如果使用者的app關掉,那隻能通過蘋果的APNs推送給使用者 大體的流程----B發送的訊息首先發送到默默的聊天伺服器—陌陌拿到聊天資料然後發送給蘋果的APNs伺服器,APNs伺服器負責將訊息推送到使用者的手機上陌陌的伺服器中儲存著每個使用者的賬戶資訊,裝置的唯一標識APNs如何推送到具體到某個手機的具體的某個APP?—————APNs如果想要推送一條訊息給某個使用者的具體某個APP,需要知道1.哪一台裝置(使用者裝置的唯一標識UIID)——陌陌伺服器從用戶端擷取的,並且傳給APNs的.————注意UUID是比較隱私的東西,陌陌伺服器儲存的是加密的UUID(自己看不到,只有蘋果才可以解密)2.這台裝置的哪一個APP((陌陌,還是qq,給哪一個APP推送),應用的唯一標識.注意:UUID和APPID通過調用蘋果的API,蘋果對其進行加密之後,然後再給陌陌伺服器,陌陌伺服器儲存的是DeviceToken,只有蘋果才可以解密使用者的UUID.蘋果解析DeviceToken.解密出UUID和APPID.推送給使用者DeviceToken的數量取決於使用者所裝應用的數量
14 - 蘋果遠程推送原理