目前市場上的消息推送方式有兩種:通知和透傳。
什麼是透傳?透傳便是透明傳送,即傳送網絡不管傳輸業務如何,只負責將須要傳送的業務傳送到目的節點,同時保證傳輸的質量便可,而不對傳輸的業務進行處理。透傳消息,就是消息體格式及內容,對於傳遞的通道來講是不去過問的,通道只負責消息的傳遞,對消息不作任何處理,當客戶端接收到透傳消息後,由客戶端本身來決定如何處理消息。正是由於透傳消息能夠自定義消息體,也能夠自定義消息的展現方式及後續動做處理,因此彌補了通知欄消息的一些不足之處(通知欄消息是直接展現出來,相關的動做客戶端沒法捕獲到)。
透傳消息主要有以下幾個方面的特色:
1. 後臺處理,用戶無感知。
2. 前臺展現,提醒用戶。
3. 展現的多樣化。
整個透傳消息的流程以下:根據個推提供的API接口或在個推開發者平臺上推送透傳消息,個推服務端接收到推送的消息後,不作任何處理,直接發送給目標用戶。當客戶端SDK接收到透傳消息後,以廣播方式發送給客戶端,客戶端在配置的第三方BroadReceiver裏接收到透傳消息後進行處理。
透傳消息的消息體,能夠根據不一樣的需求傳遞不一樣的參數或格式。如傳遞一個簡單的字符串,或傳遞一個Json字符串,裏面根據需求傳遞須要的字段。
用戶無感知的透傳,如:更新相關信息,在主界面中相關欄位用紅點標識進行弱提醒,推送一條命令用來檢測用戶是否有登陸等。通知欄消息雖然方便的提醒用戶,但也在必定程度上給用戶帶來了打擾,用戶無感知的消息推送有時效果會更好。
用戶有感知的透傳:把透傳消息處理成通知欄展現出來,提醒用戶方便點擊查看相關信息(如我的賬單信息),直接打開應用或跳轉到指定的應用界面中(根據透傳消息的相關參數來判斷跳轉到哪個指定的界面,相關參數傳遞要打開的界面的類名或Intent便可)等。對於開發者,處理成通知欄的相關事件也是能夠捕獲的,如通知欄的展現、點擊等事件均可以進行捕獲,以方便進行後續的操做。
因透傳消息能夠本身處理成通知欄內容展現,因此通知欄的樣式也能夠根據需求來作對應的改變。在Android 4.4及以上的系統,通知欄能夠是樣式豐富的通知欄,放入圖片和視頻等;能夠展現普通的通知,也能夠展現多樣化的通知。網絡