标签:友盟自定义事件 webview事件统计 webview计算事件 webview计数事件 友盟社交统计
一、自定义事件计算事件:还有一些事件,如支付金额、内容浏览数量等是连续变量,对应的统计项是数值类型。开发者需要查看这些事件的数值分布特征,这就需要使用计算事件。
计算事件可以解决的一些问题:
(1)对某个参数值求和
(2)计算某个参数值的单次均值及单用户均值
(3)近似得到某个参数值的概率分布函数[1]
(4)近似得到某个参数值的累计分布函数[2]
二、使用计数事件
1.了解计数事件的基本概念
事件ID是事件的标识,必须先在友盟后台进行创建,在代码中发送事件数据时,事件ID必须和后台一致。
事件ID不能使用特殊字符和ID、ts、du字段,并且长度在128字节内。
应用最多可以自定义500个事件(事件ID),每个事件最后又10个key,每个key最多1000g个取值。
2.创建事件ID
注意:
①事件ID是事件的标识,所以是唯一的,事件名称是事件ID的解释,方便理解。
②一些定性的操作,比如:登录次数、搜索次数、注册次数、进入购物车次数等,这些用计数事件;但是搜索关键词、账单金额等,这些信息是不确定的,有变化的取值,用计算事件。
3.集成计数事件
①统计事件的发生次数
调用下面的方法发送数据
MobclickAgent.onEvent(Context context, String eventId);
MobclickAgent.onEvent(LoginActivity.this, "login");
MobclickAgent.onEvent(Context context, String eventId, HashMap<String,String> map);
HashMap<String,String> map = new HashMap<String,String>();map.put("category","Gadgets");map.put("sku",""+1225);map.put("price","$12.89");MobclickAgent.onEvent(mContext, "add to cart", map);
MobclickAgent.onEventValue(Context context, String id, Map<String,String> m, int du)
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);
public MobclickAgentJSInterface(Context context, WebView webview, WebChromeClient client)
public MobclickAgentJSInterface(Context context, WebView webview)
WebView webview = (WebView) findViewById(R.id.webview);new MobclickAgentJSInterface(Context, webview);
做完上面2步,其实Android端页面的代码已经集成好了,现在需要做的是在HTML/JS页面中添加点击事件,当用户点击连接的时候,相应JS中的方法,发送数据到友盟。
③在js页面中添加2个方法
<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>
<a onClick="onEvent(‘click‘)"> SimpleEvent</a><a onClick="onEvent(‘click‘,‘button‘)"> EventWithLabel </a><a onClick="onEvent(‘play‘,‘music‘,123)"> EventWithLabelAndDuration </a><a onClick="onEvent(‘play‘,‘‘,123)"> EventWithDuration </a><a onClick="onKVEvent(‘buy‘,{‘item‘:‘gun‘})"> KVEvent </a><a onClick="onKVEvent(‘play‘,{‘music‘:‘blue‘}, 123)"> KVEventWithDuration </a>
//tag 传入字符串onEvent(tag) -> MobclickAgent.onEvent(Context context, String tag);// tag ,label 传入字符串onEvent(tag, label)-> MobclickAgent.onEvent(Context context, String tag, String label);// tag 传入字符串, 第二个变量 传入空字符串, du 传入 数值类型onEvent(tag, ‘‘, du) -> MobclickAgent.onEvent(Context context, long duration);// tag, label 传入字符串, du 传入数值类型onEvent(tag, label, du) -> MobclickAgent.onEvent(Context context, String tag, String label, long du);// id 传入字符串, 第二个参数传入 js 对象eg:{‘item‘:‘gun‘,‘type‘:‘weapon‘}onKVEvent(id, {} ) -> MobclickAgent.onEvent(Context context, HashMap map);// id 传入字符串, 第二个参数传入 js 对象eg:{‘item‘:‘gun‘,‘type‘:‘weapon‘}, du 传入 数值类型onKVEvent(id, {} , du) -> MobclickAgent.onEvent(Context context, HashMap map, long du);
public static void reportError(Context context, String error)//或public static void reportError(Context context, Throwable e)
UMPlatformData platform = new UMPlatformData(UMedia.SINA_WEIBO, "user_id");platform.setGender(GENDER.MALE); //optionalplatform.setWeiboId("weiboId"); //optionalMobclickAgent.onSocialEvent(this, platform);
UMeida meida 平台枚举类型(必填)String usid 用户的id(必填)String weiboId 微博id String name 用户姓名 GENDER gender 用户性别八、其它数据统计API
1.MobclickAgent.setAutoLocation(boolean enable)设置是否允许收集地理位置信息 (默认true) 2.MobclickAgent.setOpenGLContext(GL10 gl)设置openGL 信息,辅助统计GPU 信息
3.MobclickAgent.onKillProcess(Context context)如果开发者调用Process.kill或者System.exit之类的方法杀死进程,请务必在此之前调用此方法,用来保存统计数据。
标签:友盟自定义事件 webview事件统计 webview计算事件 webview计数事件 友盟社交统计
原文地址:http://blog.csdn.net/z18789231876/article/details/42145789