數據統計分析之TalkingData Analytics介紹

TalkingData Analytics為移動應用提供數據統計分析服務,能夠幫助移動應用開發者收集、處理、分析一方數據,可視化運營指標,監測用戶行為,幫助產品設計。適用範圍TalkingData App Analytics Android SDK適用於 Android 2.3.3(API Level 10)及以上的設備。集成準備-創建應用並獲取App IDApp ID是TalkingData分析平臺標識一款獨立應用/遊戲的唯一標識,集成SDK前需要在TalkingData報表中創建應用/遊戲並獲取相應的App ID。

步驟:

1)註冊並登錄https://www.talkingdata.com/ ,選擇App Analytics產品線

2)創建應用並獲取App ID
3)如果已創建的應用,請從“應用管理->基本信息”中查看App ID。快速集成-導入SDK請根據所用IDE

選擇導入方式:

1)Eclipse ADT 將 SDK 中的 jar 文件拷貝到工程的libs文件夾中。

2)Android Studio 2.1)在 Android Studio 項目的 app 文件夾中,新建 libs 文件夾。 2.2)將 SDK jar 文件拷貝到新建的 libs 文件夾中。 2.3)修改 app 文件夾中的 build.gradle 文件,添加 dependencies 依賴項​

dependencies { … compile files('libs/TalkingdataAnalytics.jar') … }快速集成-代碼混淆如果開發者的應用添加了混淆,需要在配置文件中添加一下規則:

<code>-dontwarn com.tendcloud.tenddata.**-keep class com.tendcloud.** {*;}-keep public class com.tendcloud.tenddata.** { public protected *;}-keepclassmembers class com.tendcloud.tenddata.**{public void *(***);}-keep class com.talkingdata.sdk.TalkingDataSDK {public *;}-keep class com.apptalkingdata.** {*;}-keep class dice.** {*; }-dontwarn dice.**/<code>

快速集成-配置權限

權限

用途

INTERNET

允許程序聯網和發送統計數據的權限。

ACCESS_NETWORK_STATE

允許應用檢測網絡連接狀態,在網絡異常狀態下避免數據發送,節省流量和電量。

READ_PHONE_STATE

允許應用以只讀的方式訪問手機設備的信息,通過獲取的信息來唯一標識用戶。

ACCESS_WIFI_STATE

獲取設備的MAC地址,同樣用來標識唯一用戶。

WRITE_EXTERNAL_STORAGE

用於保存設備信息,以及記錄日誌。

GET_TASKS (建議)

獲取當前應用是否在顯示應用,可以更精準的統計用戶活躍

ACCESS_FINE_LOCATION(可選)

可通過GPS獲取設備的位置信息,用來修正用戶的地域分佈數據,使報表數據更準確。

ACCESS_COARSE_LOCATION(可選)

用來獲取該應用被使用的粗略位置信息。

快速集成-SDK初始化在應用程序的Application類的onCreate方法中初始化:

