友盟自定义事件的使用方法

     友盟为用户提供了自定义事件的功能,用于追踪用户行为,记录行为发生的具体细节。 
    1、计数事件
   计数事件统计事件的发生次数、独立用户数、事件时长及事件各参数的发生次数、时长。
   // 普通事件
   MobclickAgent.onEvent(mContext, "event_Id");
   MobclickAgent.onEvent(mContext, "event_Id", "标签");
   // 多属性(K-V)事件
   Map<String, String> map_ekv = new HashMap<String, String>();
   map_ekv.put("type", "popular");
   map_ekv.put("artist", "JJLin");
   MobclickAgent.onEvent(mContext, "music", map_ekv);
      2、计算事件
      程序中的某些事件,如登录、分享、下载等,是定性变量(categorical variable),对应的统计项是字符串类型。开发者只需了解它们发生的次数及独立用户数,使用计数事件即可满足。
      还有一些事件,如上面提到的支付金额、内容浏览数量等是连续变量,对应的统计项是数值类型。开发者需要查看这些事件的数值分布特征,这就需要使用计算事件。

    计算事件可以解决的一些问题:
 (1)对某个参数值求和
 (2)计算某个参数值的单次均值及单用户均值
 (3)近似得到某个参数值的概率分布函数[1]  
 (4)近似得到某个参数值的累计分布函数[2]
   
   // 数值型统计
   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, 12000);
   
   事件开始与结束
   // 事件开始
   MobclickAgent.onEventBegin(mContext, "music");
   
   MobclickAgent.onEventBegin(mContext, "music", "one");
   
   Map<String, String> map = new HashMap<String, String>();
   map.put("type", "popular");
   map.put("artist", "JJLin");
   MobclickAgent.onKVEventBegin(mContext, "music", map, "flag0");
   
    // 事件结束
  
  MobclickAgent.onEventEnd(mContext, "music");
    
  MobclickAgent.onEventEnd(mContext, "music", "one");

  MobclickAgent.onKVEventEnd(mContext, "music", "flag0");

   但是onEventBegin(...),onEventEnd(...)以及onEventDuration(...)后续不再支持,不建议使用。
   如需统计使用时长,开发者需要自己上传时长数据(如示例中的duration所示),时长数据会在计算事件的数值型部分展示;
   如果使用了onEventBegin(...),onEventEnd(...)以及onEventDuration(...)方法,时长数据会在计算事件的字符串型中显示。
   
   // 获取在线参数
String onlineParams = MobclickAgent.getConfigParams(mContext, "abc");

    // webView 统计 
 
    WebView webview = (WebView)findViewById(R.id.webview);
    new MobclickAgentJSInterface(this, webview, new WebChromeClient());
    
    注意如果你的HTML是运行在浏览器的,那么还是无法统计的,下文仅针对使用WebView加载 网页的情况。
 
    集成了上面的代码后,我们将会监听友盟的 js 代码调用。


    js代码集成在网页端,请添加如下的 js 代码:
<script type="text/javascript">


function onEvent(tag, label, duration) {
    prompt("event", JSON.stringify({tag:tag,label:label, duration:duration}));
}


function onKVEvent(tag, map, duration) {
    map.id = tag;
    map.duration = duration;


    prompt("ekv", JSON.stringify( map ));
}


</script> 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值