Android开发和测试实践 - 接入友盟统计

发表于:2014-06-25来源:csdn作者:rickyqiuTX点击数: 标签:Android
这两年一直在做无线的测试,后续还会继续去做无线的测试,但是之前因为时间的原因一直都没有非常仔细的了解到代码层面。近期抽空自己做了些app的开发,决定如果想把移动的测

  这两年一直在做无线的测试,后续还会继续去做无线的测试,但是之前因为时间的原因一直都没有非常仔细的了解到代码层面。近期抽空自己做了些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");

  }

  然后做了一些实验:

  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的语句就异常了,如下面。官方文档只是提到上面的步骤。

原文转自:http://blog.csdn.net/superqa/article/details/24808107