友盟(三)高级功能

一、自定义事件

自定义事件可以实现在应用程序中埋点来统计用户的点击行为,比如:统计用户的点击事件,统计用户都点击了什么;统计用户搜索的关键字,看用户都偏好什么产品等等。自定义事件目前包括:计数事件和计算事件。

计数事件:计数事件统计事件的发生次数、独立用户数、事件时长及事件各参数的发生次数、时长。

程序中的某些事件,如登录、分享、下载等,是定性变量(categorical variable),对应的统计项是字符串类型。开发者只需了解它们发生的次数及独立用户数,使用计数事件即可满足。

计算事件:还有一些事件,如支付金额、内容浏览数量等是连续变量,对应的统计项是数值类型。开发者需要查看这些事件的数值分布特征,这就需要使用计算事件。

计算事件可以解决的一些问题:

(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);

参数2:事件ID必须和后台设置的保持一致

例子:统计用户登录的次数:


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); 

三、使用计算事件

1.配置

友盟后台添加事件,配置为计算事件,方式和技术事件一样。

2.统计数值型变量的值的分布

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

3.统计方法


MobclickAgent.onEventValue(Context context, String id, Map<String,String> m, int du)

参数2:事件ID

参数3:事件的属性和取值

参数4:事件的数值,取值范围:-2,147,483,648~+2,147,483,677之间的有符号整数,即int 32类型。如果超出了范围,会造成数据包丢失。

4.例子分析

友盟示例:统计一次音乐播放,包括音乐类型、作者、时长,可以在音乐播放结束后调用。


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);

四、在webview中统计事件

1.概念

所谓在webview中统计事件,指的是如果项目中的某个页面使用了webview,并嵌入了html/js代码,并且希望统计html中的点击事件。

2.使用步骤

①实现MobclickAgentJSInterface接口。

这个接口是友盟提供的,有两种形式:

如果实例化了WebChromeClient接口


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>  

④在html页面中设置点击事件

这里相应的事件是自己添加的事件。


<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>

这里的点击事件和JAVA接口有如下对应关系


 //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);

3.原理分析

在java代码中,通过实例化接口对象,开启了WebView事件统计功能,具体发送数据由html/js来完成。

html/js通过为点击事件响应友盟提供的方法,进行数据的发送工作。在js提供的方法中,最后都会调用prompt()方法进行数据的发送,友盟拦截到数据后,进行统计处理。

五、在线参数

六、错误统计

友盟sdk在V4.6版本之后开始内部集成了错误统计,自动发送错误信息到友盟服务器,不需要开发者去集成。

sdk通过Thread.UncaughtExceptionHandler捕获程序崩溃日志,并在程序瑕疵启动的时候发送到友盟服务器。友盟的数据统计都是在下一次启动的时候,发送上一次整个过程中的各种统计数据到友盟服务器。

如果开发者想要自己捕获错误信息,手动发送到友盟服务器,可以调用下的方法:


public static void reportError(Context context, String error)   

//或  

public static void reportError(Context context, Throwable e)

七、社交统计

1.概念

社交统计:所谓社交统计就是针对社交行为的垂直统计,可以非常详尽的统计应用中发生的各种社交行为。只需要调用一行代码,就可以获得数据丰富的社交用户分析报表。

2.使用方法

比如:分享产品到新浪微博,调用下面的代码


UMPlatformData platform = new UMPlatformData(UMedia.SINA_WEIBO, "user_id"); 

platform.setGender(GENDER.MALE); //optional   

platform.setWeiboId("weiboId");  //optional   

MobclickAgent.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 之类的方法杀死进程,请务必在此之前调用此方法,用来保存统计数据。

时间: 2024-10-07 13:13:54

友盟(三)高级功能的相关文章

Android集成友盟推送功能

友盟是中国最大的移动开发者服务平台,为移动开发者提供免费的应用统计分析.社交分享.消息推送.自动更新.在线参数.移动推广效果分析.微社区等app开发和运营解决方案. 如何快速集成友盟推送功能: 1. 注册友盟账号 友盟开发者账号的注册地址:http://www.umeng.com/users/sign_up 2. 创建推送应用 首先进入友盟消息推送的应用中心,创建一个应用,链接地址为:http://message.umeng.com/appList. 应用创建完成后,点击应用名称进入应用详情页面

Android 使用第三方SDK—友盟实现分享功能

今天给大家写一下友盟的分享,这段时间在项目有用到,这里简单给大家介绍一下. 友盟的官网链接:点击打开链接 首先,到微信,QQ,微博开放平台添加应用,获取key,下面列出链接: QQ开放平台 微信开放平台  微博开放平台 到友盟官网注册,添加应用获取唯一的key, 下载友盟分享的SDK,需要引入到自己项目当中.我这只用到了微信,QQ,微博,就只选了一部分功能. 再添加相应的res资源文件到你的项目中,到这里,准备工作就完成了. 接下来,开始实现分享功能.友盟分享有它自己给的分享界面,可以直接使用,

