前言
上一章主要是讲述基于浏览器端进行日志采集的技术方案,现在开始围绕着APP端(无线客户端)日志采集技术方案进行进一步的学习。
无线客户端日志采集
无限客户端日志采集使用的是采集SDK(SDK即软件工具开发包,主要由库文件、示例代码和说明文档三部分组成)技术。无线客户端的日志采集和浏览器的日志采集方式不同,移动端的日志采集根据不同的用户行为分成不同的事件,“事件”为无限客户端日志行为的最小单位,而浏览器端的日志采集则是根据不同的页面行为来划分的。同样的,无线客户端的日志采集事件也可以分为页面事件(类比页面浏览)和控件点击事件(类比页面交互)等。
页面事件
页面事件(页面浏览行为)日志主要记录三类信息:(1)设备及用户的基本信息;(2)被访问页面的信息;(3)访问基本路径,用于还原用户完整的访问行为。
对于页面事件,日志采集SDK提供了两个接口,分别在页面展现和页面退出时调用。当打开某个页面时,会调用页面展现的接口,该接口会记录页面打开时的一些状态信息,但此时不发送日志;当从该页面离开时,调用页面退出的接口,该接口会发送日志。除了基础的两个接口外,还提供添加页面扩展信息接口,在页面离开前,使用该接口可以给页面添加相关参数。
上述三个接口必须配合使用,即页面展现接口和页面退出接口必须成对使用,而页面扩展信息接口则必须在使用页面展现和页面退出接口的前提下才能使用。为什么要在页面退出时才发送日志,主要是这样方便计算页面停留时间。
日志采集SDK除了提供这三个基础的页面事件采集方法外,为了平衡采集、计算和分析的成本,在部分场景下需要采集更多的信息来减少计算及分析的成本,于是,提供透传参数功能,所谓透传参数,就是把当前页面的某些信息,转递到下一个页面甚至下下一个页面的日志中,最典型的应用就是用户行为路径分析,从任意一个页面日志中都可以向上回溯完整的用户行为路径。
控件点击及其他事件
和浏览器客户端的日志采集一样,交互日志的采集无法规定统一的采集内容,交互类的行为呈现出高度自定义的业务特征。由此,无线客户端日志采集,也将交互日志采集从页面事件采集中剥离出来,称为控件点击事件和其他事件。
控件点击事件比页面事件简单,它和页面事件一样,记录基本的设备信息、用户信息,除此之外,就是记录控件所在页面名称、控件名称、控件的业务参数等。
其他事件,即用户可以根据业务场景需求,使用自定义事件来采集相关信息。从某种程度上,它几乎能满足用户的所有需求,包括页面事件和控件点击事件,只是若采用通用的页面事件埋点方法,日志采集SDK会帮助实现一些额外的功能(如上一个页面的信息)。日志采集SDK提供一个自定义埋点类,其包括:(1)事件名称;(2)事件时长;(3)事件所携带的属性;(4)事件对应的页面。
除上述这些需要应用开发者触发的日志采集接口外,还提供一些默认的日志采集方法,如可以自动捕获应用崩溃,并且产生一条日志记录崩溃相关信息。类似的还有应用的退出、页面的前后台切换等等。诸如此类和业务信息不是非常相关,但又对分析起很大作用的日志采集,并不需要应用开发者触发埋点。