2.1.0 • Published 6 years ago
infors v2.1.0
数据采集jsSdk文档
1 使用指引
1.1 引入sdk
main.js 添加jsSdk
import InforsJsSdk from 'InforsJsSdk'
Vue.use(InforsJsSdk)
router/index.js 监听页面路由信息
import InforsJsSdk from 'InforsJsSdk'
Infors.pageTrace(router)
2 埋点方式
2.1 声明式埋点
通过自定义指令v-infors为控件添加埋监听事件,目前默认添加click事件, 可以传入一个 JavaScript 对象字面量,来自定义一些配置项
<button v-infors="{eventId: 'a button'}">按钮</button>
目前开放的配置项有
- eventId
- eventType
- eventDesc(data中对事件进行描述)
2.2 全埋点
a) 页面
引入sdk后,会自动对页面加载(pv)进行监听
- uv,日活,月活指标,通过对pv和ip、日期的关联分析可以得到
对于vue单页面应用,在router/index.js中,添加如下代码即可监听所有页面跳转信息(to,from,params等等)
Infors.pageTrace(router)
b) 控件
引入sdk后,会自动为 部分标签 部分事件 进行监听 考虑到性能问题,目前只对button,a标签click事件,input标签的focus,blur事件添加监听
3 数据模型介绍
基本思路就是描述清楚 谁(who)在什么时候(when)了什么事(what),尽量不做加工,只采集原始事件
接口交互元数据格式 事件(event)(所有客户操作/应用日志都视为一个事件),定义字段时注意规范。 客户识别码(touch_id)是一个描述对象,描述 客户和事件 的特征,后台分析的时候做关联分析 数据格式,部门、渠道、前后台统一,方便数据提取分析,前后台打通,全链路追踪
{
// who 客户标识码
"touch_id": {
"uuid": "", //此次事件的id,如果是发给后台的请求,会在请求头中带上,并作为全链路追踪的id
"user_id": "", // 用户id,未登陆时前台生成uuid,登陆之后关联到user_id
"device_id": "", // 设备ID
"session_id": "", // 会话id
"product": "", // 当前产品id(描述用户当前使用的哪个app,访问的哪个系统,或者推广页、小程序等等)
"other": {
// 、、、其他自定义标识,根据project做不同的解析
"channel_id": "" // 渠道标识,
}
},
// when 事件发生时间,有一个客户端时间同步的问题
"timestamp": 1434556935000,
// what 事件类型,如点击、页面切换及自定义的事件TYPE,用户行为,硬件、系统、app信息/日志;决定了data的解析格式
"eventType": "track",
// what 事件ID,具体的编号,唯一标识一个事件,--后续路径分析
"eventId": "value",
// what 版本号
"eventVersion": "1.0",
// what 事件的详细描述,保留字段+自定义字段,描述事件的详细信息及采集信息
"data": {
"$is_login_id": true,
"$app_version": "1.3",
"$wifi": true,
// where
"$ip": "180.79.35.65",
"$province": "湖南",
"$city": "长沙",
"$user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/58.0.3029.113 Mobile/14F89 Safari/602.1",
"$screen_width": 320,
"$screen_height": 640,
}
}
TODO
后续改进优化