Android集成友盟社会化分享功能

1.  产品概述 友盟社会化组件,可以让移动应用快速具备社会化分享.登录.评论.喜欢等功能,并提供实时.全面的社会化数据统计分析服务. 指南将会手把手教你使用社会化组件SDK,用5分钟为APP增加新浪微博.腾讯微博.人人网分享功能. 注意:本文示例代码均针对最新版SDK,如果你所用SDK的类名或方法名与此文不符合,请使用你所用SDK的随包文档.或者下载使用最新版SDK. 2.  获取友盟Appkey 如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它. 如果你尚未在友盟注册开

友盟消息push功能

友盟地址:https://i.umeng.com/user/products 一.android 1.产品->U-App/U-push->立即使用->管理->左侧-集成测试->测试设备->添加测试设备->方式二:扫码方式自动识别设备->下载后再次扫码->设备识别信息自动生成->确定 待补充... 二.ios 1.产品->U-App/U-push->立即使用->左上角选择应用->左侧-消息推送->进入消息推送->

友盟全国巡回开放日启动,寻找1000个真正的粉丝

APP正在快速渗透人们的生活方式,以往在线下或网页完成的事情在快速向移动端转移.友盟最新数据显示,2014年第四季度,93%的垂直领域七日留存均有所提升,金融理财.生活助手和健康医疗领域增幅最为显著. 虽然在总体趋势上留存率看涨,但有些APP的留存率却表现平平甚至出现下滑.留存率不但考验着产品的质量,更考验我们运营的能力,留存率过低意味着APP正面临严重的用户流失问题,最终很可能被用户遗忘或抛弃. 那么,留存率说明哪些问题?留存率多少才算正常?如何在激烈的竞争中维持现有留存率?留存率过低应该采取

友盟集成自动更新版本功能

以下是从友盟SDK文档中摘录出来的一些说明: iOS自动更新SDK集成指南 :http://dev.umeng.com/auto-update/ios/quick-start 1. 集成友盟iOS统计分析SDK 友盟自动更新功能在统计分析SDK中实现,请点击下面链接,先集成统计分析SDK 统计分析iOS SDK集成指南 2. 使用按渠道自动更新检测 在网站上分渠道提交app的版本号,更新日志及openURL后,您只需添加一行代码来完成自动更新检查. 请将下面代码添加到[MobClick star

集成友盟的意见反馈功能

最近一直在开发毕业设计的项目,其中用到了很多自己没接触过的东西,就包括集成友盟SDK的意见反馈模块的内容了.确实用了一点心思在里面,捣鼓了一阵子,中间也遇到了一些问题,关键这问题也不好解决,问大神大神也不一定有去接触这一块,然后网上是有很多资料,但总感觉对我的帮助不是很大,所以,当完成了友盟的这块功能后,就特别想贡献出来,一是为以后方便自己重温这块知识点,二是顺便 发布出来帮助像我这样遇到问题一直寻求解决办法的人.好了,废话不多说了,直接上效果图,然后PO代码! 效果图如下: 当然顺便也po上友

友盟各个插件的使用方法

使用友盟提供的功能之前需要获取应用的AppKey 一:应用统计 开发文档:http://dev.umeng.com/analytics/android-doc/integration session统计 在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用MobclickAgent.onPause(Context) 确保在所有的Activity中都调用 MobclickAgent.onResume() 和M

线上应用bug跟踪查找-友盟统计

线上的应用只要用心点点都能发现些bug,连微信,QQ也不列外.但是bug中最严重的算是闪退了,这导致了用户直接不能使用我们的app. 我们公司是特别注重用户反馈和体验的,我们会定期打电话咨询用户的使用情况.我们也有自己的天使用户群,这些用户会跟我们及时的反馈应用的使用情况,bug情况,还有他们的需求. 用户不是技术人员他无法跟你清楚的描述怎么产生闪退的,于是我们需要一个bug统计的功能,我们公司采用友盟统计实现bug的记录.我们在iOS应用中植入友盟统计的功能,我也经常在查看友盟的错误统计和错误

Android 友盟分享详细集成过程及所遇问题解决

最近项目需要针对微信.朋友圈.QQ.QQ空间集成友盟分享的功能,说实话,我也是第一次做,期间碰到过很多问题,这篇随笔就来写一下我是怎么集成友盟分享的,还有碰到哪些问题,都是怎样解决的! 其实集成友盟并不是很难,跟着集成文档一步一步走下来就可以,而且下载的友盟SDK会附带Demo,但是Demo中有很多东西是用不上的,所以就需要我们选择性的摘取有用的部分! 如需转载请注明出处:http://www.cnblogs.com/upwgh/p/6382085.html 1-获取友盟Appkey 如果你之前