友盟统计工具使用详解

通过上一篇的讲解,相信大家对统计工具都有了一定的认识,下面我们来看看具体是怎样实现友盟数据统计的吧。
    一、数据统计
    1、获取AppKey
    首先,登陆友盟官网,在我的产品页面添加新应用,然后获取到Appkey,将它添加到AndroidManifest.xml文件中去。注意添加权限:
  
 <manifest……>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <!-- 检测网络状态 -->  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />     <!-- 获取mac地址作为用户的备用唯一标识 -->  
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />      <!-- 获取用户手机的IMEI,用来唯一的标识用户。 -->  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 缓存资源优先存入SDcard -->  
    <uses-permission android:name="android.permission.INTERNET" />    <!-- 允许应用程序联网,以便向我们的服务器端发送数据。 -->  
    <application ……>

    <meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"></meta-data><!--  YOUR_APP_KEY 替换为您在友盟后台申请的应用Appkey -->
    <meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/><!-- Channel ID 替换为您应用的推广渠道名称。 -->
    </application>    
    </manifest>
    如不想在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完成,小伙伴们也来试试吧……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值