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)。
?
代碼示例:?
//友盟統計用戶下單事件
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分鐘才能更新到最新的數據。。。沒有啟動次數這些統計那么及時。。。
分析自定義事件:
測試與調試
確認如下內容
確認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
總結
以上是生活随笔為你收集整理的Android 友盟的计数功能,友盟统计_U-App应用统计之自定义事件统计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 启动失败错误排查
- 下一篇: 微服务api网关_微服务设计api网关模