自定义事件,即事件的 _event_name 由开发者自定义。
事件名称要求:
- String 类型
- 只能以字母开头,不能以下划线开头,其余字符可包含数字、小写字母和下划线 "_"
- 长度最大为 40 个字符
- 仅支持小写字母
自定义属性
自定义属性是一个 NSDictionary 对象,其中每个元素代表一个属性。
key 为该属性的名称
- NSString 类型
自定义属性的属性类型
一个自定义属性的存储数据类型,会以第一次上报数据的格式自动由系统进行识别,一旦确定无法修改。相同产品的属性类型在第一次上报时进行确定。后续不同SDK、不同事件上报的同名属性只有类型与第一次一致才会入库。
数据类型 | 说明 | 示例 |
数值型-number | 数据范围是 -9E15 至 9E15 | 不带引号的数值,如:1234,12.34 |
字符型-string | 上限 2KB | "dashen","北京"带引号的数值也会被识别为字符 |
时间型-date | "yyyy-MM-dd HH:mm:ss.SSS"或"yyyy-MM-dd HH:mm:ss",如需表示日期,可使用"yyyy-MM-dd 00:00:00" | "2021-03-01 12:34:56","2021-03-01 12:34:56.789""2021-03-01 00:00:00" |
布尔型-boolean | true 或 false | true,false带引号的 true 或 false 会被识别为字符 |
列表型-array | 列表中的元素都会转变为字符串类型 | ["a","1","true"] |
注:属性的存储数据类型,决定了在分析模型中可以选择的分析逻辑,比如数值型可以进行最大值、最小值、求和等计算,布尔型可以进行为真数、为假数的计算,所以报送数据的格式,需要考虑分析场景和业务需求,制定完整的埋点方案,并按埋点方案进行格式确定。
此处以用户购买某商品作为范例:
自定义事件支持预置属性
参数名称 | 参数含义 | 参数类型 | 是否必传 |
eventName | 自定义事件名 | NSString | 是,参考4.3自定义事件名 |
customProperties | 自定义属性 | NSDictionary | 否,参考4.4自定义属性名 |
preProperties | 预置属性 | NSDictionary | 否,字典key只支持_pay_amount 和 _currency_type 两个字段。 |
方法示例
调用示例