0.0.2 • Published 9 months ago
@xnsk/tracking v0.0.2
@xnsk/tracking
先农数科团队行为监控平台埋点部分的SDK,用于上报多种事件类型,支持客户端webview和浏览器。
安装
// yarn
yarn add @xnsk/tracking-sdk
// npm
npm i @xnsk/tracking-sdk
// pnpm
pnpm add @xnsk/tracking-sdk
使用
import { Tracking } from '@xnsk/tracking-sdk';
// 初始化weblogger
const tracker = new Tracking({
env: process.env.VUE_APP_TYPE,
isInApp: false,
allowEventIdList: [],
storageLimit: {
time: 10
store: 20
}
}, router);
参数说明
option env:required
当前环境,非生产环境开启debug模式
option isInApp:required
运行环境,是否在原生APP中运行,默认false
// 初始化的时候传入
const tracker = new Tracking({
env: process.env.VUE_APP_TYPE,
isInApp: false,
});
option allowEventIdList
页面白名单,在某些特殊页面不用上报埋点数据
// 初始化的时候传入
const tracker = new Tracking({
env: process.env.VUE_APP_TYPE,
isInApp: false,
allowEventIdList: ['eventIdA', 'eventIdB', 'eventIdC']
});
option storageLimit
option storageLimit
option storageLimit
缓存配置,默认触发条件(一条满足即可):
- option storageLimit: 每10s内上传一次;
- option storageLimit: 本地存储到达20条数据上传一次;
// 初始化的时候传入
const tracker = new Tracking({
env: process.env.VUE_APP_TYPE,
isInApp: false,
allowEventIdList: ['eventIdA', 'eventIdB', 'eventIdC'],
storageLimit: {
time: 10
store: 20
}
});
router
用于做路由跳转时上报page类型的事件
import VueRouter from 'vue-router'
// 项目路由配置
const router = new VueRouter({
mode: 'hash',
base: process.env.BASE_URL,
routes: [{
path: '/demo',
component: (resolve) => require(['@/views/Demo.vue'], resolve),
meta: {
title: 'Demo页面Title',
trackEventId: '' // 埋点配置平台中配置的eventId
}
}],
})
// 初始化埋点实例
const tracker = new Tracking({
env: process.env.VUE_APP_TYPE,
isInApp: false,
allowEventIdList: [],
storageLimit: {
time: 10
store: 20
}
}, router);
// 挂载到Vue全局
Vue.prototype.$tracker = tracker;
其他非Vue技术栈的场景
手动上报,支持的API有:click
, page
, requst
;
// 点击事件
tracker.click('eventId', option);
// 页面事件
tracker.page('eventId', option);
// 自定义上报
tracker.request('eventId', option);