Android 友盟的计数功能,友盟统计_U-App应用统计之自定义事件统计

自定义事件可以实现在应用程序中埋点来统计用户的点击行为。自定义事件目前包括“计数事件”和“计算事件”,二者的区别以及详细说明请点击这里(http://dev.umeng.com/analytics/functions/numekv)。

☺自定义事件使用中的问题请参见友盟开发者社区:

自定义事件常见问题(http://bbs.umeng.com/thread-5417-1-1.html),关于自定义事件的那些事儿(http://bbs.umeng.com/thread-11284-1-1.html)

4.1使用自定义事件的依赖条件

使用自定义事件功能请先登陆友盟官网(http://www.umeng.com/),在“统计分析->设置->事件”(子账户由于权限限制可能无法看到“设置”选项,请联系主帐号开通权限。)页面中添加相应的事件id(事件id可用英文或数字,不要使用中文和特殊字符且不能使用英文句号“.”您可以使用下划线“_”),然后服务器才会对相应的事件请求进行处理。

4.2  计数事件

使用计数事件需要在后台添加事件时选择“计数事件”。

4.2.1统计发生次数

在您希望跟踪的代码部分,调用如下方法:

[MobClick event:(NSString *)eventId];

eventId为当前统计的事件ID。

示例:统计微博应用中"转发"事件发生的次数,那么在转发的函数里调用:

[MobClick event:@"Forward"];

4.2.2统计点击行为各属性被触发的次数

考虑事件在不同属性上的取值,可以调用如下方法:

[MobClick event:(NSString *)eventId

attributes:(NSDictionary *)attributes];

attributes为当前事件的属性和取值(键值对),不能为空。

示例:统计电商应用中“购买”事件发生的次数,以及购买的商品类型及数量,那么在购买的函数里调用:

NSDictionary *dict =

@{@"type": @"book",

@"quantity" : @"3"};

[MobClick event:@"purchase"attributes:dict];

4.3  计算事件

使用计算事件需要在后台添加事件时选择“计算事件”。

4.3.1统计数值型变量的值的分布

统计一个数值类型的连续变量(该变量必须为整数),用户每次触发的数值的分布情况,如事件持续时间、每次付款金额等,可以调用如下方法:

+[MobClick event:(NSString *)eventId

attributes:(NSDictionary *)attributes

counter:(int)number];示例:购买《Swift

Fundamentals》这本书,花了110元

[MobClick event:@"pay"

attributes:@{@"book" : @"Swift

Fundamentals"} counter:110];

如果您使用的是V3.1.2以下版本的SDK,请使用下面的方法:

-(void)umengEvent:(NSString *)eventId

attributes:(NSDictionary *)attributes

number:(NSNumber *)number{

NSString

*numberKey = @"__ct__";

NSMutableDictionary *mutableDictionary =

[NSMutableDictionary

dictionaryWithDictionary:attributes];

[mutableDictionary

setObject:[number stringValue] forKey:numberKey];

[MobClick event:eventId

attributes:mutableDictionary];

}

示例:购买《Swift

Fundamentals》这本书,花了110元

[self umengEvent:@"pay"

attributes:@{@"book" : @"Swift

Fundamentals"}

number:@(110)];

4.3.2统计点击次数及各属性触发次数

计算事件除能够统计数值型的参数外还具有计数事件的所有功能。详细说明

4.4  注意事项

event

id不能使用特殊字符,不建议使用中文,且长度不能超过128个字节;map中的key和value

都不能使用特殊字符,key

不能超过128个字节,value

不能超过256个字节。

id,

ts, du是保留字段,不能作为event

id及key的名称。

每个应用至多添加500个自定义事件,每个event的key不能超过10个,每个key的取值不能超过1000个。

如需要统计支付金额、内容浏览数量等数值型的连续变量,请使用计算事件(不允许通过key-value结构来统计类似搜索关键词,网页链接等随机生成的字符串信息)。

若需要提高指标上限,请申请APP企业认证,了解企业认证点击这里(http://www.umeng.com/enterprise_certificate_intro)。

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

代码示例:​

//友盟统计用户下单事件

NSDictionary*attributes = @{@"userId" : userId, @"productId" : productId};

[MobClickevent:@"PlaceAnOrder" attributes:attributes];

​//打印日志如下:(数据类型错误)

2016-05-09 14:37:56.677 WanWenWan[4629:1508256] UMLOG:

(ERROR) Umeng event's keys and values must be string ,key's max

length 128 and value's max length 256

2016-05-09 14:37:56.680 WanWenWan[4629:1508256] UMLOG: ekv:

session_id=A6709E0DE506A7F397C6CD368620ACF5,

id=PlaceAnOrder,values={

userId = 212;

}

//友盟统计用户下单事件(服务器返回的数据不为字符串类型,需要转化为字符串才行)

NSDictionary *attributes =

@{@"userId" : userId,

@"productId" : [NSString

stringWithFormat:@"%@",productId]};

[MobClick

event:@"PlaceAnOrder"

attributes:attributes];

//正确设置字符串后打印日志如下:

2016-05-09 14:41:45.065 WanWenWan[4660:1532687] UMLOG: ekv:

session_id=4CD4890C0D94EC6B8E5A72C90331D71D,

id=PlaceAnOrder,values={

productId =

3245;

userId = 212;

}

//支付宝支付

-(void)p_aliPay:(NSString *)params{

NSString*Scheme = @"wanwenwan"; //回调的url(应用的URL)

if(params.length != 0 ) {

[[AlipaySDKdefaultService] payOrder:params fromScheme:Scheme callback:^(NSDictionary *resultDic) {

if([[NSString stringWithFormat:@"%@",resultDic[@"resultStatus"]] isEqualToString:@"9000"]) { //支付成功

//统计支付宝支付成功次数

[MobClickevent:@"PaySuccess"attributes:@{@"PayWay"

: @"AliPay"}];

#warning 跳转到支付成功页面

}else{

[selfalertViewtitle:@"提示" message:@"支付失败"];

}

}];

}

}

//微信支付成功后的回调方法中加入

//统计微信支付成功次数

[MobClickevent:@"PaySuccess"attributes:@{@"PayWay"

: @"WXPay"}];

统计自定义事件的及时性不够,有的时候需要等大概10分钟才能更新到最新的数据。。。没有启动次数这些统计那么及时。。。

a4c26d1e5885305701be709a3d33442f.png

分析自定义事件:

a4c26d1e5885305701be709a3d33442f.png

测试与调试

确认如下内容

确认APPKEY正确​

确认添加了libz库​

确认测试手机(或者模拟器)已成功连入网络

集成中可能出现的问题,(http://bbs.umeng.com/thread-6383-1-1.html)。

使用集成测试服务(推荐)

什么是集成测试?

集成测试是通过收集和展示已注册测试设备发送的日志,来检验SDK集成有效性和完整性的一个服务。所有由注册设备发送的应用日志将实时地进行展示,您可以方便地查看包括应用版本、渠道名称、自定义事件、页面访问情况等数据,提升集成与调试的工作效率。

注意:

使用集成测试之后,所有测试数据不会进入应用正式的统计后台,只能在“管理--集成测试--实时日志”里查看,您不必再担心因为测试而导致的数据污染问题,让数据更加真实有效的反应用户使用情况。

使用集成测试模式请先在程序入口处调用如下代码,打开调试模式:

[MobClick

setLogEnabled:YES];

使用普通测试流程

如果您不使用集成测试服务来测试数据,那您可以通过普通测试流程查看测试数据。

使用普通测试流程,您的测试数据会与用户的真实使用数据同时处理,从而导致数据污染。

使用普通测试流程,请先在程序入口添加以下代码打开调试模式:

[MobClick setLogEnabled:YES];

打开调试模式后,您可以在logcat

中查看您的数据是否成功发送到友盟服务器,以及集成过程中的出错原因等,友盟相关log的tag是MobclickAgent。

FAQ​

Q:集成测试与普通测试的区别

A:集成测试与普通测试两者都需要添加代码[MobClick

setLogEnabled:YES];打开调试模式,但是集成测试需要添加测试设备,集成测试功能说明参见这里。集成测试隔离测试数据,普通的测试不区分测试数据与真实数据;集成测试的结果需在实时日志中查看,普通测试则是在友盟相关的log中查看。​

具体操作步骤请参照友盟统计分析iOS集成文档:http://dev.umeng.com/analytics/ios-doc/integration?spm=0.0.0.0.9SP38z#4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值