@yangguoxin/fin-track

1.2.7 • Public • Published

fin-track

H5页面埋点SDK

快速上手

NPM 方式

NPM源需要切换小黑鱼NPM

安装

$ npm install @blackfish/fin-track --save

使用

import finTrack from '@blackfish/fin-track'

// 合适地方调用
// 全局配置
finTrack.config({
  channel: '01001000000200000'
})
// 页面埋点
finTrack.trackPage('1010100003')

// 事件埋点
finTrack.trackEvent('101010000300190000')

API

config

全局参数配置

参数 名称 传参类型 是否必填 默认值 说明
appId appId String null app环境、url有bf_ai参数 会自动识别,设置无效
channel 渠道P值 String cookie中pValue字段
useBaidu 集成百度埋点 Boolean false 开启会加载百度sdk
baiduKey 百度HASH KEY String null useBaidu: true 生效
autoCommitBaiduPage 是否触发百度页面埋点 Boolean true 如果使用了百度埋点,默认在使用tackPage会自动触发百度埋点,不希望这样做可以设置false,在合适地方调用baiduTrackPage,完成百度页面埋点
debug 是否测试环境 Boolean false 建议在非正式环境下使用,结合埋点工具可以进行调试

trackPage

页面埋点

// 简单
finTrack.trackPage(pageId, pageName?, duration?)
// 详细
finTrack.trackPage({
  pageId: 'pageId',
  pageName: '页面名称',
  url: '页面url',
  referer: '来源页url',
  duration: '页面停留时间'
})
参数名称 传参类型 默认值 是否必传 说明
pageId String '' 页面ID
pageName String document.title 页面名称
url String location.href 页面url
referer String url trcRef 参数,没有再取 document.referrer 来源页面
duration Number 0 停留时间
attributes String null 页面参数

trackPageStart

页面埋点开始

// 简单
finTrack.trackPageStart(pageId, pageName?)
// 详细
finTrack.trackPageStart({
  pageId: 'pageId',
  pageName: '页面名称',
  url: '页面url',
  referer: '来源页url'
})
参数名称 传参类型 默认值 是否必传 说明
pageId String '' 页面ID
pageName String document.title 页面名称
url String location.href 页面url
referer String url trcRef 参数,没有再取 document.referrer 来源页面
attributes String null 事件参数

trackPageEnd

页面埋点结束

finTrack.trackPageEnd()

trackEvent

事件埋点

// 简单
finTrack.trackEvent(eventId, eventName?, eventType?, attributes?, scm?)
// 详细
finTrack.trackEvent({
  eventId: '事件ID',
  eventName: '事件名称',
  eventType: 0, // 1.曝光 2.点击
  attributes: '事件参数',
  duration: '事件时长',
  scm: 'super content model'
})
参数名称 传参类型 默认值 是否必传 说明
eventId String '' 事件ID
eventName String '' 事件名称
eventType Number 2 (1-曝光 2-点击) 事件类型
attributes String null 事件参数
duration Number undefined 停留时间
scm String undefined 内容定位模型
el DOM Object undefined 曝光事件中期望sdk自动完成曝光埋点时必传

disTrackEvent

解除对某元素的事件监听,主要解除曝光事件的监听

参数名称 传参类型 默认值 是否必传 说明
el DOM Object undefined 解除对曝光元素的事件监听

trackEventStart

事件埋点开始

// 简单
finTrack.trackEventStart(eventId, eventName?, eventType?, attributes?, scm?)
// 详细
finTrack.trackEventStart({
  eventId: '事件ID',
  eventName: '事件名称',
  eventType: 0, // 1.曝光 2.点击
  attributes: '事件参数',
  scm: 'super content model'
})
参数名称 传参类型 默认值 是否必传 说明
eventId String '' 事件ID
eventName String '' 事件名称
eventType Number 1 (1-曝光 2-点击) 事件类型
attributes String null 事件参数
scm String undefined 内容定位模型

trackEventEnd

事件埋点结束

finTrack.trackEventEnd(eventId)

baiduTrackPage

发送百度页面埋点数据,需要自己指定百度页面埋点发送时机使用

finTrack.baiduTrackPage(url?)
参数名称 传参类型 默认值 是否必传 说明
url String 当前url的相对路径 百度埋点的页面相对url

setCampaignId

finTrack.setCampaignId('CampaignId')

getRefParams

获取来源数据

// 返回值
{
  referer: '', // 事件ID / 页面ID / referer url
  refSpm: [], // spm Array
  refScm: [], // scm Array
  spmString: 'spm String', // spm String
  scmString: 'scm String', // scm String
  campaignId: 'campaignId' // campaignId
}

create

创建一个实例,在单页面避免相互污染很有用处

let trackInstance = finTrack.create(options) // options 参数同config
// 页面埋点
trackInstance.trackPage(...)
// 事件埋点
trackInstance.trackEvent(...)

query 参数埋点

trcRef

trcRef用于记录从哪个来源打开当前页面,拼在url query参数上,h5和app保持一致,trcRef的值可以为eventId,pageId, url 支持自动识别解析

例如: https://h5.blackfish.cn/xxx?trcRef=101010000300190000

trcScm

trcScm用于记录从哪个内容来源打开当前页面,用法同上

trcCampaign

trcCampaign用于记录从哪个活动进来往往需要一层一层带到目标结束页

vue 埋点插件

基于vue对埋点api的二次封装,方便vue项目埋点

使用方法

import finTrack from '@blackfish/fin-track'
import helperVue from '@blackfish/fin-track/dist/helper-vue'

Vue.use(helperVue(finTrack))

this.$finTrack

同 finTrack api 使用方法一样

v-trc-event 指令

埋点指令

<!-- 数组形式,简单方式 -->
<!-- 点击埋点的写法 -->
<button v-trc-event="[ '101090000100230000', '点击事件名称', undefined, 'scm?', 'attributes?']">按钮</button>
<!-- 点击+曝光 -->
<button v-trc-event="[ '101090000100230000', '点击事件名称', '曝光事件名称?', 'scm?', 'attributes?']">按钮</button>

<!-- Object形式,详细方式 -->
<button v-trc-event="{
  eventId: '101090000100230000',
  events: [{
    eventType: 2, // 2.点击
    eventName: '事件名称',
    attributes: '事件参数',
    duration: '事件时长',
    scm: 'super content model'
  },{
    eventType: 1, // 曝光
    eventName: '曝光事件名称',
    attributes: '曝光事件参数',
    duration: '曝光事件时长',
    scm: 'super content model'
  }]
}">按钮</button>

更新日志

v1.2.2

  • [mod] referrer 逻辑修改

v1.2.0

  • [add] 添加曝光埋点

v1.1.14

  • [fix] 修复来appId 问题

v1.1.5

  • [fix] 扫码调试无效
  • [mod] 手机号加密

v1.1.4

  • [fix] 默认事件为null
  • [fix] 非app环境事件埋点报错

v1.1.0

  • [add] vue 插件
  • [add] campainId, 来源页点击spm app缓存处理方案
  • [add] 设置app缓存campainId方法

v1.0.3

  • [add] getRefParams 接口添加

v1.0.2

  • [mod] 添加页面scm追踪
  • [add] campaignId 活动ID添加

v1.0.1

  • [mod] url appId 转为Number

Readme

Keywords

Package Sidebar

Install

npm i @yangguoxin/fin-track

Weekly Downloads

1

Version

1.2.7

License

ISC

Unpacked Size

209 kB

Total Files

43

Last publish

Collaborators

  • ygx763123