推送服務,為開發者提供的消息推送服務,建立了從雲端到手機端的消息推送通道,為開發者提供想客戶端應用實時推送消息的服務,使應用可以將最新信息及時通知用戶,從而構築良好的用戶關系,提升用戶的感知和活躍度。目前已有眾多成熟的第三方推送服務,例如極光推送等,接入SDK即可。
消息通道有三種:廠商通道、第三方推送服務平台、長連接。
長連接就是建立手機與服務端的一條鏈路進行消息數據推送,通過長連接也可以進行APP狀態監控,但完全由長連接推送且保證觸達的穩定,需要投入的研發資源較多,且需盡量避免自己的長連接進程不要被操作系統殺死。
在長連接斷開后,需要通過消息推送服務,通過廠商通道或者第三方推送服務平台,給客戶端推送離線消息。
1. 消息的推送形式
JPush 提供四種消息形式:通知,自定義消息,富媒體,地理圍欄和本地通知。
(1)通知
或者說 Push Notification,即指在手機的通知欄(狀態欄)上會顯示的一條通知信息。 通知主要用來達到提示用戶的目的,應用於新聞內容、促銷活動、產品信息、版本更新提醒、訂單狀態提醒等多種場景
(2)自定義消息
自定義消息不是通知,所以不會被 SDK 展示到通知欄上。其內容完全由開發者自己定義。 自定義消息主要用於應用的內部業務邏輯。一條自定義消息推送過來,有可能沒有任何界面顯示。
(3)富媒體
JPush 支持開發者發送圖文並茂的通知,從而更好的傳達信息,帶來更豐富的用戶互動。 JPush 提供了 5 種模板,開發者可以通過填充模板的內容,發送 landing page、彈窗、信息流形式的富媒體通知。 開發者還可以直接通過 URL 發送預先編輯好的頁面。 富媒體當前支持 Android平台和iOS平台,為更好的使用富媒體的功能,建議更新當前Android SDK版本至 v2.1.8 及以上,建議更新當前iOS SDK版本至 v3.3.0 及以上。 暫時只能通過極光推送的控制台發送,不支持 API 形式。
(4)地理圍欄
JPush 支持開發者直接通過極光推送的控制台,通過地圖圈選一個經緯度范圍,創建一個虛擬的柵欄圍出一個虛擬地理邊界,當開發者APP的用戶進入、離開這個區域,或在該區域內活動時,設備APP可以自動接收通知,實現准確的消息推送,把有用的信息,在合適的地方,推送給合適的人。 地理圍欄當前支持 Android、iOS 平台,為更好的使用地理圍欄的功能,建議更新當前 Android SDK 版本至 v3.1.8 及以上,更新當前 iOS SDK 版本至 v3.1.2 及以上。
(5)本地通知
本地通知 API 不依賴於網絡,無網條件下依舊可以觸發;本地通知的定時時間是自發送時算起的,不受中間關機等操作的影響。 本地通知與網絡推送的通知是相互獨立的,不受保留最近通知條數上限的限制。 本地通知適用於在特定時間發出的通知,如一些 Todo 和鬧鍾類的應用,在每周、每月固定時間提醒用戶回到應用查看任務。
2. 消息的推送目標
通過使用標簽,別名,Registration ID 和用戶分群,開發者可以向特定的一個或多個用戶推送消息。
(1)標簽
為安裝了應用程序的用戶打上標簽,其目的主要是方便開發者根據標簽,來批量下發 Push 消息。 可為每個用戶打多個標簽。 舉例: game, old_page, women
(2)別名
每個用戶只能指定一個別名。 同一個應用程序內,對不同的用戶,建議取不同的別名。這樣,盡可能根據別名來唯一確定用戶。
(3)Registration ID
客戶端初始化 JPush 成功后,JPush 服務端會分配一個 Registration ID,作為此設備的標識(同一個手機不同 App 的 Registration ID 是不同的)。開發者可以通過指定具體的 Registration ID 來進行對單一設備的推送。
(4)用戶分群
用戶分群的篩選條件有:標簽、地理位置、活躍用戶、系統版本、智能標簽。 比如,開發者可以設置這樣的用戶分群:位於北京、上海、廣州和深圳,並且最近 7 天內的活躍用戶。 開發者可以通過在控制台設置好用戶分群之后,在控制台推送時指定該分群的名稱或使用 API 調用該分群的 id 發送。
3. 統計分析
JPush 支持推送數量、用戶打開次數、用戶使用時長、新增用戶、活躍用戶等數據的統計。 Android 開發者需要實現了相關的統計 API,才可以進行用戶相關的統計。 iOS 開發者不需要實現統計 API,可以直接在【控制台】-【統計】頁面查看相關數據。
4. 廠商通道VS自營通道
廠商推送指的就是手機硬件廠商提供的系統級別的推送服務。因為她是系統服務,隨手機開機后她就一直存在着,有效地保證了推送通道的高可用性。在網絡暢通和推送消息內容合法的情況下,通過廠商通道推送消息給該型號手機,不論應用是否存活,都保證消息推送到位,所以為了拉活、促新、留存,我們絕對不能錯過她們------廠商推送,消息高效觸達的保障。優勢:更安全更可靠;劣勢:排查問題較難。
自營推送指的是SDK自己的推送服務。排查問題容易,限制少,但不如廠商通道穩定可靠。
參考文章: