百度移动统计的使用


app要统计数据,了解到世面上许多的第三方统计平台: 站长统计、百度统计、腾讯统计、Google Analytics、友盟统计、CNZZ、诸葛数据、zhuige.io,Talking Data,FLURRY、机锋统计、Cobub Razor 等。

最后选择了百度移动统计,使用了之后觉得效果还是不错的,有用户分析、手机分析、crash分析等功能。


百度统计的使用按照sdk说明书就可完成


1、把百度移动统计的jar加到libs

2、添加权限

<!-- 需要申明的权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

3、meta-data配置

  <application
        android:name="XXXX"
        >
		<!--  您从百度网站获取的 APP  KEY   --> 
		<meta-data android:name="BaiduMobAd_STAT_ID" android:value="" />
		<!--  渠道商编号  -->
		<meta-data android:name="BaiduMobAd_CHANNEL" android:value="" />
		<!--  是否开启错误日志统计,默认为 false   -->
		<meta-data android:name="BaiduMobAd_EXCEPTION_LOG" android:value="true" />
		<!--  日志发送策略,可选值:APP_START、ONCE_A_DAY、SET_TIME_INTERVAL,默认为 APP_START   -->
		<meta-data android:name="BaiduMobAd_SEND_STRATEGY" android:value="APP_START" />
		
  <!-- 	日志发送策略 为SET_TIME_INTERVAL时,需设定时间间隔(取消下行注释)。取值为1-24的整数,默认为1 -->
        <meta-data android:name="BaiduMobAd_TIME_INTERVAL" android:value="2" />
        <!-- 日志仅在wifi网络下发送,默认为false -->
        <meta-data
            android:name="BaiduMobAd_ONLY_WIFI"    android:value="true" />
    <!--     是否获取基站位置信息 ,默认为true -->
        <meta-data
            android:name="BaiduMobAd_CELL_LOCATION" android:value="true" />
      <!--   是否获取GPS位置信息,默认为true -->
        <meta-data
            android:name="BaiduMobAd_GPS_LOCATION"  android:value="true" />
     <!--    是否获取WIFI位置信息,默认为true -->
        <meta-data
            android:name="BaiduMobAd_WIFI_LOCATION" android:value="true" />

5、百度统计的大部分设置在manifest文件里已经配置了,当然也可以在启动页里代码设置

 // 设置AppKey
 // appkey必须在mtj网站上注册生成,该设置建议在AndroidManifest.xml中填写,代码设置容易丢失
		StatService.setAppKey("XXX"); 
        /*
         * 设置渠道的推荐方法。该方法同setAppChannel(String), 如果第三个参数设置为true(防止渠道代码设置会丢失的情况),将会保存该渠道,每次设置都会更新保存的渠道,
         * 如果之前的版本使用了该函数设置渠道,而后来的版本需要AndroidManifest.xml设置渠道,那么需要将第二个参数设置为空字符串,并且第三个参数设置为false即可。
         * appChannel是应用的发布渠道,不需要在mtj网站上注册,直接填写就可以 该参数也可以设置在AndroidManifest.xml中
         */
         StatService.setAppChannel(this, "wandoujia", true);
        // 测试时,可以使用1秒钟session过期,这样不断的间隔1S启动退出会产生大量日志。
        StatService.setSessionTimeOut(30);
        // setOn也可以在AndroidManifest.xml文件中填写,BaiduMobAd_EXCEPTION_LOG,打开崩溃错误收集,默认是关闭的
        StatService.setOn(this, StatService.EXCEPTION_LOG);
        /*
         * 设置启动时日志发送延时的秒数<br/> 单位为秒,大小为0s到30s之间<br/> 注:请在StatService.setSendLogStrategy之前调用,否则设置不起作用
         * 
         * 如果设置的是发送策略是启动时发送,那么这个参数就会在发送前检查您设置的这个参数,表示延迟多少S发送。<br/> 这个参数的设置暂时只支持代码加入,
         * 在您的首个启动的Activity中的onCreate函数中使用就可以。<br/>
         */
        StatService.setLogSenderDelayed(0);
        /*
         * 用于设置日志发送策略<br /> 嵌入位置:Activity的onCreate()函数中 <br />
         * 
         * 调用方式:StatService.setSendLogStrategy(this,SendStrategyEnum. SET_TIME_INTERVAL, 1, false); 第二个参数可选:
         * SendStrategyEnum.APP_START SendStrategyEnum.ONCE_A_DAY SendStrategyEnum.SET_TIME_INTERVAL 第三个参数:
         * 这个参数在第二个参数选择SendStrategyEnum.SET_TIME_INTERVAL时生效、 取值。为1-24之间的整数,即1<=rtime_interval<=24,以小时为单位 第四个参数:
         * 表示是否仅支持wifi下日志发送,若为true,表示仅在wifi环境下发送日志;若为false,表示可以在任何联网环境下发送日志
         */
        StatService.setSendLogStrategy(this, SendStrategyEnum.APP_START, 1, true);
        // 调试百度统计SDK的Log开关,可以在Eclipse中看到sdk打印的日志,发布时去除调用,或者设置为false
        StatService.setDebugOn(false);

6、在activity或者fragment里添加统计代码

@Override
	protected void onPause() {
		super.onPause();

        /**
         * 页面结束(每个Activity中都需要添加,如果有继承的父Activity中已经添加了该调用,那么子Activity中务必不能添加)
         * 不能与StatService.onPageStart一级onPageEnd函数交叉使用
         */
        StatService.onPause(this);
	}
	
	@Override
	protected void onResume() {
		super.onResume();
		 /**
         * 页面起始(每个Activity中都需要添加,如果有继承的父Activity中已经添加了该调用,那么子Activity中务必不能添加)
         * 不能与StatService.onPageStart一级onPageEnd函数交叉使用
         */
        StatService.onResume(this);
	}



版权声明:本文为wuyou1336原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。