Android開發與測試實踐 - 接入友盟統計

來源:互聯網
上載者:User

這兩年一直在做無線測試,後續還會繼續去做無線測試,但是之前因為時間的原因一直都沒有非常仔細的瞭解到代碼層面。近期抽空自己做了些app的開發,決定如果想把移動的測試做好做深入,有一定的app開發經驗非常的有必要,因為只有這樣很多東西才能真正理解了。另一個方面,這本身也很有趣。目前嘗試的一些東西都還比較基礎,準備持續的做下去。

實踐的過程也想陸續整理出來,做下筆記,也給別人一些參考,遇到很多問題的時候也是到Google度娘的找答案,協助很多。目前更多關注android,ios的部分稍繼續。

基本上現在任何一個實用的app都離不開埋點統計,否則應用撒出去就兩眼一抹黑了,也難以做運營和一些決策。為了進一步瞭解這一塊,除了看現有產品的做法(公司內部平台),也想自己動手寫一下,加深理解,於是選擇了業界用得比較多的友盟平台。


統計的維度很多,不過最基本的新增使用者和啟動次數。關於這個,可能就需要涉及到Android的activity的生命週期和狀態改變。為了更好的理解,做了個簡單的代碼嘗試。

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.e(TAG,"enter onCreate”);

}


protectedvoid onStart() {

super.onStart();

Log.e(TAG,"onStart");

}


@Override

protectedvoid onResume() {

super.onResume();

Log.e(TAG,"onResume");

}


@Override

protectedvoid onPause() {

super.onPause();

Log.e(TAG,"onPause");

}


然後做了一些實驗:
1. 第一次啟動應用main activity有3個狀態觸發,onCreate,onStart,onResume



2. 按home鍵將應用切到後台,觸發onPause和onStop



3. 長按home鍵,找到應用,重新切回前台,觸發onStart和onResume


後面看友盟的sample code後發現也是基於這個來統計活躍使用者的。好了,下面記錄下接入友盟統計的過程。

首先,需要在AndroidManifest.xml中添加許可權和一些配置,主要是appkey,這個在友盟網站註冊好帳號之後添加應用就可以擷取到,Channel ID是自己來定義。


……





然後在activity裡面添加對應的代碼,MobclickAgent class。
import com.umeng.analytics.MobclickAgent;

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

MobclickAgent.updateOnlineConfig(this);

}

protectedvoid onResume() {

super.onResume();

Log.e(TAG,"onResume");

MobclickAgent.onResume(mContext);

}


protectedvoid onPause() {

super.onPause();

Log.e(TAG,"onPause");

MobclickAgent.onPause(mContext);

}



需要把umeng的jar包加到工程裡面。



但是在Eclipse裡面做完這一步之後發現還是遇到錯誤,一執行到MobclickAgent的語句就異常了,如下面。官方文檔只是提到上面的步驟。



解決方案是把umeng的jar包放到工程的libs目錄下。




接下來,App跑起來,幾分鐘之後就可以看到資料了。



啟動次數這裡因為是通過onResume()統計的, 所以有一些細節需要注意,看是否需要調整。



可以看到渠道的結果,就是之前在AndroidManifest.xml裡面配置的。





裝置的一些資訊目前不能查看當天的結果,要第二天來看,還是比較準確的。




<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140501/2014050108594934.jpg" alt="\">




另外也實驗了下自訂的Event。我的demo app裡面有兩段訪問HTTP介面的地方,分別通過Apache HttpClient和Android HttpClient,想統計下調用次數以及回應時間。

在調用前後埋上對應的代碼。
MobclickAgent.onEventBegin(this,"Android_http_visit”);
MobclickAgent.onEventEnd(this,"Android_http_visit");







總體來說,基本統計功能還不錯,開發也很方便,比之前想象的要方便很多。但是結合我們實際產品用的自研BI工具的資料分析,以及和朋友瞭解到大規模實際使用的情況,一些偏應用程式層面的功能還不是特別夠用。比如詳細的使用者訪問路徑方面。
下面能給出一些基本的模型。但是如果是產品和運營要做非常細緻的分析還需要自己做一些工作。



漏鬥模型等因為demo app太簡單還沒來得及繼續深入瞭解。這樣瞭解下來發現再去讀實際產品的運營資料,會感覺更容易理解一點。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.