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版权协议,转载请附上原文出处链接和本声明。