集成友盟统计功能

需求:统计指定页面的用户点击情况

,注册账号,

,创建产品,拿到appkey

,集成SDK

1,添加依赖

1.1在工程gralde下添加mavenCentral仓库

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

1.2,appgradle下添加依赖

compile 'com.umeng.sdk:common:latest.integration'
compile 'com.umeng.sdk:analytics:latest.integration'

2,添加权限

<uses-sdk android:minSdkVersion="8"></uses-sdk>
<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.INTERNET"/>

3,Application里面初始化

UMConfigure.init(this, AppKey, Channel, UMConfigure.DEVICE_TYPE_PHONE,"");

//UMConfigure.setLogEnabled(true);//设置组件化的Log开关
UMConfigure.setEncryptEnabled(true);//设置日志加密
MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL);//普通统计场景
MobclickAgent.setDebugMode( true );// 打开统计SDK测试模式

4,App中每个ActivityonResume方法中调用 MobclickAgent.onResume(context),onPause方法中调用 MobclickAgent.onPause(context)

public void onResume() {
    super.onResume();
    
MobclickAgent.onResume(this);//在这里调用
}
public void onPause() {
    super.onPause();
    
MobclickAgent.onPause(this);//在这里调用
}

注意:

    4.1,确保在所有的Activity中都调用 MobclickAgent.onResume() onPause()方法,这两个调用不会阻塞应用程序的主线程,也不会影响应用程序的性能。

    4.2,如果您的Activity之间有继承或者控制关系,请不要同时在父和子Activity中重复添加nPausenResume方法,否则会造成重复统计,导致启动次数异常增高。(例如:使用TabHostTabActivityActivityGroup)

4.3,当应用在后台运行超过30秒(默认)再回到前台,将被认为是两次独立的Session(启动),例如:用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。即被认为是两个独立的Session

5,如果只想统计某几个页面

5.1,Application中禁用系统的

MobclickAgent.openActivityDurationTrack(false);//禁用系统的统计页面

5.2,在你想要统计的页面统计

public void onResume() {
    super.onResume();
    MobclickAgent.onPageStart("MainActivity");
}
public void onPause() {
    super.onPause();
    MobclickAgent.onPageEnd("MainActivity");
}

6,自定义事件

分为计数事件和计算事件

6.1计数事件:

记录点击次数,或者进入某个activity的次数

A,在友盟后台添加事件,

点击功能使用---自定义事件--设置--添加事件,事件Id要与代码中的eventId一直

MobclickAgent.onEvent(getActivity(),"MerchantActivity");

MobclickAgent.onEvent(getActivity(),"order");//计数事件

6.2,计算事件

     用于统计一个数值类型的连续变量(该变量必须为整数),用户每次触发的数值的分布情况,如音乐播放时间、每次付款金额等,

A,在后台添加计算事件的步骤和计数事件类似

B,代码

int duration = 12000; //开发者需要自己计算音乐播放时长
Map<String, String> map_value = new HashMap<String, String>();
map_value.put("type" , "popular" );
map_value.put("artist" , "JJLin" );
MobclickAgent.onEventValue(this, "music" , map_value, duration);


7,一个onResume方法与上一个Activity的onPause方法相差30秒,标志新Session的开始;当一个onPause方法发生后30秒内没有再触发任何一个Activity的onResume方法,标志该Session结束,友盟通过通过30秒规则来判断是否是Session的终止。

8,集成测试,

8.1,在application初始化调试

MobclickAgent.setDebugMode( true );// 打开统计SDK测试模式

8.2,添加测试设备信息

    

友盟文档地址:点击打开链接https://developer.umeng.com/docs/66632/detail/66889

猜你喜欢

转载自blog.csdn.net/qq_38859786/article/details/80328425