<code>public class MainApplication extends Application{    @Override     public void onCreate() {       super.onCreate();        JLibrary.InitEntry(this); //移動安全聯盟統一SDK初始化       TCAgent.LOG_ON=true;        // App ID: 在TalkingData創建應用後,進入數據報表頁中,在“系統設置”-“編輯應用”頁面裡查看App ID。          // 渠道 ID: 是渠道標識符,可通過不同渠道單獨追蹤數據。        TCAgent.init(this, "您的 App ID", "渠道 ID");        // 如果已經在AndroidManifest.xml配置了App ID和渠道ID,調用TCAgent.init(this)即可;或與AndroidManifest.xml中的對應參數保持一致。        TCAgent.setReportUncaughtExceptions(true);        }}/<code>


基礎-註冊和登錄註冊接口用於記錄用戶在使用應用過程中的註冊行為,接口如下:

<code>public static final void onRegister(String accountID,TDAccount.AccountType type, String name )/<code>


登錄接口用於記錄用戶在使用應用過程中的登錄行為,接口如下:

<code>public static final void onLogin(String accountID,TDAccount.AccountType type, String name )/<code>


基礎-錯誤報告1.用途收集應用的錯誤日誌可幫助您來修正Bug、改善產品。報表中,除了提供錯誤次數的數據外,還提供錯誤的詳細信息:錯誤發生時間,堆棧調用情況,並會針對錯誤進行合理分類。2.接口和參數


自動獲取異常信息,調用以下方法(自動捕獲默認為關閉狀態,請根據需要設置):

<code>// true: 開啟自動捕獲// false: 關閉自動捕獲TCAgent.setReportUncaughtExceptions(Boolean enabled)/<code>


主動傳送異常信息,調用以下方法(自動獲取關閉狀態下,此方法依然有效):

高級-頁面訪問1、用途和用法

此功能用於幫助開發者統計應用中各個頁面的訪問次數和停留時長,並可以追蹤用戶從某個頁面離開後所訪問的其他頁面,為產品優化提供依據。

2、接口及參數

接口: step1:進入頁面時調用:

<code>TCAgent.onPageStart(Context ctx, String pageName);/<code>

Step2:離開頁面時調用:


<code>TCAgent.onPageEnd(Context ctx, String pageName);/<code>


注意事項:

1)onPageStart 和 onPageEnd 必須成對調用;

適用範圍高級-自定義事件1、用途和用法

自定義事件用於追蹤任何需要了解的用戶行為,如:用戶點擊某功能按鈕、填寫某個輸入框、觸發了某個廣告等。

2、靈動事件介紹

靈動事件是一種無需預先埋點,隨時可以按需配置即可實現的自定義事件追蹤方式。在正確集成App Analytics SDK後,任何時候通過報表頁面設置,就可以輕鬆實現自定義事件追蹤。

3、代碼事件接口及參數

接口: 1)僅統計自定義事件,無需設置Label及參數時,調用以下方法:

<code>TCAgent.onEvent(Context ctx, String EVENT_ID);/<code>


2)使用相同EventID,對類似場景的事件進行統計,並通過Label區分具體場景時,調用以下方法:

<code>TCAgent.onEvent(Context ctx, String EVENT_ID, String EVENT_LABEL);/<code>

3)增加Label、事件參數,對事件做更為詳細的追蹤時,調用以下方法:

<code>TCAgent.onEvent(Context ctx, String EVENT_ID, String EVENT_LABEL, Map kv);/<code>

4)如果所有事件都需要傳輸相同的參數,可以設置全局的Key-Value,這些Key-Value會自動添加到所有自定義事件。調用以下方法:

<code>TCAgent.setGlobalKV(String key, Object value);/<code>

5)如果要移除全局Key-Value,調用以下方法:

<code>TCAgent.removeGlobalKV(String key);/<code>


說明:如果onEvent裡傳入的Key-Value裡的key和全局Key-Value裡的key衝突,以onEvent裡傳入的為準。

參數:

參數

類型

描述

EVENT_ID

String

自定義事件名稱。

最多包含64個字符,支持中文、英文、數字、下劃線,但不能包含空格或其他的轉義字符


EVENT_LABEL

String

自定義事件Label。


最多包含64個字符,支持中文、英文、數字、下劃線,但不能包含空格或其他的轉義字符。

Map

Map

自定義事件的參數及參數取值。


其中的Key為String,Value僅支持字符串(String)和數字(Number)類型,其他類型會自動調用toString()方法轉換為String進行處理。報表中將給出事件發生時每種value出現的頻次。


在value取值較離散情況下(如示例中收集的促銷價格信息),不要直接填充具體數值,而應劃分區間後傳入(如9.9元,可定義5~10元的價格區間,傳入5~10元),否則value不同取值很可能超過平臺最大數目限制,離散數據也對分析人員閱覽數據造成影響。

5、代碼事件示例

示例: 追蹤某省長者活體檢測的通過率情況,並收集檢測失敗的原因、比對的閾值等信息。調用如下:

<code>@Overridepublic void onClick(View v) {Map map= new HashMap();map.put("比對閾值","xxxx" );map.put("失敗詳情", "xxxx");TCAgent.onEvent(DemoActivity.this, "活體檢測", "失敗", map);}/<code>


分享到:


相關文章: