什么是数据埋点?怎么实现数据埋点?

什么是数据埋点?

埋点是在软件或应用程序的关键位置(如用户操作、事件触发、页面访问等)插入代码,以收集用户行为和应用程序性能数据的技术手段。

我们先了解时间埋点,比如,用户观看一段视频时中途退出不看了,为了方便用户体验,下次打开这段视频时应该从上次观看的位置接着播放,要实现这个就需要用到时间埋点。怎么实现呢?用户在打开视频时开始记录时间,关闭视频时生成一个埋点数据。把记录的数据通过接口发给后台,后台会统计视频观看进度。

埋点工具

我们需要封装一个埋点工具(方便复用和修改),记录单条埋点数据,上报埋点数据数组。

步骤:1.参考接口定义上报数据类型。2.封装埋点工具。3.使用埋点工具,完成记录和上报。

上报数据类型(根据后端接口写)比如:

export interface TimeItem {
  Id: string
  startTime: number
  endTime: number
}

封装工具函数

import { TimeItem } from '../../models'
import { http } from './Http'
import { logger } from './Logger'

class Tracking {
  list: TimeItem[] = []

  record(startTime: number, endTime: number, Id: string) {
    this.list.push({
      startTime,
      endTime,
      Id
    })

  }
//推送埋点数据给后台(不同网络请求方法不同,根据封装的http发送请求)
  async report() {
    await http.request<null>({ url: 'time/tracking', method: 'post', data: { timeList: this.list } })
    this.list = []
  }
}

export const tracking = new Tracking()

 视频页调用埋点工具

  startTime: number = Date.now()

  onPageShow(): void {
    this.startTime = Date.now()
  }

  onPageHide(): void {
    tracking.record(this.startTime, Date.now(), this.item.id)
    tracking.report()
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值