当前位置: 首页 > article >正文

鸿蒙应用开发--数据埋点的名称由来,发展脉络,典型场景,现代演进的无埋点和智能化埋点//学习时长数据埋点的实现--待更新

鸿蒙应用开发--数据埋点的名称由来,发展脉络,典型场景,现代演进的无埋点和智能化埋点//学习时长数据埋点的实现--待更新

数据埋点名称的由来可以从其功能和应用场景的形象化表达来理解:


1. 术语起源
  • “埋”的隐喻
    取自 “埋藏标记” 的概念,类似于地质勘探中在地表埋设标记点以记录信息。在软件开发中,指在代码逻辑中“埋藏”数据采集点,用于记录用户行为或系统状态。

  • “点”的含义
    代表 关键事件节点(如按钮点击、页面跳转、接口调用),这些节点需要被标记以收集特定数据。


2. 发展脉络
阶段技术特征术语演变
早期调试开发者在代码中插入log语句(如console.log),用于调试程序逻辑称为 “打日志”
数据分析需求针对用户行为(点击、曝光、停留)添加专用数据记录代码开始称为 “埋点”
自动化工具兴起无侵入式埋点(可视化埋点、全埋点)无需手动编码沿用“埋点”概念,但实现方式升级

3. 中西术语对比
中文术语英文对应概念核心差异
数据埋点Event Tracking / Instrumentation中文更强调“隐蔽性”和“定点性”,英文更侧重技术实现
埋点工程师Data Engineer (Analytics)中文岗位名称直接体现核心工作内容

4. 命名合理性分析
  • 功能性隐喻
    如同在用户行为路径上“埋下传感器”,触达关键节点即触发数据采集。

  • 技术特征契合
    传统埋点需 侵入代码(如同埋入土壤),虽必要但应尽量隐蔽;现代无埋点技术则更像“地表监测设备”。

  • 行业传承
    从传统软件开发的“打日志”延伸而来,但更聚焦于 业务分析 而非单纯调试。


5. 典型场景示例
埋点名称含义命名逻辑
home_page_click首页点击事件[页面][区域][动作]
payment_success支付成功事件[业务流程]_[状态]
video_play_duration视频播放时长[功能][行为][指标类型]

6. 现代演进
  • 无埋点(Auto Tracking)
    通过全局监听自动采集数据,但业界仍沿用“埋点”一词,因其核心目标未变(标记关键数据节点)。

  • 智能化埋点
    AI自动识别高价值事件节点,实现“动态埋点”,本质仍是选择性地“埋”。


总结

“数据埋点”这一名称融合了 技术逻辑(代码植入)与 业务需求(精准标记),既体现其实现方式(像埋藏标记一样在代码中插入采集逻辑),又强调了数据采集的 针对性(聚焦关键节点)。其名称的持续使用,反映了数据采集从“手动标记”到“智能感知”的技术演进中,对核心目标的一致追求。


定义自定义类TrackingService管理页面埋点访问数据

import { HdHttp } from './request';
import { promptAction } from '@kit.ArkUI';

export interface iTimeList {
  /**
   * 结束时间(毫秒)
   */
  endTime: number;

  /**
   * 试题id
   */
  questionId: string;

  /**
   * 开始时间(毫秒)
   */
  startTime: number;
}

class TrackingService {
  //   1. 准备一个iTimeList类型的数据
  timeItem: iTimeList = {
    questionId: '0',
    startTime: 0,
    endTime: 0
  }

  // 2. 设置当前题目id
  setQuestionId(id: string) {
    this.timeItem.questionId = id
  }

  // 3. 设置开始时间
  setStartTime(time: number) {
    this.timeItem.startTime = time
  }

  // 4. 设置结束时间
  setEndTime(time: number) {
    this.timeItem.endTime = time
  }

  // 5. 上报iTimeList对象给服务器
  async saveData() {
    //  上报给服务器
    await HdHttp.Post<string>('hm/time/tracking', new Object({
      timeList: [this.timeItem]
    }))

    promptAction.showToast({ message: '埋点数据上报完毕' })
  }
}

// 导出类的对象实例
export const trackingService = new TrackingService()

页面植入数据埋点

在进入页面和离开页面的时候执行TrackingService的实例对象的埋点函数,代码如下

在这里插入图片描述

优化

- - 持久化以及集中数据再上报,减轻服务器压力

在这里插入图片描述


http://www.kler.cn/a/590471.html

相关文章:

  • DNS查询
  • Matlab 汽车传动系统的振动特性分析
  • LeetCode 解题思路 16(Hot 100)
  • Oracle中的INHERIT PRIVILEGES权限
  • JVM中常量池和运行时常量池、字符串常量池三者之间的关系
  • JVM常用概念之安全点轮询
  • 验证哥德巴赫猜想(C语言)
  • Go红队开发—日志打印优化
  • 基于“动手学强化学习”的知识点(二):第 15 章 模仿学习(gym版本 >= 0.26)
  • A l密码学(Deepseek)
  • [Windows] 轻量级景好鼠标录制器 v2.1 单文件版,支持轨迹+鼠标键盘录制复刻
  • es6什么是暂时性死区,为何会存在
  • golang开发支持onlyoffice的token功能
  • 2025-3-17算法打卡
  • 02 javase面向对象-狂神说课程笔记
  • 自学Python创建强大AI:从入门到实现DeepSeek级别的AI
  • 多任务学习与持续学习微调:深入探索大型语言模型的性能与适应性
  • 便携版:随时随地,高效处理 PDF 文件
  • matlab 火电厂给水控制系统仿真
  • linux(centos8)下编译ffmpeg