友盟统计工具使用详解

通过上一篇的讲解,相信大家对统计工具都有了一定的认识,下面我们来看看具体是怎样实现友盟数据统计的吧。
    一、数据统计
    1、获取AppKey
    首先,登陆友盟官网,在我的产品页面添加新应用,然后获取到Appkey,将它添加到AndroidManifest.xml文件中去。注意添加权限:
  
 
        
           
            
      
          
    

    
    
        
    
    如不想在manifest里配置友盟的appkey,可在Activity中配置:只需在程序启动时的Activity中调用此接口:AnalyticsConfig.setAppkey(String appkey)
 如不想在manifest里配置友盟的channel,可在Activity中配置:只需在程序启动时的Activity中调用此接口:AnalyticsConfig.setChannel(String channel)
 渠道命名可以使用20位以内的英文或数字(不建议使用中文命名)。
 
    2、下载并集成SDK 
   在这个网址中下载:  http://dev.umeng.com/analytics/android/sdk-download,然后解压
   将libs中的jar包 build path 到你自己的项目中去( 方法:右击工程- properties - Java Build Path - Libraries - add external JAR选择jar所在路径)
   如果 ADT版本超过17,直接复制到libs包下,刷新一下即可
    
    3、session统计和页面的统计
   (1)MobclickAgent.onResume() 和MobclickAgent.onPause() 方法是用来统计应用时长的(也就是Session时长,当然还包括一些其他功能)
   (2)MobclickAgent.onPageStart() 和 MobclickAgent.onPageEnd() 方法是用来统计页面跳转的
    一、Session 统计
    
   在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context),session统计就完成了。
   
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}

注意 如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加onPause和onResume方法,否则会造成重复统计(eg.使用TabHost、TabActivity、ActivityGroup时)。


    二、页面统计
    
   在仅有Activity的程序中,SDK 自动帮助开发者调用了 (2) 中的方法,并把Activity 类名作为页面名称统计。

   在包含fragment的程序中我们希望统计更详细的页面,所以需要自己调用方法做更详细的统计。首先,需要在程序入口处,调用 MobclickAgent.openActivityDurationTrack(false) 禁止默认的页面统计方式,这样将不会再自动统计Activity。


然后需要做两步集成:
1. 使用 onResume 和 onPause 方法统计时长, 这和基本统计中的情况一样(针对Activity) 
2. 使用 onPageStart 和 onPageEnd 方法统计页面(针对页面,页面可能是Activity 也可能是Fragment或View)


对于一些典型,比如页面是直接放在Activity里面的,统计代码大约是这样:
public void onResume() {
    super.onResume();
    MobclickAgent.onPageStart("SplashScreen"); //统计页面,SplashScreen是Activity的类名
    MobclickAgent.onResume(this);          //统计时长
}
public void onPause() {
    super.onPause();
    MobclickAgent.onPageEnd("SplashScreen"); // 保证 onPageEnd 在onPause 之前调用,因为 onPause 中会保存信息 
    MobclickAgent.onPause(this);
}

  在 FragmentActivity 中统计时长:

public void onResume() {
    super.onResume();
    MobclickAgent.onResume(this);       //统计时长
}
public void onPause() {
    super.onPause();
    MobclickAgent.onPause(this);
}
  对于Fragement和 View统计页面,可以这样写:
  
 public void onResume() {
    super.onResume();
    MobclickAgent.onPageStart("SplashScreen"); //统计页面,SplashScreen是类名
}
public void onPause() {
    super.onPause();
    MobclickAgent.onPageEnd("SplashScreen"); 
}

要注意的是这些方法的调用,需要保证线性不交叉,每个 start 都有一个 end 配对
    
    4、发送策略
    发送策略定义了用户由统计分析SDK产生的数据发送回友盟服务器的频率。默认:下次启动时发送上次的数据,您需要在程序的入口 Activity 中添加
     MobclickAgent.updateOnlineConfig( mContext );
     MobclickAgent.setDebugMode(false);
     
    到此,集成SDK完成,小伙伴们也来试试吧……

你可能感兴趣的:(android)