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

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

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

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


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的实例对象的埋点函数,代码如下

在这里插入图片描述

优化

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

在这里插入图片描述

相关文章:

  • 如何在 GoLand 中设置默认项目文件夹
  • 树莓派学习:环境配置
  • 《基于深度学习的高分卫星图像配准模型研发与应用》开题报告
  • 基于Spring Boot的红色革命文物征集管理系统的设计与实现(LW+源码+讲解)
  • Java高频面试之集合-13
  • 【ACM 独立出版 | EI 快检索】2025年数据挖掘与项目管理国际研讨会 (DMPM 2025)
  • 如何使用MySQL快速定位慢SQL问题?企业级开发中常见业务场景中实际发生的例子,涉及分页查询问题。(二)
  • LLMs之CoTM:《Detecting misbehavior in frontier reasoning models》翻译与解读
  • Linux驱动学习笔记(零)
  • [设计模式与源码]1_Spring三级缓存中的单例模式
  • 设计模式(行为型)-状态模式
  • Leetcode 刷题笔记1 单调栈part01
  • UART转AHB模块ModelSim仿真
  • C语言每日一练——day_10
  • 冒泡排序:古老算法中的智慧启示
  • c++学习系列----003.写文件
  • MySQL——数据类型
  • Postman 新手入门指南:从零开始掌握 API 测试
  • 嵌入式Linux | 什么是 BootLoader、Linux 内核(kernel)、和文件系统?
  • 基于javaweb的SpringBoot智能相册管理系统图片相册系统设计与实现(源码+文档+部署讲解)
  • 国有六大行一季度合计净赚超3444亿,不良贷款余额均上升
  • 秦洪看盘|上市公司业绩“排雷”近尾声,A股下行压力趋缓
  • 上海74岁老人宜春旅游时救起落水儿童,“小孩在挣扎容不得多想”
  • 五一假期上海铁路预计发送446万人次,同比增长8.4%
  • 诗词文赋俱当歌,听一听古诗词中的音乐性
  • 国家发改委答澎湃:将指导限购城市针对长期摇号家庭和无车家庭等重点群体定向增发购车指标