1. 自定义事件

1.1. 功能介绍


自定义事件功能,是MTA为开发者提供的自助分析工具。通过代码埋点,对用户行为进行追踪,完成对用户行为细节的记录。更多介绍>>

1.2. 接入流程

1. MTA管理台配置

  • 新增自定义事件,填写事件id、事件名称,并按需选择事件类型
  • 在事件的参数配置页面新增参数,填写参数id,参数名称
    查看配置详情>>

2. 接入MTA SDK,并进行代码埋点,把数据上报到MTA服务器

注:需在MTA管理台配置事件后,方能查看该事件的统计数据。

1.3. Android 自定义事件代码埋点指南


1.3.1. 【次数统计】Key-Value参数的事件

void StatService.trackCustomKVEvent(Context ctx, String event_id,
Properties properties)

(1)参数:

Ctx 页面的设备上下文

event_id 事件标识

properties Key-Value参数对,key和value都是String类型

(2)调用位置: 代码任意处

public void onOKBtnClick(View v) {
// 统计按钮被点击次数,统计对象:OK按钮
Properties prop = new Properties();
prop.setProperty("name", " OK ");
StatService.trackCustomKVEvent(this, " button_click", prop);
}
public void onBackBtnClick(View v) {
// 统计按钮被点击次数,统计对象:back按钮
Properties prop = new Properties();
prop.setProperty("name", " back ");
StatService.trackCustomKVEvent(this, " button_click", prop);
}

1.3.2. 【时长统计】Key-Value参数事件

可以指定事件的开始和结束时间,来上报一个带有统计时长的事件。

void StatService.trackCustomBeginKVEvent(
Context ctx, String event_id, Properties properties)
void StatService.trackCustomEndKVEvent(
Context ctx, String event_id, Properties properties)

(1)参数:

Ctx 页面的设备上下文

event_id 事件标识

properties Key-Value参数对,key和value都是String类型

(2)调用位置:

代码任意处

public void onClick(View v) {
Properties prop = new Properties();
prop.setProperty("level", "5");
// 统计用户通关所花时长,关卡等级: 5
// 用户通关前
StatService.trackCustomBeginKVEvent(this, " playTime", prop);
// 用户正在游戏中….
// …….
// 用户通关完成时
StatService.trackCustomEndKVEvent(this, " playTime", prop);
}

1.3.3. 【时长统计】带有统计时长的自定义参数事件

可以指定事件的开始和结束时间,来上报一个带有统计时长的事件。

void StatService.trackCustomBeginEvent(
Context ctx, String event_id, String... args)
void StatService.trackCustomEndEvent(
Context ctx, String event_id, String... args)

(1)参数:

Ctx 页面的设备上下文

event_id 事件标识

args 事件参数

(2)调用位置:

代码任意处

public void onClick(View v) {
// 统计用户通关所花时长
// 用户通关前
StatService.trackCustomBeginEvent(this, " playTime", "level5");
// 用户正在游戏中….
// …….
// 用户通关完成时
StatService.trackCustomEndEvent(this, " playTime", " level5");

注意:trackCustomBeginEvent和trackCustomEndKvent必须成对出现,且参数列表完全相同,才能正常上报事件。

1.4. iOS 自定义事件代码埋点指南


1.4.1. NSDictionary为参数的自定义事件

/**
上报自定义事件

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
*/
+ (void)trackCustomKeyValueEvent:(NSString *)event_id props:(NSDictionary *)kvs;

/**
上报自定义事件
并且指定上报方式

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
@param appkey 需要上报的appKey,若传入nil,则上报到启动函数中的appkey
@param isRealTime 是否实时上报,若传入YES,则忽略全局上报策略实时上报。否则按照全局策略上报。
*/
+ (void)trackCustomKeyValueEvent:(NSString *)event_id
props:(NSDictionary *)kvs
appkey:(NSString *)appkey
isRealTime:(BOOL)isRealTime;

/**
开始统计自定义时长事件
此接口需要跟trackCustomKeyValueEventEnd配对使用
多次调用以第一次开始时间为准

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
*/
+ (void)trackCustomKeyValueEventBegin:(NSString *)event_id props:(NSDictionary *)kvs;

/**
开始统计自定义时长事件
并指定上报方式
此接口需要跟trackCustomKeyValueEventEnd配对使用
多次调用以第一次开始时间为准

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
@param appkey 需要上报的appKey,若传入nil,则上报到启动函数中的appkey
*/
+ (void)trackCustomKeyValueEventBegin:(NSString *)event_id
props:(NSDictionary *)kvs
appkey:(NSString *)appkey;

/**
结束统计自定义时长事件
此接口需要跟trackCustomKeyValueEventBegin配对使用
多次调用以第一次结束时间为准

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
参数中的key和value必须跟开始统计时传入的参数一样才能正常配对
*/
+ (void)trackCustomKeyValueEventEnd:(NSString *)event_id props:(NSDictionary *)kvs;

/**
结束上报自定义时长事件
并指定上报方式
此接口需要跟trackCustomKeyValueEventBegin配对使用
多次调用以第一次结束时间为准

@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
参数中的key和value必须跟开始统计时传入的参数一样才能正常配对
@param appkey 需要上报的appKey,若传入nil,则上报到启动函数中的appkey
@param isRealTime 是否实时上报,若传入YES,则忽略全局上报策略实时上报。否则按照全局策略上报。
*/
+ (void)trackCustomKeyValueEventEnd:(NSString *)event_id
props:(NSDictionary *)kvs
appkey:(NSString *)appkey
isRealTime:(BOOL)isRealTime;


/**
直接统计自定义时长事件
这个方法用于上报统计好的时长事件

@param seconds 自定义事件的时长,单位秒
@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
*/
+ (void)trackCustomKeyValueEventDuration:(uint32_t)seconds
withEventid:(NSString *)event_id
props:(NSDictionary *)kvs;

/**
直接上报自定义时长事件
并指定上报方式
这个方法用于上报统计好的时长事件

@param seconds 自定义事件的时长,单位秒
@param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
@param kvs 事件的参数,参数需要先在MTA前台配置好才能生效
@param appkey 需要上报的appKey,若传入nil,则上报到启动函数中的appkey
@param isRealTime 是否实时上报,若传入YES,则忽略全局上报策略实时上报。否则按照全局策略上报。
*/
+ (void)trackCustomKeyValueEventDuration:(uint32_t)seconds
withEventid:(NSString *)event_id
props:(NSDictionary *)kvs
appKey:(NSString *)appkey
isRealTime:(BOOL)isRealTime;

示例

// 次数统计
- (IBAction)clickKVButton:(id)sender {
[MTA trackCustomKeyValueEvent:@"KVEvent"
props:[NSDictionary dictionaryWithObject:@"Value" forKey:@"Key"]];
}

// 时长统计
- (IBAction)clickStartKvButton:(id)sender {
[MTA trackCustomKeyValueEventBegin:@"KVEvent"
props:[NSDictionary dictionaryWithObject:@"Value" forKey:@"TimeKey"]];
}

- (IBAction)clickEndKvButton:(id)sender {
[MTA trackCustomKeyValueEventEnd:@"KVEvent"
props:[NSDictionary dictionaryWithObject:@"Value" forKey:@"TimeKey"]];
}

1.4.2. 上报当前缓存的事件

接口

/**
上报当前缓存的数据
若当前有缓存的事件(比如上报策略不为实时上报,或者有事件上报失败)时
调用此方法可以上报缓存的事件

@param maxStatCount 最大上报事件的条数
*/
+ (void)commitCachedStats:(int32_t)maxStatCount;

results matching ""

    No results matching ""