3.0.0 • Published 3 years ago

dm-track v3.0.0

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

DM前端埋点SDK文档

背景

DM是建立在数据分析之上的应用,对业务系统的原始数据、实时数据有很强的需求。依托于这些数据,DM对数据做实时监控、分析。为客户提供全渠道会员管理、用户画像、报表、商业决策建议。所以DM需要搭建一套埋点方案,实时采集业务事件。并提供存储、分析能力。 前端需要实现访问、停留、离开、分享等非重要埋点,允许丢失数据,重要埋点(下单,支付等)移交给后端处理,不可丢失。

埋点须知

埋点事件表

https://docs.qq.com/sheet/DZEpsUUFXaURPYk94?tab=BB08J2&c=N1K0E0

请求地址

dev环境

methodsurl
posthttp://dm.dev.deepexi.top/common-log/

请求参数

字段数据类型是否必填描述
ipstringtrue客户端ip
countrystringtrue事件国家
provincestringtrue事件省份
citystringtrue事件城市
device_osstringtrue设备型号android\ios
timestringtrue事件时间戳
以上字段后端补充
以下字段前端传入
tenant_idstringtrue租户id
acc_typestringtrue账号类型(visitor、member)
one_idstringtrue全渠道id
system_idstringtrue业务子系统(DR、等)
channelstringtrue业务渠道(weixin、alipay、H5等)
typestringtrue事件类型(具体看事件表)
page_pathstringfalse页面路径
keywordstringfalse搜索关键字
stay_timelong(s)false页面停留时长(单位:毫秒)
activity_idstringfalse活动ID
commodity_idstringfalse商品ID
commodity_countlongfalse商品数量
commodity_detailjson(string)false商品明细json数据
paymentlongfalse订单金额(单位分)
real_paymentlongfalse实际支付金额(单位分)
order_idstringfalse订单id
touch_typestringfalse触达方式(wx_tpl、sms)
coupon_idstringfalse优惠券id
coupon_expirelongfalse优惠券过期时间
for_share_idstringfalse分享人id特殊列,任何事件都可能包含(前端sdk处理)
dm_activity_idstringfalse活动id特殊列,任何事件都可能包含(前端sdk处理)
session_idsession_idfalsesession_id 统计vv使用特殊列,任何事件都可能包含(前端sdk处理)
……………………

SDK具体使用

one_id

全渠道唯一id 以后将通过租户id 渠道 等参数换取 现阶段使用userid填入游客状态下可不传 sdk将会生成一个uuid 并缓存到localstorage 每次埋点时带入已登录状态下必传该参数

安装

yarn add dm-track

初始化

以nuxt为例 在 /plugins/track.js 中 初始化 并注入到vue原型方便调用

import Vue from 'vue'
// 引入埋点sdk
import {dmTrack} from 'dm-track'

const options = {
  tenant_id: 'tenantid',
  // 全渠道唯一id 后期通过接口换取 现阶段使用userid
  one_id: 'one_id',
  // 账号类型(visitor/member) 游客身份可不传one_id
  acc_type: 'visitor',
  // 业务子系统
  system_id: 'DR',
  // 业务渠道
  channel: 'pc'
}

export default function(context) {
  let {$axios} = context
  if (!Vue.$track) {
    // 注入到vue原型 通过 this.$track.track 调用埋点
    Vue.prototype.$track = new dmTrack(options, {
      http: $axios,
      url: 'http://124.172.188.124/common-log/',
      console: true
    })
  }
}

使用

// 在触发动作中直接调用 无需关注结果

// 访问页面埋点 埋点只需传入 事件类型 以及可变参数
// 全局参数将会被sdk缓存 每次埋点统一携带
this.$track.track('visit_page', {page_path: '/login'})

从游客过渡到已登录

// 通过updateOptions方法更新配置项 可只传改动项
this.$track.updateOptions({acc_type: 'member', one_id: 'one_id'})

api

updateOptions
函数名参数描述
updateOptionsoptions,extendOptions更新配置项(具体配置项 ↓)

全量配置项

new dmTrack(options, extendOptions) updateOptions(options, extendOptions)

options {}
字段数据类型是否必填描述
tenant_idstring租户id
acc_typestring看情况账号类型 visitor(游客)member(会员)默认使用visitor
one_idstring看情况游客时可不传 sdk默认生产登录状态必传
system_idstring业务子系统(DR)
channelstring业务渠道(weixin、alipay、H5等)
extendOptions {}
字段数据类型是否必填描述
httpfunction请求函数 需支持 httphttpMethods 调用
httpMethodsstring请求方法默认为$post
urlstring请求地址
consoleBoolean是否打印出埋点参数 默认false
alertBoolean是否弹窗展示埋点参数 默认 false
3.0.0

3 years ago

2.1.0

3 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago