iOS事件配置
事件埋点统计,建议您使用可视化圈选功能。
此处介绍的是传统的手动埋点事件统计。
手动埋点事件目前包括两种类型,有时长的事件统计和无时长的事件统计。
其中的"eventId"和"attributes字典参数的key",需要预先在百度移动统计网页上进行配置,配置步骤如下:
eventId配置
- 登录MTJ网站,进入应用报告,在左侧栏目选择
事件分析
,然后点击+
号添加埋点事件
。
- 在弹出的窗口中,根据Web页面的提示,添加EventId及名称。这里的EventId就是在代码中埋点使用的id。
attribue配置(可选)
- 在创建的事件右侧,点击
设置
。
- 在弹出的新页面中,填写参数配置。这里填写的配置名称,需要与代码中attributes参数的key值一致,具体调用代码可见下文。
接口说明及调用示例
以下的事件埋点Api,可以灵活使用,没有固定的调用场景,在程序的业务场景触发处埋点即可。例如要统计“加入购物车”事件,可以将代码埋在“加入购物车”按钮的点击触发函数中。
1. 无时长事件分析
记录一次事件的发生。
eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。
@param eventId 事件Id,提前在网站端创建
@param eventLabel 事件标签,附加参数,不能为空字符串
@param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
// 标准无时长事件埋点
- (void)logEvent:(NSString *)eventId eventLabel:(NSString *)eventLabel;
// 无时长事件埋点,带attributes参数。
- (void)logEvent:(NSString *)eventId eventLabel:(NSString *)eventLabel attributes:(NSDictionary *)attributes;
//调用举例
[[BaiduMobStat defaultStat] logEvent:@"Event1" eventLabel:@"lable1"];
[[BaiduMobStat defaultStat] logEvent:@"Event1" eventLabel:@"label1" attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
// 标准无时长事件埋点
func logEvent(eventId: String!, eventLabel: String!)
// 无时长事件埋点,带attributes参数
func logEvent(eventId: String!, eventLabel: String!, attributes: [String!: String!])
//调用举例
BaiduMobStat.default().logEvent("Event1", eventLabel: "lable1")
BaiduMobStat.default().logEvent("Event1", eventLabel: "label1", attributes: ["商品类别": "a", "数量": "2", "价格": "100"])
2. 固定时长事件分析
记录一次固定时长事件的发生,适用于可以提前预知事件发生的时长的情况。
eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。
@param eventId 事件Id,提前在网站端创建
@param eventLabel 事件标签,附加参数,不能为空字符串
@param duration 已知的自定义事件时长,单位为毫秒(ms)
@param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
// 标准时长事件埋点
- (void)logEventWithDurationTime:(NSString *)eventId eventLabel:(NSString *)eventLabel durationTime:(unsigned long)duration;
// 时长事件埋点,带attributes参数
- (void)logEventWithDurationTime:(NSString *)eventId eventLabel:(NSString *)eventLabel durationTime:(unsigned long)duration attributes:(NSDictionary *)attributes;
//调用举例
[[BaiduMobStat defaultStat] logEventWithDurationTime:@"Event2" eventLabel:@"label2" durationTime:100];
[[BaiduMobStat defaultStat] logEventWithDurationTime:@"Event2" eventLabel:@"label2" durationTime:100 attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
// 标准时长事件埋点
func logEvent(eventId: String!, eventLabel: String!, durationTime: UInt)
// 时长事件埋点,带attributes参数
func logEvent(eventId: String!, eventLabel: String!, durationTime: UInt, attributes: [String!: String!])
//调用举例
BaiduMobStat.default().logEvent(withDurationTime: "Event2", eventLabel: "label2", durationTime: 100)
BaiduMobStat.default().logEvent(withDurationTime: "Event2", eventLabel: "label2", durationTime: 100, attributes: ["商品类别": "a", "数量": "2", "价格": "100"])
3. 自定义时长事件分析
记录一次事件发生的起始和结束,并自动计算事件发生的时长。其中eventId和label均相同的配对调用,才是一次有效调用。
eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。
@param eventId 事件Id,提前在网站端创建
@param eventLabel 事件标签,附加参数,不能为空字符串
@param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
// 自定义时长事件,开始埋点
- (void)eventStart:(NSString *)eventId eventLabel:(NSString *)eventLabel;
// 自定义时长事件,结束埋点
- (void)eventEnd:(NSString *)eventId eventLabel:(NSString *)eventLabel;
// 自定义时长事件,带attributes参数,结束埋点
- (void)eventEnd:(NSString *)eventId eventLabel:(NSString *)eventLabel attributes:(NSDictionary *) attributes;
// 调用举例
[[BaiduMobStat defaultStat] eventStart:@"Event3" eventLabel:@"label3"];
[[BaiduMobStat defaultStat] eventEnd:@"Event3" eventLabel:@"label3"];
[[BaiduMobStat defaultStat] eventEnd:@"Event3" eventLabel:@"label3" attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
// 自定义时长事件,开始埋点
func eventStart(eventId: String!, eventLabel: String!)
// 自定义时长事件,结束埋点
func eventEnd(eventId: String!, eventLabel: String!)
// 自定义时长事件,带attributes参数,结束埋点
func eventEnd(eventId: String!, eventLabel: String!, attributes: [String!: String!])
// 调用举例
BaiduMobStat.default().eventStart("Event3", eventLabel: "label3")
BaiduMobStat.default().eventEnd("Event3", eventLabel: "label3")
BaiduMobStat.default().eventEnd("Event3", eventLabel: "label3", attributes: ["商品类别": "a", "数量": "2", "价格": "100"])