shuyilink-track
v1.0.10
Published
shuyilink 埋点 sdk
Downloads
5
Readme
Install
npm i shuyilink-track
Quick Start
import syTrack,{track} from 'shuyilink-track'
// 自定义事件
// track(eventName:string, data:Object)
setTimeout(() => {
track('$myEvent',{time:Date.now()})
}, 1000);
const heatmap = {
scroll_delay_time: 4000, // 页面采集停留时长 默认 4s
clickmap: 'default', // 是否开启点击图,default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭。
scroll_notice_map: 'default', // 是否开启触达图,not_collect 表示关闭,不会自动采集 $WebStay 事件,可以设置 'default' 表示开启。
collect_tags: {
div: {
max_level: 1 // 默认是 1,即只支持叶子 div。可配置范围是 [1, 2, 3],非该范围配置值,会被当作 1 处理。
},
span: true,
li: true,
img: true,
svg: true
// ... 其他标签
},
loadTimeout: 3000,
collect_url: function () {
return true
},
// 此参数针对预置 $WebClick 事件(包括 quick('trackHeatMap') quick('trackAllHeatMap') 触发的)生效。
collect_element: function (element_target) {
return true
},
// 此参数针对预置 $WebClick 事件(包括 quick('trackHeatMap') quick('trackAllHeatMap') 触发的)生效。
custom_property: function (element_target) {
return true
},
collect_input: function (element_target) {
return true
},
element_selector: 'not_use_id',
renderRefreshTime: 1000
}
syTrack.init({
// server_url: 'http://test-syg.datasink.sensorsdata.cn/sa?token=xxxxx&project=xxxxxx',
// show_log: true,
max_time_out: 30 * 1000, // 触发上报埋点的最小时延 设置为 0 则没有时延 全部上报
max_queue_length: 5, // 触发上报埋点的最小队列长度
is_track_single_page: true, // 单页面配置,默认开启,若页面中有锚点设计,需要将该配置删除,否则触发锚点会多触发 $pageview 事件
use_client_time: true,
send_type: 'beacon',
$is_channel_callback_event: false,
heatmap,
onTracked: function (data) {
// 处理你的上报逻辑
console.log('🚀 ~ data', data)
}
})
// 注册公共属性
const { appVersion, userAgent, platform, connection: { effectiveType } } = navigator
const globalProperties = {
platform_type: 'H5',
appVersion,
userAgent,
platform,
effectiveType
}
syTrack.registerPage(globalProperties)
syTrack.use('PageLoad')
syTrack.use('PageLeave', { custom_props: { page_title: '我的标题' }, heartbeat_interval_time: 5 }) // 设置页面浏览时长自定义属性 page_title 为 '我的标题',并设置页面浏览时长心跳记录刷新时间为 5 秒。
syTrack.quick('autoTrack') // 用于采集 $pageview 事件。