友盟统计SDK更新了,以前一些项目使用的老版SDK都需要更换成新版的,之前一直想找机会记录一下,一直没有机会,正好有个项目需要更换就做下记录。
新建应用
新建应用之前你需要注册一个友盟开发者账号,自己用邮箱注册一下就是了。
- 1、登录友盟,选择需要集成的功能,这里我们就集成“U-App(应用统计)”
- 2、选择“立即使用”,进入“我的产品”
- 3、选择“添加新应用”,按照提示填写相关信息,提交获取AppKey
查看AppKey
提交完新应用之后,我们可以在“我的应用”中查看,我们账号下的相关应用
相关的统计数据也是在这里查看,OK,创建应用已经完成,现在我们来处理代码中的使用
代码集成
1、下载SDK
选择对应的SDK进行下载,同时可以查看官方的集成文档
SDK下载好之后,我们需要下面两个jar包导入项目
- common/umeng-common-1.x.x.jar //统计的基础服务包
- analytics/umeng-analytics-7.x.x.jar //统计包
2、AndroidManifest配置
注意: 新版本中即使已经在AndroidManifest.xml中配置appkey和channel(渠道标识)值,也需要在App代码中调用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,UMConfigure.init调用中appkey和channel参数请置为null):
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
...
<meta-data android:value="YOUR_APP_KEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
3、代码中设置APPKEY
使用如下代码
/**
* 初始化common库
* 参数1:上下文,不能为空
* 参数2:友盟 app key
* 参数3:友盟 channel
* 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
* 参数5:Push推送业务的secret
*/
UMConfigure.init(Context context, String appkey, String channel, int deviceType, String pushSecret);
注意:
参数1:上下文,必须的参数,不能为空
参数2:友盟 app key,非必须参数,如果Manifest文件中已配置app key,该参数可以传null,则使用Manifest中配置的app key,否则该参数必须传入
参数3:友盟 channel,非必须参数,如果Manifest文件中已配置channel,该参数可以传null,则使用Manifest中配置的channel,否则该参数必须传入,channel命名请详见channel渠道命名规范
参数4:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机
参数5:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传null
4、各种数据的统计
- 使用时间的统计
在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context),
onPause方法中调用 MobclickAgent.onPause(Context)
我们可以在BaseActivity中的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context),这样就不需要再每个Activity中添加代码了。
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
非常重要:必须调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,才能够保证获取正确的新增用户、活跃用户、启动次数、使用时长等基本数据。
- 使用用户的统计
//当用户使用自有账号登录时,可以这样统计:
MobclickAgent.onProfileSignIn("userID");
//当用户使用第三方账号(如新浪微博)登录时,可以这样统计:
MobclickAgent.onProfileSignIn("WB","userID");
退出登录时调用
MobclickAgent.onProfileSignOff();
- 其他统计
其他的统计可以看这里:http://dev.umeng.com/sdk_integate/android_sdk/analytics_doc#1_2_3
查看应用使用数据
登录友盟即可查看应用的使用数据了。