極光推送集成(一)

版本記錄

版本號 時間
V1.0 2017.05.13

前言

??現在很多APP都有推送功能,其中極光推送就是很多APP的首選。我們最近的幾個APP也是用的極光,但是沒有總結過,下面我就根據項目和開發文檔進行總結。先給出極光文檔。

一、JPUSH產品簡介

??JPush是經過考驗的大規模APP推送平臺,每天推送消息數超過5億條。 開發者集成SDK后,可以通過調用API推送消息。同時,JPush提供可視化的web端控制臺發送通知,統計分析推送效果。 JPush全面支持 Android, iOS, Winphone 三大手機平臺。

消息形式

??極光推送的消息有很多,主要有如下四種形式:通知,自定義消息,富媒體和本地通知。

**1. 通知 **

??或者說 Push Notification,即指在手機的通知欄(狀態欄)上會顯示的一條通知信息。通知主要用于提示用戶的目的,應用于新聞內容、促銷活動、產品信息、版本更新提醒、訂單狀態提醒等多種場景。詳情看開發文檔Push API v3 notification。

**2. 自定義消息 **

??自定義消息不是通知,所以不會被SDK展示到通知欄上。其內容完全由開發者自己定義。自定義消息主要用于應用的內部業務邏輯。一條自定義消息推送過來,有可能沒有任何界面顯示。開發者參考文檔:Push API v3 message。

**3. 富媒體 **

??JPush支持開發者發送圖文并茂的通知,從而更好的傳達信息,帶來更豐富的用戶互動。JPush提供了5種模板,開發者可以通過填充模板的內容,發送landing page、彈窗、信息流形式的富媒體通知。開發者還可以直接通過URL發送預先編輯好的頁面。富媒體當前支持Android平臺,為更好的使用富媒體的功能,建議更新當前SDK版本至v2.1.8及以上。暫時只能通過極光推送的控制臺發送,不支持API形式。
Android 開發者參考文檔:Rich Push開發指南

4. 本地通知

??本地通知API不依賴于網絡,無網條件下依舊可以觸發;本地通知的定時時間是自發送時算起的,不受中間關機等操作的影響。本地通知與網絡推送的通知是相互獨立的,不受保留最近通知條數上限的限制。本地通知適用于在特定時間發出的通知,如一些Todo和鬧鐘類的應用,在每周、每月固定時間提醒用戶回到應用查看任務。iOS 開發者參考文檔

推送目標

??通過使用標簽,別名,Registration ID 和用戶分群,開發者可以向特定的一個或多個用戶推送消息。

1. 標簽

??為安裝了應用程序的用戶打上標簽,其目的主要是方便開發者根據標簽,來批量下發 Push 消息。可為每個用戶打多個標簽。
舉例: game, old_page, women

2. 別名

??每個用戶只能指定一個別名。同一個應用程序內,對不同的用戶,建議取不同的別名。這樣,盡可能根據別名來唯一確定用戶。iOS 開發者參考文檔:iOS 標簽和別名。使用別名和標簽推送請參考文檔:Push API v3 Audience

3. Registration ID

??客戶端初始化 JPush 成功后,JPush 服務端會分配一個 Registration ID,作為此設備的標識(同一個手機不同 APP 的 Registration ID 是不同的)。開發者可以通過指定具體的 Registration ID 來進行對單一設備的推送。

4. 用戶分群

??用戶分群的篩選條件有:標簽、地理位置、系統版本、注冊時間、活躍用戶和在線用戶。比如,開發者可以設置這樣的用戶分群:位于北京、上海、廣州和深圳,并且最近7天在線的用戶。開發者可以通過在控制臺設置好用戶分群之后,在控制臺推送時指定該分群的名稱或使用API調用該分群的id發送。用戶分群控制臺使用指南:用戶分群

統計分析

??JPush支持推送數量、用戶打開次數、用戶使用時長、新增用戶、活躍用戶等數據的統計。Android開發者需要實現了相關的統計API,才可以進行用戶相關的統計。iOS的開發者不需要實現統計API,可以直接在【控制臺】-【統計】頁面查看相關數據。

快速開始方法

  • 到極光推送官方網站注冊開發者帳號
  • 登錄進入管理控制臺,創建應用程序,得到 Appkey(SDK與服務器端通過Appkey互相識別)
  • 下載SDK 集成到 App 里。

二、控制臺使用指南

創建應用

創建應用步驟

1. 創建應用

點擊[創建應用]按鈕即可。

創建應用

2. 配置應用信息

  • Step1: 基本信息:輸入應用名稱 (必填), 上傳一個圖標;
    配置android平臺信息:填寫應用包名, JPush 系統會在后臺根據你輸入的包名生成的推送的 Android 應用 Demo, 該 Demo 包含了該配置的信息;
  • Step2: 配置iOS平臺信息:上傳相關環境的推送證書,并填寫和證書配套的密碼;
  • Step3: 配置WinPhone平臺信息:選擇是否開啟即可。
