数据埋点
2023-03-15 11:30:00   0  举报             
     
         
 AI智能生成
  前端数据埋点技术研究
    作者其他创作
 大纲/内容
  开源工具对比分析     
vue-uweb     
vueTrackSdk
        
     collect    
     原生js保存数据    
     据采集 Collect.js  
     子主题  
    vue-uweb
 <script src="./node_modules/vue-uweb/dist/vue-uweb.min.js"><script>  
     <button v-track-event.click="'category, action''"></button> // 统计click事件
<button v-track-event="'category, action'"></button> // 统计click事件简写
<input v-track-event.keypress="'category, action'"> // 统计keypress事件
<button v-track-event="'category, action, label, value, nodeid'"><button> // 以字符串传递参数
<button v-track-event="{category:'event', action:'click'}"></button> // 以对象字面量传递参数
    <button v-track-event="'category, action'"></button> // 统计click事件简写
<input v-track-event.keypress="'category, action'"> // 统计keypress事件
<button v-track-event="'category, action, label, value, nodeid'"><button> // 以字符串传递参数
<button v-track-event="{category:'event', action:'click'}"></button> // 以对象字面量传递参数
 trackpoint-tools
    
     mport { after } from 'trackpoint-tools'
class SomeComponent {
onClick = after(() => console.log('send after'))(() => {
return ajax.post(...).then(() => {
console.log('normal click')
})
})
}
    class SomeComponent {
onClick = after(() => console.log('send after'))(() => {
return ajax.post(...).then(() => {
console.log('normal click')
})
})
}
 ES7 注解
class SomeComponent {
@track(before(() => console.log('before')))
onClick () {
console.log('click')
}
@track(after(() => console.log('after')))
onClickAjax () {
return ajax.get(...').then(() => {
console.log('request done')
})
}
}
  
    class SomeComponent {
@track(before(() => console.log('before')))
onClick () {
console.log('click')
}
@track(after(() => console.log('after')))
onClickAjax () {
return ajax.get(...').then(() => {
console.log('request done')
})
}
}
 vue-ba    
     vue指令    
     <button v-track-event.click="'category, action''"></button> // 统计click事件
<button v-track-event="'category, action'"></button> // 统计click事件简写
<input v-track-event.keypress="'category, action'"> // 统计keypress事件
<input v-track-event.someEvent:custom="'category, action'"> // 统计someEvent事件,someEvent是自定义事件
<button v-track-event="'category, action, opt_label, opt_value'"><button> // 以字符串传递参数
<button v-track-event="{category:'event', action:'click'}"></button> // 以对象字面量传递参数
    <button v-track-event="'category, action'"></button> // 统计click事件简写
<input v-track-event.keypress="'category, action'"> // 统计keypress事件
<input v-track-event.someEvent:custom="'category, action'"> // 统计someEvent事件,someEvent是自定义事件
<button v-track-event="'category, action, opt_label, opt_value'"><button> // 以字符串传递参数
<button v-track-event="{category:'event', action:'click'}"></button> // 以对象字面量传递参数
 web-sdk    
     封装的挺不错的    
     https://github.com/bailinlin/web-sdk  
     collect.onload
collect.setIframe
collect.onload
helper.each
  
    collect.setIframe
collect.onload
helper.each
 封装可借鉴  
     监听浏览器的默认事件,     
     beforeunload  
     click  
     onpopstate  
     onpushstate  
     web-tracing    
     前端 - 埋点, 性能采集, 异常采集, 请求采集, 路由采集  
     兼容, js  vue2, vue3   
     smart_web_data_sdk    
     多设备详情,判断的比较多    
     device.fxosTablet  
     浏览器的内容  
     mixpanel-browser    
     控制台收集器  
    vueTrackSdk
 普光监听    
     intersection-observer 监听是不是在浏览器的视窗范围内  
     v-track    
     vue指令,区域埋点    
     <!-- 页面行为埋点(track-view为v-track全局注册的组件) -->
<track-view v-track:18015></track-view>
<track-view v-track:18015.watch="{ rest }"></track-view>
<track-view v-track:18015.watch.delay="{ rest }"></track-view>
<track-view v-if="rest" v-track:18015></track-view>
<!-- 事件行为埋点(DOM) -->
<div v-track:18015.click="handleClick"></div>
<div v-track:18015.click="{ handleClick, item, index }"></div>
<div v-track:18015.click.async="{ handleSearch, rest }"></div>
<div v-track:18015.click.delay="handleClick"></div>
<!-- 事件行为埋点(组件) -->
<cmp v-track:18015.click="handleClick"></cmp>
<cmp v-track:18015.[自定义事件名]="handleSearch"></cmp>
<cmp v-track:18015.[自定义事件名].delay="handleSearch"></cmp>
<cmp v-track:18015.[自定义事件名].async="{ handleSearch, rest }"></cmp>
<!-- 区域展现埋点(block 可以是 DOM 或者组件) -->
<block v-track:18015.show></block>
<block v-track:18015.show.once></block>
<block v-track:18015.show.custom="{ ref: 'scroll' }"></block>
<block v-track:18015.show.custom.once="{ ref: 'scroll' }"></block>
    <track-view v-track:18015></track-view>
<track-view v-track:18015.watch="{ rest }"></track-view>
<track-view v-track:18015.watch.delay="{ rest }"></track-view>
<track-view v-if="rest" v-track:18015></track-view>
<!-- 事件行为埋点(DOM) -->
<div v-track:18015.click="handleClick"></div>
<div v-track:18015.click="{ handleClick, item, index }"></div>
<div v-track:18015.click.async="{ handleSearch, rest }"></div>
<div v-track:18015.click.delay="handleClick"></div>
<!-- 事件行为埋点(组件) -->
<cmp v-track:18015.click="handleClick"></cmp>
<cmp v-track:18015.[自定义事件名]="handleSearch"></cmp>
<cmp v-track:18015.[自定义事件名].delay="handleSearch"></cmp>
<cmp v-track:18015.[自定义事件名].async="{ handleSearch, rest }"></cmp>
<!-- 区域展现埋点(block 可以是 DOM 或者组件) -->
<block v-track:18015.show></block>
<block v-track:18015.show.once></block>
<block v-track:18015.show.custom="{ ref: 'scroll' }"></block>
<block v-track:18015.show.custom.once="{ ref: 'scroll' }"></block>
 MonitorFE    
     浏览器获取ip  
     需求    
     简单,业务隔离,方便引入, 可配置,粒度可大可小  
     获取内容    
     设备与系统信息  
     浏览器信息    
     浏览器版本  
     浏览器 localStory,session  
     浏览器事件 load。beforeload  
     屏幕信息  
     网络信息  
     用户信息  
     行为信息    
     按钮点击  
     页面切换  
     停留时长  
     接口交互信息    
     拦截器  
     明度系统    
     系统类型  
     模块类型  
     租户  
     子主题  
     子主题  
     保存    
     编码与解码  
     队列  
     实现    
     支持     
     原生js  
     vue2  
      vue3  
     使用的方式    
     引入sdk,配置开启  
     全局方法  
     全局指令  
    
 
 
 
 
  0 条评论
 下一页
 为你推荐
 查看更多
    
   
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 