iOS事件配置

事件埋点统计,建议您使用可视化圈选功能。

此处介绍的是传统的手动埋点事件统计。

手动埋点事件目前包括两种类型,有时长的事件统计和无时长的事件统计。

其中的"eventId"和"attributes字典参数的key",需要预先在百度移动统计网页上进行配置,配置步骤如下:

eventId配置

  • 登录MTJ网站,进入应用报告,在左侧栏目选择事件分析,然后点击+号添加埋点事件

Add File 1

  • 在弹出的窗口中,根据Web页面的提示,添加EventId及名称。这里的EventId就是在代码中埋点使用的id。

Add File 1

attribue配置(可选)

  • 在创建的事件右侧,点击设置

Add File 1

  • 在弹出的新页面中,填写参数配置。这里填写的配置名称,需要与代码中attributes参数的key值一致,具体调用代码可见下文。

Add File 1

接口说明及调用示例

以下的事件埋点Api,可以灵活使用,没有固定的调用场景,在程序的业务场景触发处埋点即可。例如要统计“加入购物车”事件,可以将代码埋在“加入购物车”按钮的点击触发函数中。

1. 无时长事件分析

记录一次事件的发生。

eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。

  1. @param eventId 事件Id,提前在网站端创建
  2. @param eventLabel 事件标签,附加参数,不能为空字符串
  3. @param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
  1. // 标准无时长事件埋点
  2. - (void)logEvent:(NSString *)eventId eventLabel:(NSString *)eventLabel;
  3. // 无时长事件埋点,带attributes参数。
  4. - (void)logEvent:(NSString *)eventId eventLabel:(NSString *)eventLabel attributes:(NSDictionary *)attributes;
  5. //调用举例
  6. [[BaiduMobStat defaultStat] logEvent:@"Event1" eventLabel:@"lable1"];
  7. [[BaiduMobStat defaultStat] logEvent:@"Event1" eventLabel:@"label1" attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
  1. // 标准无时长事件埋点
  2. func logEvent(eventId: String!, eventLabel: String!)
  3. // 无时长事件埋点,带attributes参数
  4. func logEvent(eventId: String!, eventLabel: String!, attributes: [String!: String!])
  5. //调用举例
  6. BaiduMobStat.default().logEvent("Event1", eventLabel: "lable1")
  7. BaiduMobStat.default().logEvent("Event1", eventLabel: "label1", attributes: ["商品类别": "a", "数量": "2", "价格": "100"])

2. 固定时长事件分析

记录一次固定时长事件的发生,适用于可以提前预知事件发生的时长的情况。

eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。

  1. @param eventId 事件Id,提前在网站端创建
  2. @param eventLabel 事件标签,附加参数,不能为空字符串
  3. @param duration 已知的自定义事件时长,单位为毫秒(ms
  4. @param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
  1. // 标准时长事件埋点
  2. - (void)logEventWithDurationTime:(NSString *)eventId eventLabel:(NSString *)eventLabel durationTime:(unsigned long)duration;
  3. // 时长事件埋点,带attributes参数
  4. - (void)logEventWithDurationTime:(NSString *)eventId eventLabel:(NSString *)eventLabel durationTime:(unsigned long)duration attributes:(NSDictionary *)attributes;
  5. //调用举例
  6. [[BaiduMobStat defaultStat] logEventWithDurationTime:@"Event2" eventLabel:@"label2" durationTime:100];
  7. [[BaiduMobStat defaultStat] logEventWithDurationTime:@"Event2" eventLabel:@"label2" durationTime:100 attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
  1. // 标准时长事件埋点
  2. func logEvent(eventId: String!, eventLabel: String!, durationTime: UInt)
  3. // 时长事件埋点,带attributes参数
  4. func logEvent(eventId: String!, eventLabel: String!, durationTime: UInt, attributes: [String!: String!])
  5. //调用举例
  6. BaiduMobStat.default().logEvent(withDurationTime: "Event2", eventLabel: "label2", durationTime: 100)
  7. BaiduMobStat.default().logEvent(withDurationTime: "Event2", eventLabel: "label2", durationTime: 100, attributes: ["商品类别": "a", "数量": "2", "价格": "100"])

3. 自定义时长事件分析

记录一次事件发生的起始和结束,并自动计算事件发生的时长。其中eventId和label均相同的配对调用,才是一次有效调用。

eventId请在网站上创建和对应的attribute的key请在网站上创建,未创建的evenId和key将无法统计。

  1. @param eventId 事件Id,提前在网站端创建
  2. @param eventLabel 事件标签,附加参数,不能为空字符串
  3. @param attributes 事件属性,对应的key需要在网站上创建,注意:value只接受NSString
  1. // 自定义时长事件,开始埋点
  2. - (void)eventStart:(NSString *)eventId eventLabel:(NSString *)eventLabel;
  3. // 自定义时长事件,结束埋点
  4. - (void)eventEnd:(NSString *)eventId eventLabel:(NSString *)eventLabel;
  5. // 自定义时长事件,带attributes参数,结束埋点
  6. - (void)eventEnd:(NSString *)eventId eventLabel:(NSString *)eventLabel attributes:(NSDictionary *) attributes;
  7. // 调用举例
  8. [[BaiduMobStat defaultStat] eventStart:@"Event3" eventLabel:@"label3"];
  9. [[BaiduMobStat defaultStat] eventEnd:@"Event3" eventLabel:@"label3"];
  10. [[BaiduMobStat defaultStat] eventEnd:@"Event3" eventLabel:@"label3" attributes:@{@"商品类别": @"a", @"数量": @"2", @"价格": @"100"}];
  1. // 自定义时长事件,开始埋点
  2. func eventStart(eventId: String!, eventLabel: String!)
  3. // 自定义时长事件,结束埋点
  4. func eventEnd(eventId: String!, eventLabel: String!)
  5. // 自定义时长事件,带attributes参数,结束埋点
  6. func eventEnd(eventId: String!, eventLabel: String!, attributes: [String!: String!])
  7. // 调用举例
  8. BaiduMobStat.default().eventStart("Event3", eventLabel: "label3")
  9. BaiduMobStat.default().eventEnd("Event3", eventLabel: "label3")
  10. BaiduMobStat.default().eventEnd("Event3", eventLabel: "label3", attributes: ["商品类别": "a", "数量": "2", "价格": "100"])