傳統互聯網上數據交互通常有poll和push兩種方式。poll典型使用場景是瀏覽網頁,是用戶主動發起請求,向服務器獲取數據;push恰好相反,經過服務器直接發送數據給客戶端,用戶被動接受消息,相似於更加及時的短信。html
PUSH是互聯網上內容提供者和內容定製方之間的一種通訊機制,利用在服務器端的程序把數據源源不斷地推向客戶端,大大提升客戶機和服務器之間的交互性能。服務器
第三方推送服務供應商:極光、雲吧、個推、百度、蝴蝶等網絡
推送的意義:經過個推的技術,APP可主動向其用戶推送各種消息,結合精準的用戶畫像分析,給合適的用戶在合適的場景下推送合適的內容,大幅度提高消息點擊率、用戶活躍度和留存率。less
如:ide
智能家居:使用智能音箱播放歌曲,通過第三方推送服務器而後發到客戶端的APP上,讓你實時的知道播放了哪些歌曲。性能
遊戲娛樂類:玩家實時互動(有新活動、作新任務、領新裝備), 用戶隨時觸達, 喚醒沉默用戶, 提升ARPU值spa
社交媒體類:好友私信、熱點資訊第一時間送達,不讓用戶錯過任何有價值的消息、如你下載了新浪微博,有人@你或者私信你,那麼不用打開APP(可能後臺已經將應用給Kill掉了或者直接沒有打開)就能夠看到消息通知。設計
應用第三方推送服務的優點:htm
1.服務器主動鏈接客戶端,消息毫秒級下發,推送形式多樣。典型的使用第三方推送的應用:blog
首先咱們來看一下組成一個推送系統的幾個要素
推送系統SDK:以jar的方式出現,集成於第三方客戶端,解析第三方下行的數據,並把結果透傳給第三方客戶端;也能夠上行第三方定製的客戶端信息。
推送系統服務器:一側負責維護與成千上萬的SDK的長時鏈接,另外一側與第三方服務器對接,將第三方定製數據下行推送至個推SDK。
第三方服務器:數據推送的發起者,經過對接個推服務器,將數據發送至第三方客戶端。
第三方客戶端:第三方集成SDK的客戶端,推送數據正真的接收者和展示者。
說明:
AppID:應用ID,第三方在個推系統註冊賬號並建立生成的惟一的應用標識。
ClientID:用於標識客戶端身份,由第三方客戶端獲取並保存到第三方服務端。
UID:通常爲第三方系統賬號體系中的用戶標識。第三方服務端通常須要保存UID和ClientID的映射關係,進行消息推送時,經過UID查找到相應的ClientID,即可進行定向推送了。
參考資料:
http://blog.jiguang.cn/jpush_wireless_push_principle/