自定义事件

自定义事件

1. 功能介绍

自定义事件可以统计某些用户自定义埋点的发生时间以及次数,例如广告点击、短信数量等。通常 event_id 用于表示某种行为或功能的统计(如统计“发送”按钮被触发多少次),而参数则用于标识统计的具体对象(如功能为“下载”的按钮),由 event_idproperties 唯一标识一个事件。

自定义事件主要分为两种:

(1)次数统计:统计指定行为被触发的次数。

(2)时长统计:统计指定行为消耗的时间,单位为秒。需要 eventBegineventEnd 接口成对使用才可生效。

其中每类事件都支持使用 properties 参数类型。

注意:event_id 需要先在个数网站上面配置,才能参与正常的数据统计。event_id 不能包含空格或转义字符,如下:

1、点击侧边菜单栏事件列表。

gs5

2、点击新增事件按钮。

gs3

3、根据事件类型分别输入相应的事件 ID 以及事件名称。

gs4

2. Android 自定义事件使用指南

2.1. 次数统计事件

在事件执行开始时调用次数统计方法,SDK 会根据事件 ID ,统计该事件被点击的次数。

void GsManager.getInstance().onEvent(String eventId, Properties properties)

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • properties : key-value ,自定义属性,用于扩展统计需求,
  • key 和 value 都是 String 类型

使用代码:

public void onClick(View v) {
    // properties 可为 null
    Properties properties = new Properties();
    properties.setProperty("buttonId", "onclick");
    GsManager.getInstance().onEvent("eventId", properties);
}

2.2 时长统计事件

在事件开始和结束时调用对应方法,可以获取并上传事件的时间。

void GsManager.getInstance().onBeginEvent(String eventId, Properties properties)

void GsManager.getInstance().onEndEvent(String eventId, Properties properties)

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • properties : key-value ,自定义属性,用于扩展统计需求,key 和 value 都是 String 类型

使用代码:

public void onClick(View v) {
    // properties 可为 null 或不传
    Properties properties = new Properties();
    properties.setProperty("type", "download");
    GsManager.getInstance().onBeginEvent("eventId", properties);
    GsManager.getInstance().onEndEvent("eventId", properties);
}

3. iOS 自定义事件使用指南

3.1. 次数统计事件

接口描述:

在事件执行开始时调用次数统计方法,SDK 会根据事件 Id ,统计该事件被点击的次数。

接口定义:

/**
 计数事件统计

 @param eventId 事件 Id,需要在个数后台配置才能生效
 @param args 需要展示的键值对值
 */
+ (void)trackCountEvent:(NSString *)eventId withArgs:(NSDictionary *)args;

接口参数说明:

参数 参数说明
eventId 自定义事件 Id,需要在个数后台配置才能生效
args 自定义属性,用于扩展统计需要

接口示例:


@implementation TrackCountEventController
- (IBAction)clickCount:(id)sender {
    [GTCountSDK trackCountEvent:@"countid1" withArgs:@{@"ckey1":@"cvalue1"}];
}
@end

3.2. 时长统计事件

接口描述:

在事件开始和结束时调用对应方法,可以获取并上传事件的时长。

接口定义:

/**
 记录自定义事件的开始
 注意:需要跟 trackCustomKeyValueEventEnd:withArgs: 配对使用
 若多次调用则以最后一次开始的时间为准

 @param eventId 自定义事件 Id,需要在个数后台配置才能生效
 @param args 自定义属性,需与接口 trackCustomKeyValueEventEnd:withArgs: 传入的参数一致(同一个变量),用于扩展统计需要
 */
+ (void)trackCustomKeyValueEventBegin:(NSString *)eventId withArgs:(NSDictionary *)args;

/**
 记录自定义事件的结束
 注意:需要跟 trackCustomKeyValueEventBegin:withArgs: 配对使用
 若多次调用则以第一次结束的时间为准

 @param eventId 自定义事件 Id,需要在个数后台配置才能生效
 @param args 自定义属性,需与接口 trackCustomKeyValueEventBegin:withArgs: 传入的参数一致(同一个变量),用于扩展统计需要
 */
+ (void)trackCustomKeyValueEventEnd:(NSString *)eventId withArgs:(NSDictionary *)args;

接口参数说明:

参数 参数说明
eventId 自定义事件 Id,需要在个数后台配置才能生效
args 自定义属性,用于扩展统计需要,开始和结束接口传入的 args 参数必须一致(内存地址一致)

接口示例:


@interface TrackCustomKeyValueEventController ()
@property (nonatomic, strong) NSDictionary *eventProperty;
@end

@implementation TrackCustomKeyValueEventController
-(void) viewDidAppear:(BOOL)animated {
    // 为了正确统计,要确保开始和结束接口的参数 self.eventProperty 内存地址是一致的。
    self.eventProperty = @{@"key":@"value1"};
       [GTCountSDK trackCustomKeyValueEventBegin:@"eid1" withArgs:self.eventProperty];        
        [super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
    [GTCountSDK trackCustomKeyValueEventEnd:@"eid1" withArgs:self.eventProperty];
    [super viewWillDisappear:animated];
}
@end

4. 快应用自定义事件使用指南

4.1. 次数统计事件

在事件执行开始时调用次数统计方法,SDK 会根据事件 ID ,统计该事件被点击的次数。

trackCountEvent (eventId, args) 

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • args : key-value ,自定义属性,用于扩展统计需求,
  • key 和 value 都是 String 类型

使用代码:

this.$app.GsManager().trackCountEvent('eventid',{'key':'value'})

4.2 时长统计事件

在事件开始和结束时调用对应方法,可以获取并上传事件的时间。

trackEventBegin (eventId, args) 

trackEventEnd (eventId, args) 

参数:

  • eventId :自定义事件 Id ,用于标识事件的唯一
  • args : key-value ,自定义属性,用于扩展统计需求,key 和 value 都是 String 类型

使用代码:

this.$app.GsManager().trackEventBegin('eventid',{'key':'value'})

this.$app.GsManager().trackEventEnd('eventid',{'key':'value'})

文档中心搜索