qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Android開發和測試實踐—接入友盟統計

           這兩年一直在做無線的測試,后續還會繼續去做無線的測試,但是之前因為時間的原因一直都沒有非常仔細的了解到代碼層面。近期抽空自己做了些app的開發,決定如果想把移動的測試做好做深入,有一定的app開發經驗非常的有必要,因為只有這樣很多東西才能真正理解了。另一個方面,這本身也很有趣。目前嘗試的一些東西都還比較基礎,準備持續的做下去。
            實踐的過程也想陸續整理出來,做下筆記,也給別人一些參考,遇到很多問題的時候也是到谷歌度娘的找答案,幫助很多。目前更多關注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");
          }
            然后做了一些實驗:
            后面看友盟的sample code后發現也是基于這個來統計活躍用戶的。好了,下面記錄下接入友盟統計的過程。
            首先,需要在AndroidManifest.xml中添加權限和一些配置,主要是appkey,這個在友盟網站注冊好賬號之后添加應用就可以獲取到,Channel ID是自己來定義。
          <uses-permissionandroid:name="android.permission.INTERNET"/>
          <uses-permissionandroid:name=“android.permission.ACCESS_NETWORK_STATE" />
          <uses-permissionandroid:name=“android.permission.READ_PHONE_STATE" />
          ……
          <meta-dataandroid:value=“535f487******"android:name="UMENG_APPKEY"></meta-data>
          <meta-dataandroid:value="Test001"android:name="UMENG_CHANNEL”/>
          </application>
            然后在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);
          }
            但是在Eclipse里面做完這一步之后發現還是遇到錯誤,一執行到MobclickAgent的語句就異常了,如下面。官方文檔只是提到上面的步驟。
            解決方案是把umeng的jar包放到工程的libs目錄下。
            接下來,App跑起來,幾分鐘之后就可以看到數據了。
            啟動次數這里因為是通過onResume()統計的, 所以有一些細節需要注意,看是否需要調整。
            可以看到渠道的結果,就是之前在AndroidManifest.xml里面配置的。
            設備的一些信息目前不能查看當天的結果,要第二天來看,還是比較準確的。
            需要把umeng的jar包加到工程里面。 另外也試驗了下自定義的Event。我的demo app里面有兩段訪問HTTP接口的地方,分別通過Apache HttpClient和Android HttpClient,想統計下調用次數以及響應時間。
            在調用前后埋上對應的代碼。
            MobclickAgent.onEventBegin(this,"Android_http_visit”);
            MobclickAgent.onEventEnd(this,"Android_http_visit");
            總體來說,基本統計功能還不錯,開發也很方便,比之前想象的要方便很多。但是結合我們實際產品用的自研BI工具的數據分析,以及和朋友了解到大規模實際使用的情況,一些偏應用層面的功能還不是特別夠用。比如詳細的用戶訪問路徑方面。
            下面能給出一些基本的模型。但是如果是產品和運營要做非常細致的分析還需要自己做一些工作。
            漏斗模型等因為demo app太簡單還沒來得及繼續深入了解。這樣了解下來發現再去讀實際產品的運營數據,會感覺更容易理解一點。

          posted on 2014-07-28 09:58 順其自然EVO 閱讀(303) 評論(0)  編輯  收藏 所屬分類: android

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湖北省| 卢氏县| 运城市| 尉犁县| 邮箱| 通城县| 中西区| 连平县| 聊城市| 河源市| 博白县| 磐石市| 额尔古纳市| 招远市| 阿拉善左旗| 贺州市| 上饶市| 大同市| 搜索| 江达县| 宾阳县| 肇东市| 黄大仙区| 东乡族自治县| 庄浪县| 长岭县| 故城县| 册亨县| 富锦市| 永州市| 高雄县| 土默特左旗| 瓮安县| 花莲县| 肇东市| 宁乡县| 衡阳市| 祁连县| 马公市| 麻栗坡县| 肃南|