配置信息
  • Step4: 信息配置完成后,查看應用信息如下:
配置后詳細信息

應用管理

  • 點擊[home]回到首頁,可瀏覽所有應用的信息,點擊應用名稱或設置可查看應用詳情,點擊推送可去到發送通知頁,編輯并推送通知,點擊統計,可查看該應用的所有統計數據。
應用信息

應用詳情如下

應用信息

應用設置如下

應用設置

分組管理

  • 點擊[home]回到首頁后,在左側導航中點擊[分組管理],可瀏覽應用的分組管理信息并創建新分組。
分組管理

報表下載

  • 點擊[home]回到首頁后,在左側導航中點[報表下載],可以根據時間對報表進行下載。
報表下載

發送通知

  • 路徑:選擇應用->推送->發送通知,填寫推送內容后點擊頁面最下方的[立即發送]按鈕即可。
發送通知
  • Web界面會彈出對話框, 提示是否發送, 選[發送吧]即可。
發送對話框
  • 推送成果后,彈出對話框,點擊[去看看]即可查看推送結果。
查看結果對話框

自定義消息

  • 路徑:選擇應用->推送->自定義消息 填寫推送內容后點擊頁面最下方的[立即發送]按鈕即可。
自定義消息

富媒體消息

  • 路徑:選擇應用->推送->富媒體消息。可通過模板發送landing page、彈窗、信息流等形式的富媒體消息,或者直接通過URL發送預先編輯好的頁面。

通過landing page 模板發送

  • Step1:路徑:選擇應用->推送->富媒體消息->模版->landing page,目前landing page只提供一種通用模板。
富媒體模板
  • Step2:進入模板內容編輯頁面,填寫所有內容,左側可預覽內容的展示效果,單擊[下一步]。
模板預覽圖
  • Step3:單擊[預覽富媒體頁面],可預覽剛剛編輯完成的landing page模板;單擊頁面最下方的[立即發送]按鈕,即可完成該landing page的推送。
發送

通過彈窗模板發送

  • Step1:選擇應用->推送->富媒體消息->模版->彈窗,挑選適合的模板。
選擇模板
  • Step2:進入模板內容編輯頁面,填寫所有內容,左側可預覽內容的展示效果,單擊下一步。
模板編輯頁面
  • Step3:單擊[預覽富媒體頁面],可以預覽剛剛編輯完成的彈窗模板,單擊頁面最下方的[立即發送]按鈕,即可完成該彈窗的推送。
預覽富媒體界面

通過信息流模板發送

  • Step1:路徑:選擇應用->推送->富媒體消息->模版->信息流,挑選適合的模板。
信息流模板
  • Step2:進入模板內容編輯頁面,填寫所有內容,左側可預覽內容的展示效果,單擊下一步。
信息流模板預覽界面
  • Step3:單擊[預覽富媒體頁面],可以預覽剛剛編輯完成的彈窗模板,單擊頁面最下方的[立即發送]按鈕,即可完成該信息流的推送。
預覽界面的發送

通過URL發送通知

  • Step1:路徑:選擇應用->推送->富媒體消息->URL。
富媒體URL推送
  • Step2:輸入需要推送的頁面的URL,單擊[下一步]按鈕,由于通知的大小有限制,URL不可過長,若URL超過限制長度,請自行轉成短地址再輸入。
URL推送頁面
  • Step3:URL不提供頁面預覽功能,請確保輸入正確的URL,單擊頁面最下方的[立即發送]按鈕,即可完成URL推送。
發送頁面

推送歷史

  • 路徑:選擇應用->推送->推送歷史
    在右邊可以瀏覽推送的歷史數據,包含推送時間,內容,類型,IOS 目標|成功,Android目標|成功,Winphone目標|成功,操作。
推送歷史

說明:
類型包括:廣播、tag、alias、Registration ID
操作包括:轉發、詳情、刪除
注意:
推送歷史數據只保留一個月的統計信息。
詳情如下

推送詳情

定時推送

  • 路徑:選擇應用->推送->定時消息
    右邊的下拉菜單中可以選擇[通知]還是[自定義消息]的定時推送消息。
定時推送

定速推送

定速推送時長(分鐘),在應用的 "推送" 模塊,點擊定速推送。

定速推送

用戶分群

  • 路徑:選擇應用->推送->用戶分群->創建用戶分群。用戶分群可設置:標簽,地理位置,活躍用戶,系統版本,在線用戶,注冊用戶中的一個或多個條件;用戶分群的名稱為必填項,在控制臺向用戶分群發送時使用名稱;用戶分群的ID是在創建之后生成的,調用API時可指定該ID。
用戶分群
創建用戶群組

