2.1.0 • Published 6 years ago

infors v2.1.0

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

数据采集jsSdk文档

TOC

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

后续改进优化