1. 集成準備
http://dev.umeng.com/analytics/android-doc/integration#2_4_2
相關視頻教程,請前往友盟課堂。
1.1 獲得Appkey
集成友盟SDK之前,您首先需要到友盟官網註冊並且添加新應用,獲得Appkey
- 特別提醒:我們建議開發者在註冊賬號時使用企業郵箱,避免使用個人郵箱註冊,防止由於個人離職帶來的問題,建議使用的賬號形式 :umeng@企業域名、apps@企業域名、dev@企業域名。
1.1.1 FAQ
Q:應用的安卓版和IOS版能否共用一個appkey
A:不同平臺的應用禁止使用相同的Appkey,需要分開註冊。
Q:註冊應用時,提示“應用名稱已存在”
A:友盟後臺的應用名與實際應用名和包名無關,建議命名爲“應用名+平臺(IOS/Android)”。
1.2 下載SDK
下載統計SDK 並解壓縮。
1.3 導入SDK
導入SDK有以下兩種方法,。
新版SDK支持Android 6.0,編譯時請指定編譯版本爲6.0及以上。
1.3.1 下載SDK並集成
將下載包中的libs 文件夾合併到本地工程libs子目錄下;在Eclipse中右鍵工程根目錄,選擇Properties -> Java Build Path -> Libraries,然後點擊Add External JARs... 選擇指向jar的路徑,點擊OK,即導入成功。
1.3.2 使用Android Studio導入SDK
Android Studio是谷歌推出了新的Android開發環境,友盟支持AndroidStudio的Gradle配置,如果您使用Android Studio開發,請按照如下的方法操作:
在Gradle依賴中添加:
dependencies {
compile 'com.umeng.analytics:analytics:latest.integration'
}
如果無法正常集成請添加如下代碼 :
allprojects { repositories { mavenCentral() } }
2. 基本功能集成
2.1 配置manifest
manifest的配置主要包括添加權限,填寫Appkey和填寫渠道id三部分,代碼示例如下:
<manifest……>
<uses-sdk android:minSdkVersion="4"></uses-sdk>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<application ……>
……
<activity ……/>
<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data>
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
</application>
</manifest>
2.1.1 權限說明
權限 | 用途 |
ACCESS_NETWORK_STATE(必須) | 檢測聯網方式,區分用戶設備使用的是2G、3G或是WiFi |
READ_PHONE_STATE(必須) | 獲取用戶設備的IMEI,通過IMEI和mac來唯一的標識用戶。 |
ACCESS_WIFI_STATE(必須) | 獲取用戶設備的mac地址,在平板設備上,無法通過imei標示設備,我們會將mac地址作爲用戶的唯一標識 |
INTERNET(必須) | 允許應用程序聯網,以便向我們的服務器端發送數據。 |
2.1.2 填寫appkey
將 中的替換爲您在友盟後臺申請的應用Appkey(Appkey可在統計後臺的 頁面查看),其他部分均不需改動。
如不想在manifest裏配置友盟的appkey,可在Activity中配置:只需在程序啓動時的Activity中調用此接口:
2.1.3 channel填寫
將 中的替換爲您應用的推廣渠道名稱,。
例如在豌豆莢渠道推廣此包,代碼示例:
如不想在manifest裏配置友盟的channel,可在Activity中配置:只需在程序啓動時的Activity中調用此接口:
渠道命名規範
1.可以由英文字母、阿拉伯數字、下劃線、中劃線、空格、括號組成,可以含漢字以及其他明文字符,但是。
2.首尾字符不可以爲空格
3.不要使用純數字作爲渠道ID
4.最多256個字符
5."unknown" 及其各種大小寫形式,作爲友盟保留的字段,不可以作爲渠道名
在您查看數據時,渠道會作爲一個數據細分的維度。
。
2.1.4 FAQ
Q:如何添加渠道?
A:一個包中只能添加一個渠道,多個渠道需要打多個包。開發者新增渠道需要在工程manifest中或者activity中調用接口添加我們的渠道信息,友盟後臺沒有添加渠道的地方。您可以使用Gradle實現多渠道打包。點擊這裏。
Q:如何刪除不需要的渠道
A:目前不支持刪除渠道,但可以隱藏,請在裏隱藏渠道
渠道統計使用中的問題請參見友盟開發者社區:友盟渠道統計使用的那些事兒
2.1.5 version標識
以SDk打包時的VersionName作爲應用程序的版本標識。
2.1.6 FAQ
Q:在版本分佈中沒有看到應用相應的版本
A:請查看,是否隱藏了該版本。
2.2 session的統計
在每個Activity的onResume方法中調用 ,
onPause方法中調用
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
- 確保在所有的Activity中都調用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,這兩個調用將不會阻塞應用程序的主線程,也不會影響應用程序的性能。
- 如果您的Activity之間有繼承或者控制關係請不要同時在父和子Activity中重複添加onPause和onResume方法,否則會造成重複統計,導致啓動次數異常增高。(eg.使用TabHost、TabActivity、ActivityGroup時)。
- 當應用在後臺運行超過30秒(默認)再回到前端,將被認爲是兩個獨立的session(啓動),例如用戶回到home,或進入其他程序,經過一段時間後再返回之前的應用。可通過接口: 來自定義這個間隔(參數單位爲毫秒)。
- 如果開發者調用Process.kill或者System.exit之類的方法殺死進程,請務必在此之前調用MobclickAgent.onKillProcess(Context context)方法,用來保存統計數據。
session統計的相關問題請參見友盟開發者社區:啓動次數的統計原理, 單次使用時長的統計原理
2.3 賬號的統計
友盟在統計用戶時以設備爲標準,如果需要統計應用自身的賬號(),請使用以下接口:
public static void onProfileSignIn(String ID) ;
public static void onProfileSignIn(String Provider, String ID) ;
- ID:用戶賬號ID,長度小於64字節
- Provider:賬號來源。如果用戶通過第三方賬號登陸,可以調用此接口進行統計。支持自定義,不能以下劃線"_"開頭,使用大寫字母和數字標識,長度小於32 字節; 如果是上市公司,建議使用股票代碼。
public static void onProfileSignOff();
- 賬號登出時需調用此接口,調用之後不再發送賬號相關內容。
示例:
當用戶使用自有賬號登錄時,可以這樣統計:
MobclickAgent.onProfileSignIn("userID");
當用戶使用第三方賬號(如新浪微博)登錄時,可以這樣統計:
MobclickAgent.onProfileSignIn("WB","userID");
2.3.1 啓動賬號統計
集成賬號統計功能後,請到,選擇啓動使用賬號統計報表,如下圖
如果您集成了新版SDK的賬號接口,可以通過啓動賬號統計開關,來開啓賬號報表的展現。賬號統計報表開關僅作用於報表的展現,不影響數據的計算。您可以根據實際的需要來啓動或者暫停該功能。可在下圖所示位置查看
2.4 頁面的統計
頁面統計集成正確,才能夠獲取正確的頁面訪問路徑、訪問深度(PV)的數據。
頁面訪問路徑的數據爲全量統計。若您希望查看測試數據,請使用 集成測試 ,瞭解更多集成測試請 點擊這裏 。
頁面統計的常見問題參見友盟開發者社區:頁面訪問路徑中你需要了解的知識點 ,頁面訪問路徑常見問題詳解
2.4.1 只由Activity構成的應用
頁面統計不需要再添加其他代碼。
2.4.2 包含Activity、Fragment或View的應用
統計應用中包含Fragment的情況比較複雜,首先要明確一些概念。
1. 和 方法是用來統計應用時長的(也就是Session時長,當然還包括一些其他功能)
2.和方法是用來統計頁面跳轉的
在僅有Activity的應用中,SDK 自動幫助開發者調用了 中的方法,並把Activity 類名作爲頁面名稱統計。但是在包含fragment的程序中我們希望統計更詳細的頁面,所以需要自己調用方法做更詳細的統計。
首先,需要在程序入口處,調用 禁止默認的頁面統計方式,這樣將不會再自動統計Activity。
然後需要手動添加以下代碼:
1. 使用 和 方法統計時長, 這和基本統計中的情況一樣(針對Activity)
2. 使用 和 方法統計頁面(針對頁面,頁面可能是Activity 也可能是Fragment或View)
如果頁面是直接由Activity實現的,統計代碼大約是這樣:
public void {
super.onResume();
MobclickAgent.; //統計頁面(僅有Activity的應用中SDK自動調用,不需要單獨寫。"SplashScreen"爲頁面名稱,可自定義)
MobclickAgent.onResume(this); //統計時長
}
public void {
super.onPause();
MobclickAgent.; // (僅有Activity的應用中SDK自動調用,不需要單獨寫)保證 onPageEnd 在onPause 之前調用,因爲 onPause 中會保存信息。"SplashScreen"爲頁面名稱,可自定義
MobclickAgent.onPause(this);
}
如果頁面是使用FragmentActivity + Fragment實現的,需要在 FragmentActivity 中統計時長:
public void {
super.onResume();
MobclickAgent.onResume(this); //統計時長
}
public void {
super.onPause();
MobclickAgent.onPause(this);
}
並在其包含的 Fragment 中統計頁面:
public void onResume() {
super.onResume();
MobclickAgent.; //統計頁面,"MainScreen"爲頁面名稱,可自定義
}
public void onPause() {
super.onPause();
MobclickAgent.;
}
注意:這些方法的調用,需要,每個 onResume 都對應一個 onPause ,每個 Start 都有一個 End 配對。這樣才能保證每個頁面統計的正確,關於頁面統計API的最佳實踐說明見這裏 。
2.5 發送策略
發送策略設定了用戶產生的數據發送回友盟服務器的頻率。
Android平臺的數據發送策略有:
1. :新增、活躍、啓動次數等數據在APP本次打開時即刻發送,使用時長、自定義事件、錯誤統計等在使用過程中產生的所有消息數據都在下次啓動應用時發送。如果應用程序啓動時處在不聯網狀態,那麼消息將會緩存在本地,下次再嘗試發送。
2. :按特定間隔發送數據,間隔時長。新增、活躍、啓動次數等數據在APP本次打開時即刻發送,使用時長、自定義事件、錯誤統計等在使用過程中產生的所有數據都按間隔發送,如果應用程序啓動時處在不聯網狀態,那麼消息將會緩存在本地,下次再嘗試發送。
2.5.1 發送策略設置方法
您可以在後臺頁面自定義發送間隔。具體如下圖:
點擊發送策略之後,可以看到設置頁面
:
(1)在沒有獲取到在線配置時,默認使用啓動時發送的策略。
(2)在打開debug調試模式或者使用集成測試時,不受發送策略控制。
2.6 日誌加密設置
您可以通過在程序入口處的 中調用如下代碼來設置加密模式
/** 設置是否對日誌信息進行加密, 默認false(不加密). */
AnalyticsConfig.enableEncrypt(boolean enable);
- 如果enable爲,SDK會對日誌進行加密。加密模式可以有效防止網絡攻擊,提高數據安全性。
- 如果enable爲,SDK將按照非加密的方式來傳輸日誌。
- 如果您沒有設置加密模式,SDK的加密模式爲false(不加密)。
2.7 代碼混淆
如果您的應用使用了混淆, 請添加
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
這是由於SDK中的部分代碼使用反射來調用構造函數, 如果被混淆掉, 在運行時會提示錯誤。 另外,由於SDK需要引用導入工程的資源文件,通過了反射機制得到資源引用文件R.java,但是在開發者通過proguard等混淆/優化工具處理apk時,proguard可能會將R.java刪除,如果遇到這個問題,請在proguard配置文件中添加keep命令如:
-keep public class [您的應用包名].R$*{
public static final int *;
}
把[您的應用包名] 替換成您自己的包名,如com.yourcompany.example。如果您使用5.0.0及以上版本的SDK,請添加如下命令:
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
3. 自定義事件的統計
自定義事件可以實現在應用程序中埋點來統計用戶的點擊行爲。自定義事件目前包括“計數事件”和“計算事件”,二者的區別以及詳細說明請點擊這裏。
自定義事件使用中的問題請參見友盟開發者社區:自定義事件常見問題,關於自定義事件的那些事兒
3.1 自定義事件字段說明
:自定義事件id
:自定義事件下的參數
:自定義事件參數下的參數值
3.2 使用自定義事件的依賴條件
- 使用自定義事件功能請先登陸友盟官網 , 在 “” (子賬戶由於權限限制可能無法看到“設置”選項,請聯繫主帳號開通權限。)頁面中添加相應的事件id(事件id可用英文或數字,),然後服務器纔會對相應的事件請求進行處理。
- 自定義事件的代碼需要放在Activity裏的,請在友盟初始化之後調用事件,不支持在service中統計。
3.3 計數事件
使用計數事件需要在後臺添加事件時選擇“計數事件”。
3.3.1 統計發生次數
在您希望跟蹤的代碼部分,調用如下方法:
MobclickAgent.onEvent(Context context, String eventId);
指當前的Activity
爲當前統計的事件ID。
示例:統計微博應用中"轉發"事件發生的次數,那麼在轉發的函數裏調用
MobclickAgent.onEvent(mContext,"Forward");
3.3.2 統計點擊行爲各屬性被觸發的次數
考慮事件在不同屬性上的取值,可以調用如下方法:
MobclickAgent.onEvent(Context context, String eventId, HashMap map);
爲當前事件的屬性和取值(Key-Value鍵值對)。
示例:統計電商應用中“購買”事件發生的次數,以及購買的商品類型及數量,那麼在購買的函數裏調用:
HashMap<String,String> map = new HashMap<String,String>();
map.put(,);
map.put(,);
MobclickAgent.onEvent(mContext, "purchase", map);
3.4 計算事件
使用計算事件需要在後臺添加事件時選擇“計算事件”。
3.4.1 統計數值型變量的值的分佈
統計一個數值類型的連續變量(該變量必須爲整數),用戶每次觸發的數值的分佈情況,如事件持續時間、每次付款金額等,可以調用如下方法:
爲事件ID
爲當前事件的屬性和取值
爲當前事件的數值爲當前事件的數值,取值範圍是-2,147,483,648 到 +2,147,483,647 之間的有符號整數,即int 32類型,如果數據超出了該範圍,會造成數據丟包,影響數據統計的準確性。
示例:統計一次音樂播放,包括音樂類型,作者和播放時長,可以在音樂播放結束後這麼調用:
int duration = 12000; //開發者需要自己計算音樂播放時長
Map<String, String> map_value = new HashMap<String, String>();
map_value.put(, );
map_value.put(, );
MobclickAgent.onEventValue(this, , map_value, duration);
上面方法在Android統計分析V5.2.2之後(>=)才提供,之前的版本可以通過下面的方式封裝計算事件:
public static void onEvent(Context context, String id, HashMap<String,String> m, long value){
m.put(, String.valueOf(value));
MobclickAgent.onEvent(context, id, m);
}
注意:onEventBegin(...),onEventEnd(...)以及onEventDuration(...)後續不再支持,。
- 如需統計使用時長,開發者需要自己上傳時長數據(如示例中的duration所示),時長數據會在計算事件的部分展示;
- 如果使用了onEventBegin(...),onEventEnd(...)以及onEventDuration(...)方法,時長數據會在計算事件的中顯示。
如圖:使用了onEventBegin(...),onEventEnd(...)以及onEventDuration(...)方法,時長數據會顯示在【消息時長】選項中,爲了兼容老用戶,線上仍保留這個選項,此方法已不建議使用。
如圖:開發者使用計算事件自己上傳時長數據(如示例中的duration所示),時長數據會在計算事件的數值型部分展示。
3.4.2 統計點擊次數及各屬性觸發次數
計算事件除能夠統計數值型的參數外還具有計數事件的所有功能,詳細說明。
3.5 注意事項
- 不能使用特殊字符,,且長度不能超過128個字節;map中的key和value 都不能使用特殊字符,key 不能超過128個字節,value 不能超過256個字節。
- id, ts, du是保留字段,不能作爲event id及key的名稱。
- 如需要統計支付金額、使用時長等數值型的連續變量,請使用計算事件(不允許通過key-value結構來統計類似搜索關鍵詞,網頁鏈接等隨機生成的字符串信息)。
3.6 在webview中統計自定義事件
如果你的頁面中使用了嵌入
的代碼,並且希望統計HTML中的點擊事件,比如點擊了某個鏈接的次數,這時你需要閱讀下面的文檔,通過友盟的
接口來統計相關的事件。注意如果你的HTML是運行在瀏覽器的,那麼還是無法統計的,下文僅針對使用
加載 網頁的情況。
- Java代碼集成 首先要找到你的WebView對象,並做下面的初始化工作。
WebView webview = (WebView) findViewById(R.id.webview); new MobclickAgentJSInterface(Context, webview);
public MobclickAgentJSInterface(Context context, WebView webview, WebChromeClient client)
context 當前Activity引用
webview 當前的WebView對象
client WebChromeClient 實例,如果開發者實現了自己的WebChromeClient,那麼請傳入這個實例
public MobclickAgentJSInterface(Context context, WebView webview)
context 當前Activity引用
webview 當前的WebView對象
集成了上面的代碼後,我們將會監聽友盟的 js
代碼調用。
-
代碼集成在網頁端,請添加如下的
代碼:
<script type="text/javascript"> function onEvent(tag, label, duration) { prompt("event", JSON.stringify({tag:tag,label:label, duration:duration})); } function onKVEvent(tag, map, duration) { map.id = tag; map.duration = duration; prompt("ekv", JSON.stringify( map )); } </script>
這裏面提供了兩個js接口,分別用來統計自定義事件和K-V對形式的KV事件,並且和Java接口有如下的映射:
onEvent(tag) -> MobclickAgent.onEvent(Context context, String tag); //tag 傳入字符串 onEvent(tag, label)-> MobclickAgent.onEvent(Context context, String tag, String label); // tag ,label 傳入字符串 onEvent(tag, '', du) -> MobclickAgent.onEvent(Context context, long duration); // tag 傳入字符串, 第二個變量 傳入空字符串, du 傳入 數值類型 onEvent(tag, label, du) -> MobclickAgent.onEvent(Context context, String tag, String label, long du); // tag, label 傳入字符串, du 傳入數值類型 onKVEvent(id, {} ) -> MobclickAgent.onEvent(Context context, HashMap map); // id 傳入字符串, 第二個參數傳入 js 對象eg:{'item':'gun','type':'weapon'} onKVEvent(id, {} , du) -> MobclickAgent.onEvent(Context context, HashMap map, long du); // id 傳入字符串, 第二個參數傳入 js 對象eg:{'item':'gun','type':'weapon'}, du 傳入 數值類型
-
示例:
<a onClick="onEvent('click')"> SimpleEvent</a> <a onClick="onEvent('click','button')"> EventWithLabel </a> <a onClick="onEvent('play','music',123)"> EventWithLabelAndDuration </a> <a onClick="onEvent('play','',123)"> EventWithDuration </a> <a onClick="onKVEvent('buy',{'item':'gun'})"> KVEvent </a> <a onClick="onKVEvent('play',{'music':'blue'}, 123)"> KVEventWithDuration </a>
-
實現原理:
如您所見,我們提供的接口,最後都會調用一個
代碼中的參數,然後再映射到
代碼上的指定方法。所以我們在第一步初始化的時候,實現了自己的
然後覆蓋其中的方法來完成 prompt 事件的攔截,如果您的代碼中同樣實現了自己的
請務必在初始化的時候,調用以下代碼,並傳入相應的
。
public *MobclickAgentJSInterface*(Context context, WebView webview, WebChromeClient client)
說明:
上面示例的完整代碼可以在example
程序的assets/demo.html
文件夾下找到。對應的Java初始化代碼可以在com.umeng.example.analytics.AnalyticsHome.java 中找到。
4. 錯誤統計
SDK通過 捕獲程序崩潰日誌,並在。 如不需要錯誤統計功能,可通過此方法關閉
如果開發者自己捕獲了錯誤,需要上傳到友盟服務器可以調用下面方法:
public static void reportError(Context context, String error)
//或
public static void reportError(Context context, Throwable e)
使用自定義錯誤,查看時請在錯誤列表頁面選擇【自定義錯誤】
錯誤統計的常見問題參見友盟開發者社區:友盟錯誤分析常見問題彙總
5. 在線參數
,下載請點擊這裏 。
以下【在線參數】內容
在線參數使您可以在網站上動態配置預設好的參數的參數值。例如: 動態修改應用的歡迎語,修改應用中開關選項的"on"或"off",以及類似遊戲中虛擬物品的價格等。
您需要在程序的入口 中添加
MobclickAgent.updateOnlineConfig( mContext );
在線參數需要在網站編輯,在程序中使用這句代碼從服務器獲取參數,並緩存本地。 當在項目裏需要獲取某個具體參數時調用
String value = MobclickAgent.getConfigParams( mContext, );
爲友盟後臺事先設置好的參數id。
同時,我們提供了在線參數回調接口,注意此接口只在在線參數有變化的時候纔會回調,實現此接口:
MobclickAgent.updateOnlineConfig(this);
MobclickAgent.setOnlineConfigureListener(new UmengOnlineConfigureListener(){
@Override
public void onDataReceived(JSONObject data) {
}
});
爲在線參數回調函數, 對應網頁上編輯的參數值。
6. 社交統計
針對社交行爲的垂直統計,可以非常詳盡地統計應用中發生的各種社交行爲。 只需要調用一行代碼,便可享用到豐富的社交行爲和社交用戶分析報表。
在發生社交行爲,比如分享了到新浪微博之後,調用這樣一行代碼:
UMPlatformData platform = new UMPlatformData(UMedia.SINA_WEIBO,);
platform.setGender(GENDER.MALE); //optional
platform.setWeiboId(); //optional
MobclickAgent.onSocialEvent(this, platform);
會把分享信息發送到友盟服務器, 我們會通過這些信息創建社交行爲報表。
相關參數說明:UMPlatformData:
平臺枚舉類型(必填)
用戶的id(必填)
微博id
用戶姓名
用戶性別
7. 其他API
- 設置openGL 信息,輔助統計GPU 信息
- 如果開發者調用 或者 之類的方法殺死進程,請務必在此之前調用此方法,用來保存統計數據。
- android6.0中採集mac方式變更,新增接口 該接口默認參數是true,即採集mac地址,但如果開發者需要在googleplay發佈,考慮到審覈風險,可以調用該接口,參數設置爲 false 就不會採集mac地址。
8. 測試與調試
8.1 確認如下內容
- 確認所需的權限都已經添加:INTERNET, READPHONESTATE
- 確認APPKEY已經正確的寫入Androidmanifest.xml
- 確認測試手機(或者模擬器)已成功連入網絡
8.2 使用集成測試服務(推薦)
集成測試是通過收集和展示已註冊測試設備發送的日誌,來檢驗SDK集成有效性和完整性的一個服務。 所有由註冊設備發送的應用日誌將實時地進行展示,您可以方便地查看包括應用版本、渠道名稱、自定義事件、頁面訪問情況等數據,提升集成與調試的工作效率。
,您不必再擔心因爲測試而導致的數據污染問題,讓數據更加真實有效的反應用戶使用情況。
使用集成測試模式請先在程序入口處調用如下代碼,打開調試模式:
MobclickAgent.setDebugMode( true );
使用集成測試請點擊這裏。
http://dev.umeng.com/analytics/android-doc/integration#2_4_2
8.3 使用普通測試流程
如果您不使用集成測試服務來測試數據,那您可以通過普通測試流程查看測試數據。使用普通測試流程,您的測試數據會與用戶的真實使用數據同時處理,從而導致數據污染。
使用普通測試流程,請先在程序入口添加以下代碼打開調試模式:
MobclickAgent.setDebugMode( true );
打開調試模式後,您可以在logcat中查看您的數據是否成功發送到友盟服務器,以及集成過程中的出錯原因等,友盟相關log的tag是MobclickAgent。
8.3.1 FAQ
Q:集成測試與普通測試的區別
A:集成測試與普通測試兩者都需要添加代碼打開調試模式,但是集成測試需要添加測試設備,集成測試功能說明參見這裏。集成測試隔離測試數據,普通的測試不區分測試數據與真實數據;集成測試的結果需在實時日誌中查看,普通測試則是在友盟相關的log中查看。
9. 技術支持
- 友盟開發者社區
- QQ:800083942(在線時間:工作日10:00~18:00)
- Email:[email protected]
爲了能夠儘快響應您的反饋,請提供您的appkey及logcat中的詳細出錯日誌,您所提供的內容越詳細越有助於我們幫您解決問題。常見問題請閱讀友盟論壇中統計SDK常見問題索引。