APP的埋点与事件监测
什么是埋点?
埋点就是定点,定时的数据采集,跟踪用户行为,给后续的产品优化和用户运营提供数据支持。
更通俗一点就是,你为采集数据所做的部署就是埋点,如用户的点击,屏幕的浏览,这些都需要预先做一些部署,这些部署通常是实现,什么时候触发,什么时候发送什么数据,这样才能采集到这些数据,这些部署工作就是埋点。
埋点的分类
根据部署的位置可以分为客户端埋点和服务端埋点,而客户端埋点可以根据埋点工具的方式划分,可以分为三种类型:代码埋点,可视化埋点和全埋点,现在市面上三种实现方式的工具都有,并没有说哪一种方式能够碾压其他几种,因为都各有弊端。具体的各种埋点方法的分类与优缺点如下图
代码埋点
这是是目前最为人所知的一种类型,也是使用最广泛的,包括Google Analyitcs,友盟在内的一些第三方工具都是使用这个方案。
原理:部署完基础的SDK后,在需要采集数据地方添加跟踪代码,APP启动的时候会初始化SDK,你点击或触发数据采集位置的时候就会调用SDK对应的数据接口把数据发送出去,例如,我们要对某个位置的点击做埋点,也就是该按钮被点击的,这个按钮对应的OnClick就会调用SDK提供的数据接口去发送数据。通常来说,为了避免消耗用户的流量,一般是多条数据压缩后发送,而不是一条就发一次。
优点
准确度高:可以精准控制触发条件,什么时候才触发,准确统计某一事件;
自定义强:可以自定义很多丰富的数据数据传递到服务端;
缺点
工作量大:需要跟踪的地方都添加对应的跟踪代码,需要埋点,因此工作量会比较大;
可视化埋点
就是开发者无需再对追踪点进行埋码,而是脱离代码,只需面对应用界面圈圈点点即可追加随时生效的事件数据点。将核心代码与资源配置分开,当APP启动的时候从服务端更新配置和资源,APP根据新的配置和资源上报数据,整个结构有点类似GTM的,配置都是在GTM,用户每次打开加载到的是最新的GTM配置,那么GTM上部署的触发条件有可能被触发,从而实现数据收集。
原理:web和APP的页面都有类似的结构,在部署完SDK后,SDK会自动获取页面各个层级的关系,在web是dom结构,在APP是UIVIEws,当你用可视化页面设置埋点的时候,服务器能够自动知道元素的位置,并且将这些配置保存到服务器,用户打开的时候,就会加载这些配置到客户端,当用户触发该元素的位置时候,就会将相关数据发送出去。
优点
部署简单,能大大节省人力成本;对于不同代码的产品和运营,可以通过可视化界面进行配置;
缺点
不灵活,不能自定义获取数据属性,部分可视化的位置可能覆盖不全;每次启动加载服务端最新的配置资源,浪费流量。
全埋点(无埋点)
就像字面说说的,不需要埋点,已经尽可能的收集所有控件的数据,最早是在2013年,由Heap提出的。
原理:SDK利用CSS选择器技术和监听控件的事件触发技术,在APP中嵌入SDK,这个SDK就会将APP中尽可能多的操作都采集下来,可以通过可视化操作界面对采集的数据做分类,基本上是先收集,后筛选的节奏,可能会出现数据噪音的情况。
优点
部署简单,只需部署SDK,初始化几行代码,就会自动收集数据;自动收集很多数据,能够回溯;
缺点
不灵活自定义数据属性;收集的数据多,给网络传输带来压力,消耗用户的流量和电量,部分会涉及隐私问题。
服务端埋点
在后端将数通过协议的形式直接发送数去,如MP协议,日志等,最常用的还是日志,如日志做很多个性化的定制实现数据的采集,这个工作量就大了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!