統計與報表說明

查看報表
??JPush 的 Web 上提供了多種應用級別的統計數據。如下圖所示,用戶在登錄JPush 帳號,并選擇了具體的應用后,可以在頂部導航條內選擇“統計”。

選擇報表類型

??JPush 統計包括:推送統計、用戶統計、API統計、活躍分析、在線留存率、用戶分群統計、設備信息統計、排行統計、地區分布、錯誤列表、流失分析、回訪分析。

統計報表

選擇統計時間
??可以在報表右上角選擇統計的時間范圍,也可以自定查詢范圍,具體統計周期如下圖所示。單位粒度依次為:小時,天,月。

例:如果選擇“昨天”,那么報表呈現的數據是以小時為單位;如果選擇”最近7天“,那么報表呈現的數據則是是以天為單位。

時間統計

統計項說明

推送統計

推送報表呈現“推送數量”和“用戶點擊”情況,部分統計效果需要實現 推送效果反饋 API

送達數量:Android 用戶實際收到推送的數量合計,該數量包括:通過Portal發出的,以及通過API發出的。包括通知,也包括自定義消息。

iOS 與 Window Phone 系統由于原理不同,此曲線顯示的為正確送達到 APNS 和 MPNS 的統計。

用戶點擊數:用戶通過點擊通知欄消息進入應用的次數。

對于 Android應用,需要實現了統計分析 API才有這個統計數據。

用戶統計

  • 新增用戶
    “新增用戶”是指新增的 JPush 注冊用戶。當應用第一次啟動時,JPush SDK 會向 JPush 發起內部注冊。iOS 系統如果用戶在首次使用時選擇禁用推送,則不計入新增用戶統計。
  • 在線用戶
    “在線用戶”是指統計周期 與 JPush Server 建立網絡連接成功的用戶總數。統計時間連接過一次,則計入該統計項目,同一用戶多次連接不重復計算。
  • 活躍用戶
    “活躍用戶” 是指統計時間內至少打開一次應用的用戶總數。活躍用戶與在線用戶的區別是,活躍必須是用戶打開過應用而在線用戶是用戶側有網絡與 JPush 保持連接。
Android 系統,需要實現推送效果反饋 API才可以統計到活躍用戶。

API 統計

  • API統計
    統計時長內調用 Push API 的總次數。注:API 次數不同于消息數,一次廣播推送與一次別名推送均為 1 次 API 調用。

活躍分析

  • 推送數量
    定義同上,這里主要用作對比曲線,用來衡量推送后的用戶活躍效果

  • 用戶打開次數
    所有用戶打開應用的次數合計。該指標可用于觀測,是否隨著推送數量的增加,用戶打開應用更多了。

 Android 系統,需要實現了推送效果反饋 API才有此統計數據。
  • 用戶使用時長(分鐘)
    所有用戶使用應用的時長合計。該指標可用于觀測,是否隨著推送內容的不同,用戶使用應用的時間更長。
 Android 系統,需要實現了推送效果反饋 API才有此統計數據。

  • 在線留存率
    某段時間內新增的,過了一段時間以后仍然還在與 JPush 服務器有連接的用戶,稱為留存用戶。留存用戶占當時新增用戶的比例稱為留存率。“在線留存率“”可以更真實的反映用戶的用戶留存情況。
注意:JPush 的留存用戶定義是在線用戶,即與服務器仍然有連接的用戶(可以是不打開應用只后臺在線)。此定義不同與其他根據用戶活躍統計的“活躍留存率”,由于iOS 平臺機制用戶打開應用才可能在線所以此留存約等于“活躍留存”。

例如:日留存。某一天新增的用戶數為100,在 3 天后這 100 個用戶中依然在線的用戶數為 50,那么這天新增用戶的 3 天留存率為 50%。

短信驗證碼

數據概覽

路徑:選擇應用->短信驗證碼->數據概覽
短信余量:剩余可發送的短信條數,這里的余量是該賬號下所有應用可發送短信條數的總和。

短信發送量:今日發送短信量、本月發送短信量、上月發送短信量,這里的發生量是該應用的使用量。

發送紀錄

路徑:選擇應用->短信驗證碼->發送紀錄;
當前應用發送的所有短信驗證碼的紀錄,支持手機號、時間查詢。


三、JPush短信補充

??針對開發者提供推送補充服務,如果APP側一段時間內無法收到推送的消息(可能由于斷網、后臺禁止運行、消息延遲等原因)的用戶進行短信通道信息補充。對于到達強需求的業務優先使用推送可以一定程度減少短信費用開銷,又能保證信息最終的傳遞到達。

優勢

