事件管理
事件及字段
事件是自定义分析进行用户行为数据收集和分析的模型。
一个事件的数据都是由多个字段组成,字段包括系统默认字段和用户自定义字段。
系统默认字段由系统收集数据,如省份,城市,国家等;而用户自定义字段则是用户指定并收集数据。
字段的定义是全局的,即事件A使用了字段a,事件B也使用了字段a,a在事件A和B中的定义及描述是一致的。
目前,字段类型支持32位整数型及字符型。
事件的编辑与发布
可以通过新增事件创建一个事件,修改事件来编辑一个事件,事件只有发布之后,才在收集和分析数据时正式生效。
“新增事件”可以增加新的事件。“查看发布版”可以看到这个事件目前正式发布的版本。“修改”可以编辑这个事件。
新增/修改事件
点击“修改”编辑已有事件,进入修改事件页面。或者点击“新建事件”创建事件。新增事件时,需要填写事件的英文名称和中文名称。英文名称可由小写字母、下划线、数字组成,并以小写字母开头,长度为32字以内,并且不能跟已有的事件的英文名称相同,保存后不可修改;中文名称在32字符以内,不能跟已有的事件的中文名称相同,保存后不可修改。
编辑事件,首先需要编辑这个事件的配置,即如何收集数据,配置的具体细节见事件上报配置说明
如图,表示在view_product事件中,将使用product_name, product_price, product_category这些字段,收集页面上的信息,如果这些字段之前没有被view_product事件使用过,那么将添加到事件里。编辑事件配置后,点击“检查字段”,会检查上报的配置里指定了哪些字段,是否需要添加到事件里。
如图,这个例子中的几个字段对于事件来说还未发布使用过,都是新增字段。并且,这些字段在其他事件中均未使用过,均处于可编辑状态。如果某些字段 在其他事件里定义过了,其类型和含义都是确定的(如前面所说,字段的定义是全局的),则中文名称和类型信息不可编辑,字段备注可编辑。
补充字段定义后,可以点击“保存”,保存本次新增或修改内容。“保存并测试”,将保存当前配置并进入测试流程,可以检查数据上报是否符合预期,参见【保存并测试】。“保存并发布”,将保存当前配置并发布,可以正式收集和分析用户行为数据。
重置发布版
修改事件配置时,如果不符合实际需求,可以点击“重置为线上版本”撤销修改。
注意,该操作不会自动保存,“重置为线上版本”后需要再点击“保存”。
事件上报配置说明
每个事件都需要指定收集数据的方式,这个是通过事件上报配置来管理的。
事件上报配置的每一项都是一个动作,可以由一到多个动作组成。
动作的各项含义如下:
trigger,触发条件:
click 点击时触发,必须指定page和elemententerPage 进入页面时触发,包括新开、后退、切换到前台都属于进入页面,必须指定pageleavePage 离开页面时触发,包括离开、切换到后台都属于离开页面,必须指定pagepageLoad 新开页面时触发,即第一次进入页面,必须指定pagepageUnload 回收页面时触发,必须指定pageswitchTab 调用switchTab接口切换页面时触发,必须指定pagepullDownRefresh 下拉刷新时触发,必须指定pagelaunch 加载小程序时触发background 切换到后台触发foreground 切换到前台触发share 右上角菜单分享时触发api 自定义分析数据的上报,调用my.reportAnalytics时触发
action
trigger发生时的动作,默认会收集数据,包括系统默认数据和用户自定义数据(data中定义)。收集数据后可以立即上报,也可以分多步收集,再上报。有如下定义:
- collect:收集数据
report:收集数据并上报当前收集的所有数据
比如:collect(收集数据)->collect(收集数据)->report(收集数据并上报)
- report(收集数据并立即上报)->collect(收集数据)->report(收集数据并上报)
注意:
事件的最后一个动作的action必须为report
page
触发的页面, 如pages/index/index, pages/list/list,此规则与小程序app.json的pages字段保持一致, 如果需要任意页面触发,则填写ANY_PAGE。
element
触发的元素,支持一层级的css的id和class选择器,即必须以’.’或者’#’开头
data
收集的自定义数据,为1到多项, 每一项都是以 “字段名 字段值”的方式;必须填写至少一项
字段名:事件里的字段名字段值:事件里这个字段的数据值,可收集小程序中的变量,规则如下:- 填写的变量名,默认从page实例的data字段中获取- 若想收集由list变量渲染的列表中的某一项数据,则可用list[].表示,这里会根据当前填写的element(只能是class)得到的NodeList的第几个来决定数组下标。- 若想取得axml中data-系列属性的值,则可用$DATASET.
表示- 若想取得app实例的数据,则可用$APP.表示,只支持获取基本类型的数据,如number、string、boolean。
除此之外,还可以填写一些提供的系统属性,以“$”开头,目前支持以下属性:
- $PAGE_TIME 用户从进入本页面到当前的时间(触发action的时间点)- $APP_TIME 用户进入小程序到当前的时间(触发action的时间点)- $CURRENT_PAGE 当前用户所在的页面- $LAST_PAGE 上一页
多动作收集的例子:如果数据需要跨多个页面收集,那么就需要多个动作来完成上报了,比如下面的例子,在viewList页面收集product_name, product_category的数据,然后进入viewProduct页面时收集到product_price的数据,并上报。
检查字段
包含新增已定义、新增未定义、停用、启用 4个状态。
- 新增已定义。本次添加的字段在小程序的其他事件中已定义,在当前事件中未定义;
- 新增未定义。本次添加的字段在小程序的所有事件中都未定义;
- 停用。删除当前事件的字段;
- 启用。添加已停用的字段;
保存
字段检查后,完善字段信息,点击保存按钮,提交保存本次事件配置。
保存并测试
点击保存并测试,先保存事件,再开始测试流程。先选择人员,点击下一步。此时会同步把事件配置下发给该用户的小程序。点击"同步结果"同步数据。等待数据上报,数据一旦上报,会在表格展示。
点击关闭结束测试。
保存并发布
点击保存并发布,先保存事件配置,再发布配置。终端用户打开小程序时会拉取到最新发布的配置。