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