友盟统计集成(一)

来源:互联网 发布:数据流通行业自律公约 编辑:程序博客网 时间:2024/05/29 17:28


1.申请APP KEY

2.导入依赖

  dependencies {
    compile 'com.umeng.analytics:analytics:latest.integration'
}

如果无法集成,还需要加入以下代码(我依赖之后 就可以了 这代码没加过)
  allprojects {
      repositories {
             mavenCentral()     
     }
3.配置权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

再就是添加
<application ……>……<activity ……/>
<meta-dataandroid:value="YOUR_APP_KEY"android:name="UMENG_APPKEY"/>
<meta-dataandroid:value="Channel ID" android:name="UMENG_CHANNEL"/>
</application>  
</manifest>

4.把上面的YOUR_APP_KEY换成自己申请的秘钥.
  Channel ID  是渠道位置 后期需要您的处理,多渠道打包.
5.在工程中建一个叫MyAPP类,无论什么名字(符合命名规范就可以)继承Application.
.再重写里面的OnCreat方法,并在方法中添加
  MobclickAgent.setScenarioType(this, EScenarioType. E_UM_NORMAL); //这是普通统计场景类型

将manifests 中的 application节点下加入    android:name=".MyApp"(和之前创建的类,名字一样就行)

//EScenarioType. E_UM_NORMAL  普通统计场景类型
//EScenarioType. E_UM_GAME   游戏场景类型
//EScenarioType. E_UM_ANALYTICS_OEM 统计盒子场景类型
//EScenarioType. E_UM_GAME_OEM   游戏盒子场景类型


6.session统计
在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context) , 
onPause方法中调用 MobclickAgent.onPause(Context)

也就是:
 public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
 注意: 如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计,导致启动次数异常增高。(eg.使用TabHost、TabActivity、ActivityGroup时)。如果有基类就添加到基类中.
7.含Activity、Fragment或View的应用
在MyApp的OnCreat方法中加入代码:MobclickAgent.openActivityDurationTrack(false)
如果你是直接用Activity(只有Activity)的话.

public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
MobclickAgent.onPageStart("自己取名字");

}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
MobclickAgent.onPageEnd("自己取名字,与上面一样");


使用 MobclickAgent.onPageStart 和 MobclickAgent.onPageEnd 方法统计页面(针对页面,页面可能是Activity 也可能是Fragment或View)


如果页面是使用FragmentActivity + Fragment实现的,需要在 FragmentActivity 中统计时长:

public void onResume() {
super.onResume();
MobclickAgent.onResume(this); //统计时长
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}

并在其包含的 Fragment 中统计页面:

public void onResume() {
super.onResume();
MobclickAgent.onPageStart("MainScreen"); //统计页面,"MainScreen"为页面名称,可自定义
}
public void onPause() {
super.onPause();
MobclickAgent.onPageEnd("MainScreen");
}

注意:这些方法的调用,需要保证线性不交叉,每个 onResume 都对应一个 onPause ,每个 Start 都有一个 End 配对。这样才能保证每个页面统计的正确,关于页面统计API的最佳实践说明见这里 。





0 0
原创粉丝点击