極光推送的短信服務有如下優勢:

  • 獨享通道:享有獨立通道,高速穩定;
  • 三網合一:目前支持中國移動,中國聯通,中國電信三大運營商的手機用戶,短信推送及時準確送達。(暫不支持國外的手機號)
  • 極速穩定:極光千臺服務器強力支持,覆蓋范圍廣,極致提升短信推送效率;
  • 低成本:發送短信的費用低;
  • 靈活性:模板與模式可隨心定制。

數據指標

  • 下發速度:與運營商合作,下發速度200條/秒;
  • 送達時間:送達時間由運營商控制,一般情況下是幾秒送達;
  • 短信內容:內容要求符合國家規定,正常的營銷信息可正常發送,手機用戶可以選擇是否接收。

四、JPush短信補充

Rich Push 開發指南

概述
??Rich Push,即富媒體推送,允許開發者推送 Web頁面、圖片、聲音等除普通文本之外更豐富的內容。應用開發者可以利用“富文本推送”功能推送如新聞、優惠券、活動信息等更加豐富的內容,也可以使用“富媒體文件推送” 使已有的 IM 類溝通功能得到擴展。

??JPush從終端用戶使用體驗的角度出發,充分考慮到國內的網絡環境特點,Rich Push 功能上做了些特別的設計:1)Portal 上準備資源時,都保存到 JPush 的服務器上;2)JPush SDK 展示推送前預加載媒體文件。這樣保證了一個富文本推送頁面展示時是一定可見的、完整的。

功能說明
功能上分為信息流模板推送和URL富媒體鏈接推送二個部分。詳細使用,請參考文檔富媒體推送

  • 信息流模板推送

推送 Web 頁面(富文本)
Portal 上提供推送工具,來快捷地創建富文本頁面
富文本作為通知推送到客戶端
客戶端點擊通知,自動展示該富文本頁面

  • URL推送

推送頁面的URL,點擊通知欄消息后跳轉URL指定的頁面。

SDK 支持
只支持Android不支持IOS


五、常見問題

1. 推送數量和推送頻率的限制是多少?

推送數量

沒有限制!
通過控制臺或API推送通知或消息,均不會限制推送的數量。

推送頻率

免費版本的每個Appkey的最高推送頻率為600次/分鐘。
付費版本可享有更高的推送頻率,具體請聯系商務。

2. 怎么樣保證推送消息的安全?

??我們建議開發者不要推送保密的信息,就像QQ建議你不要在聊天時發送保密的信息一樣。如果開發者的確有保密的信息,需要送達到用戶,則可以考慮這樣做:先通過 JPush 推送一條消息,這條消息觸發客戶端App去與開發者服務器交互保密信息。

3. 為什么在控制臺上或者調用API推送消息時提示:找不到目標用戶?

??其含義是:當向客戶端推送消息時,發現對于指定的推送方式,找不到該方式下的目標用戶。

  • 如果推送方式是群發,則表示:該應用還沒有一個客戶端成功地集成了 JPush SDK 并連接到 JPush 服務器。如果您確實做了客戶端App集成 JPush SDK的工作,請檢查客戶端日志,看是不是注冊失敗。

  • 如果推送方式是別名或者標簽,則表示:該別名或者標簽,在客戶端還未被成功地調用 setAliasAndTags 設置成功。請參考:別名與標簽使用教程Android 文檔 iOS 文檔

4. 通知與自定義消息有什么區別?

下圖是個簡單的區分。詳情請參考文檔

通知與自定義消息

5. 可以推送多媒體文件到客戶端么?

??推送消息本身是限定長度的文本。不直接支持文件的推送,但可以通過推送 url 來實現。即先推送文件下載 url,到客戶端觸發邏輯來通過 url 下載文件。

6. 怎么樣向特定的某個用戶推送消息?

??在客戶端使用 setAliasAndTags API 來為該用戶指定別名。以便服務器端對該別名推送消息。ios客戶端如何設置別名和標簽,使用別名和標簽推送請參考文檔

7. 怎么樣向特定的某個用戶推送消息?

??在客戶端使用 setAliasAndTags API 來為該用戶設置標簽。這樣服務器可以向所有具有該標簽的用戶群發消息。另外還可以在控制臺設置用戶分群(根據標簽,地理位置等條件篩選用戶),在控制臺推送時指定該分群的名稱或使用API調用該分群的id發送,也可以向一群用戶推送消息。ios客戶端設置別名和標簽參考文檔如上。

8. 其他國家能否使用極光推送(局域網能否使用極光推送)?

??JPush 對于訪問國家沒有任何限制。理論上國外使用是沒有問題的,但具體區域還需要開發者自己評估。服務器端判斷能否訪問JPush服務器的方法是ping通 api.jpush.cn,也可以執行 curl 測試。客戶端判斷是否正常可以通過觀察日志,看是否可以注冊和連接成功。

后記

??這些都是極光推送的基礎,需要好好理解,基本都是官方指南,后面還會說明SDK的集成。待續~~~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容