友盟统计事件添加

友盟统计

SDK集成

通过在工程build.gradle配置脚本中添加maven线上依赖,导入最新版本组件化基础库和统计SDK。 在Gradle依赖中添加:

dependencies {
    compile 'com.umeng.sdk:common:latest.integration'
    compile 'com.umeng.sdk:analytics:latest.integration'
}

如果无法正常集成请添加如下配置:

allprojects {
    repositories {
            mavenCentral()     
    }
}

SDK初始化

在项目工程的自定义application中的onCreate方法中添加

注意: 如果项目的Manifest文件中已经配置友盟的appkey和channel,则使用该方法初始化。

/**
*参数1:上下文,必须的参数,不能为空l
参数2:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机
参数3:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空
*/
 UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "1fe6a20054bcef865eeb0991ee84525b");

权限添加

 
 

  

  
 

 
  


AndroidManifest清单配置文件方式初始化appkey和channel


 
 …… 

 
 
 

常用接口

设置Log开关

/**
* 参数: boolean 默认为false,如需查看LOG设置为true
*/
UMConfigure.setLogEnabled(true);

设置日志加密

/**
* 参数:boolean 默认为false(不加密)
*/
UMConfigure.setEncryptEnabled(true);

统计

session统计

在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context),
onPause方法中调用 MobclickAgent.onPause(Context)

public void onResume() {
     super.onResume();
     MobclickAgent.onResume(this);
 }
 public void onPause() { 
    super.onPause(); 
    MobclickAgent.onPause(this); 
} 
  • 确保在所有的Activity中都调用 MobclickAgent.onResume() 和onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。
  • 注意如果您的Activity之间有继承或者控制关系请不要同时在父和子Activity中重复添加nPause和nResume方法,否则会造成重复统计,导致启动次数异常增高。(eg.使用TabHost、TabActivity、ActivityGroup时)。
  • 当应用在后台运行超过30秒(默认)再回到前端,将被认为是两个独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。
  • 可通过接口:setSessionContinueMillis(long interval) 来自定义这个间隔(参数单位为毫秒)。
  • 如果开发者调用kill或者exit之类的方法杀死进程,请务必在此之前调用onKillProcess(Context context)方法,用来保存统计数据。

页面统计

只由Activity构成的应用

如果您已经完成之前的代码添加(session统计),那么SDK已默认统计了每个Activity的跳转路径。页面统计不需要再添加其他代码。

包含Activity、Fragment或View的应用

手动页面统计API:一次成对的 onPageStart -> onPageEnd 调用,对应一次手动页面生命周期统计。

    public static void onPageStart(String viewName);
    public static void onPageEnd(String viewName);

MobclickAgent.onResume() 和MobclickAgent.onPause() 方法是用来统计应用时长的(也就是Session时长,当然还包括一些其他功能)
MobclickAgent.onPageStart()和MobclickAgent.onPageEnd()方法是用来统计页面跳转的

自定义事件统计(数据埋点)

  • event id:自定义事件id。
  • key:自定义事件下的参数。
  • value:自定义事件参数下的参数值。
计数事件

在您希望跟踪的代码部分,调用如下方法:
public static void onEvent(Context context, String eventID);
public static void onEvent(Context context, String eventID, String label);

  • context 当前宿主进程的ApplicationContext上下文。
  • eventId 为当前统计的事件ID。
  • label 事件的标签属性。
统计点击行为各属性被触发的次数

考虑事件在不同属性上的取值,可以调用如下方法:
public static void onEvent(Context context, String eventID, Map map);

  • context 当前宿主进程的ApplicationContext上下文。
  • eventID 为当前统计的事件ID。
  • map 为当前事件的属性和取值(Key-Value键值对)。
    比如:统计电商应用中”购买”事件发生的次数,以及购买的商品类型及数量,那么在购买的函数里调用:
    HashMap map = new HashMap();
    map.put("type","book");
    map.put("quantity","3"); 
    MobclickAgent.onEvent(mContext, "purchase", map);

事件统计封装工具类

public class EventStatisticsUtil {


    /**
     * 统计触发事件的ID和参数
     * @param mContext
     * @param eventId
     * @param params
     */
    public static void onEvent(Context mContext, String eventId, Map params) {
        MobclickAgent.onEvent(mContext, eventId, params);
    }

    /**
     * 只统计事件触发ID
     * @param mContext
     * @param eventId
     */
    public static void onEvent(Context mContext, String eventId) {
        MobclickAgent.onEvent(mContext, eventId);
    }
}

你可能感兴趣的:(友盟统计事件添加)