腾讯移动分析
  • Introduction
  • 基础服务介绍
  • App 分析接入
    • Android 接入
      • 基础指南
      • Android API 接口说明
      • Android P 兼容方法
    • iOS 接入
      • 基础指南
      • iOS SDK API 接口说明
      • IDFA 说明
    • Hybrid App 接入
    • 高级功能接入
      • 自定义事件
      • 时长统计
      • 账号统计
      • 在线参数
      • 自定义接口监控
      • 自定义用户属性
      • LBS上报
    • 数据接口
  • H5 分析接入
    • 集成准备
    • 快速集成
    • 高级功能
    • 数据接口
    • 指标说明
    • 常见问题
  • 微信小程序分析接入
    • 集成准备
    • 快速集成
    • 高级功能
    • 数据接口
    • 常见问题
  • 管理台说明
    • 指标说明
    • 活跃用户统计规则
    • 自定义事件
    • 用户分群
    • 用户画像
    • 运营商代码映射表
  • 最近更新
    • 管理台更新说明
    • SDK 更新说明
  • FAQ
Powered by GitBook
On this page
  • 功能介绍
  • 接入流程
  • Android 自定义事件代码埋点指南
  • 【次数统计】Key-Value参数的事件
  • 【时长统计】Key-Value参数事件
  • 【时长统计】带有统计时长的自定义参数事件
  • iOS 自定义事件代码埋点指南
  • NSDictionary为参数的自定义事件
  • 上报当前缓存的事件

Was this helpful?

  1. App 分析接入
  2. 高级功能接入

自定义事件

Previous高级功能接入Next时长统计

Last updated 5 years ago

Was this helpful?

功能介绍

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

接入流程

1. MTA管理台配置

  • 新增自定义事件,填写事件id、事件名称,并按需选择事件类型

  • 在事件的参数配置页面新增参数,填写参数id,参数名称

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

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

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

【次数统计】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);
}

【时长统计】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);
}

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

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

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必须成对出现,且参数列表完全相同,才能正常上报事件。

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

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"]];
}

上报当前缓存的事件

接口

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

@param maxStatCount 最大上报事件的条数
*/
+ (void)commitCachedStats:(int32_t)maxStatCount;
更多介绍>>
查看配置详情>>
Android 代码埋点指南
iOS 代码埋点指南