一种基于手机APP的用户行为数据采集系统及其控制方法技术领域
本发明属于APP数据分析与采集领域,尤其涉及一种基于手机APP的用户行为数据
采集系统及其控制方法。
背景技术
随着移动互联网行业的迅速发展,APP应用作为移动互联网入口的载体,吸引着越
来越多的用户使用。APP的开发者在对APP做推广运营的过程中,针对APP用户的行为数据分
析的重要性也日益体现。其中,针对APP应用内的用户行为数据采集,是用户行为数据分析
的源头,数据的准确性、全面性、实时性等因素直接决定了后续数据分析的工作的质量,更
进一步影响到了针对整个APP产品的市场运营的决策的制定,重要性可见一斑。
目前针对APP的数据采集通用的方式是:通过集成专门负责数据采集的SDK,并同
时配合代码埋点的方式进行,代码埋点是指需要在APP开发过程中,在指定的按钮等控件的
点击代码内进行插入代码的方式,在用户使用APP的过程中,点击该控件时,会触发所插入
的代码,从而采集到用户的行为数据,发送至后台服务器进行数据的接收、处理、计算、展现
等一系列操作。
上述的方式需要预先确定所有要跟踪的APP内的模块控件,并进行插入代码的操
作,容易出错、可维护性也比较低,后期需要不断地修改,维护,排错;如果之前的版本内有
部分控件没有进行插入代码的操作而造成了遗漏,那么需要重新修改代码并再次发布,上
线时间受到应用市场限制,无法及时进行用户行为分析;埋点需要研发人员代码进行,业务
人员无法参与,商业理解有障碍。以上的现状,无法满足后续运营工作中对数据分析准确
性、全面性、实时性的要求。
发明内容
本发明所要解决的技术问题是针对背景技术的问题提供了一种基于手机APP的用
户行为数据采集系统及其控制方法。
本发明为解决上述技术问题采用以下技术方案
一种基于手机APP的用户行为数据采集系统,包含服务端以及与其连接的手机APP,所
述服务端包含依次连接的接收数据模块、处理数据模块、计算数据模块、展现数据模块;所
述手机APP包含SDK模块以及分别与SDK模块连接的多个APP采集模块;
其中,APP采集模块,用于在目标APP中相关的用户操作的部位进行代码的插入,以便获
取用户的操作行为数据;
SDK模块,用于接收采集模块采集到的用户行为数据,并发送至服务器;
接收数据模块,用于接收集成于APP的SDK发送的用户行为采集到的数据;
处理数据模块,用于清洗处理接收到的用户行为数据;
计算数据模块,用于针对业务需要,对清洗后的数据进行指标的计算;
展现数据模块,用于将计算后的指标数据利用图表的形式呈现给用户。
一种基于手机APP的用户行为数据采集系统的控制方法,具体包含如下步骤:
步骤1,通过APP应用集成数据采集SDK,通过触发预设的特定操作,激活事件动态绑定
的配置,SDK同时利用WebSocket机制与服务端建立通讯连接;
步骤2,通过SDK模块实时将当前手机APP的屏幕显示的界面截屏为图像文件,并将该图
像文件数据发送至服务端;
步骤3,SDK实时将当前屏幕中所有的控件信息数据发送至服务端,服务端在界面图像
的基础上绘制出控件信息数据位置;
步骤4,用户通过服务端对进行事件绑定操作的控件信息数据进行配置,即选定界面上
的某个控件,并命名该控件的点击操作的标识符ID,并保存控件信息和对应的标识符ID;
步骤5,手机APP从服务端获取控件配置信息,并利用动态机制将数据采集的功能代码
注入到控件原始的点击操作过程中。该过程无需对APP现有的控件操作代码进行任何修改,
在绑定成功以后,当用户点击该控件时,会自动触发动态绑定上的数据采集操作功能,SDK
便会自动地将该用户操作行为日志发送至服务器。
作为本发明一种基于手机APP的用户行为数据采集系统的控制方法的进一步优选
方案,在步骤1中,预设的特定操作为将手机屏幕向下翻转持续5秒,或者三个手指同时触碰
屏幕5秒。
作为本发明一种基于手机APP的用户行为数据采集系统的控制方法的进一步优选
方案,在步骤3中,所述控件信息数据包含坐标位置和坐标类型。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明无需再对缺失的控件进行代码插入操作,通过用户交互界面在线进行埋点设
置操作,并及时生效的方式,只需要简单地配置操作就可以对APP内任意控件进行动态埋
点,从而可以不通过插入代码的方式就可以进行用户行为数据的采集。提升了可维护性,效
果立即可见,业务人员也可以参与操作,大大提高了数据采集的灵活性,为APP产品的运营
提供及时有效的数据支撑;
2、本发明为了方便绑定的操作,可以将手机端APP的界面同步到服务端,即在浏览器内
即可对APP每个界面中的控件进行是否跟踪的事件绑定操作,降低了操作的难度,不再需要
开发人员的再次介入,大大节约了人力资源;
3、本发明在手机APP进行埋点方面具有显著优势,在利用免埋点的技术方案后,对APP
上的控件,不再需要开发人员预先进行代码的插入,而是可以在APP发布上线之后,业务人
员随时可以在服务端对想要追踪的控件进行可视化的操作进行指定控件的触发事件跟踪,
利用APP图像获取技术有效的改进了原先代码埋点的不同问题,包括埋点后维护困难、手工
埋点容易出错、APP上架需要时间等,从而极大的提高了APP用户行为分析的效率。
附图说明
图1是本发明的系统结构框图;
图2是本发明的工作原理示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明主要解决了针对APP的用户行为数据进行采集过程中,现有方案的不足,主要体
现在除了需要在APP端集成SDK外(该步骤不可缺少),还需要进行额外的插入代码的工作,
以便指定采集用户对于APP内某些功能的操作使用的行为数据。这种额外插入代码的方式,
主要会带来以下的问题:
首先,每一次的APP版本迭代发布,都需要开发人员的介入,由运营人员指导开发人员
去对APP的指定功能进行插入代码的操作,增加了人力成本和沟通成本;
其次,因为要在APP的代码中插入代码,容易对原有代码造成影响,也很容易产生人为
出错,对APP自身功能会产生不确定性的影响;
最后,也是最主要的影响是插代码的过程,容易产生遗漏。如果想对APP中所有的用户
行为都进行追踪,那么需要在APP内每一处用户可能触发的地方均插入采集的代码,这种方
式很容易造成某些功能被遗漏掉,等到APP上线发布后才发现,从而会导致后续一系列的问
题:
采集的遗漏,会造成数据的缺失,从而无法及时有效地了解到一些被遗漏功能上,APP
用户的操作行为和使用偏好究竟是怎样的;
为了弥补遗漏,需要再次对缺失的地方进行代码插入,这样会再次更新APP,并重新进
行APP的提交审核流程,这一流程时间较长,对产品自身的运营计划有着较大的影响。
针对以上的问题,本发明利用了手机APP端的系统机制,提出了一种新的数据采集
方式,这种方式除了集成SDK以外,无需再进行额外的插入代码的操作。而是可以在任何时
候(包括APP已经发布上线以后),都可以即时的对想要采集的数据进行动态的定义并启用。
避免了上述的各种问题,为APP的运营支持提供了灵活的数据采集方案。
本发明为了解决上述在APP内插入代码所带来的各种问题,提出了一种新的解决
方案:
如图1所示,一种基于手机APP的用户行为数据采集系统,包含服务端以及与其连接的
手机APP,所述服务端包含依次连接的接收数据模块、处理数据模块、计算数据模块、展现数
据模块;所述手机APP包含SDK模块以及分别与SDK模块连接的多个APP采集模块;
其中,APP采集模块,用于在目标APP中相关的用户操作的部位进行代码的插入,以便获
取用户的操作行为数据;
SDK模块,用于接收采集模块采集到的用户行为数据,并发送至服务器;
接收数据模块,用于接收集成于APP的SDK发送的用户行为采集到的数据;
处理数据模块,用于清洗处理接收到的用户行为数据;
计算数据模块,用于针对业务需要,对清洗后的数据进行指标的计算;
展现数据模块,用于将计算后的指标数据利用图表的形式呈现给用户。
为了达到APP端集成数据采集的SDK之后,不需要再进行额外插入代码的操作的目
的,需要考虑在数据采集SDK内实现对于所需追踪的用户触发行为(如对于按钮控件的点击
事件操作等)进行动态的事件绑定的功能,这样可以不需要预先进行插入代码的操作,而是
随时根据配置信息指定哪些控件的点击事件可以在被用户触发的同时,也触发日志采集的
操作。此外,为了方便绑定的操作,可以将手机端APP的界面同步到服务端,即在浏览器内即
可对APP每个界面中的控件进行是否跟踪的事件绑定操作,降低了操作的难度,不再需要开
发人员的再次介入。具体的工作过程是:首先,数据采集SDK设定一种特殊激活方式(如翻转
屏幕等)通知服务端需要建立特殊连接,来进行事件的动态绑定操作。在服务端确认回复之
后,移动端定时将当APP的应用界面图像在服务端WEB界面上显示之后,SDK将APP界面中各
控件的坐标位置数据传输到服务端,并动态在之前的界面图像上面生成可交互的控件。随
后,用户可以通过点击需要绑定事件的控件,输入信息,完成一个控件的动态绑定工作,服
务端将配置信息下传到手机APP中。之后,用户在使用APP的时候,SDK会将用户操作的控件
与服务端的配置信息的控件进行匹配,当匹配相同时,会触发数据采集的操作,将该用户的
操作信息进行采集并上报。
详细的实现步骤如下:
一种基于手机APP的用户行为数据采集系统的控制方法,具体包含如下步骤:
步骤1,通过APP应用集成数据采集SDK,通过触发预设的特定操作,激活事件动态绑定
的配置,SDK同时利用WebSocket机制与服务端建立通讯连接;
步骤2,通过SDK模块实时将当前手机APP的屏幕显示的界面截屏为图像文件,并将该图
像文件数据发送至服务端;
步骤3,SDK实时将当前屏幕中所有的控件信息数据发送至服务端,服务端在界面图像
的基础上绘制出控件信息数据位置;
步骤4,用户通过服务端对进行事件绑定操作的控件信息数据进行配置,即选定界面上
的某个控件,并命名该控件的点击操作的标识符ID,并保存控件信息和对应的标识符ID;
步骤5,手机APP从服务端获取控件配置信息,并利用动态机制将数据采集的功能代码
注入到控件原始的点击操作过程中。该过程无需对APP现有的控件操作代码进行任何修改,
在绑定成功以后,当用户点击该控件时,会自动触发动态绑定上的数据采集操作功能,SDK
便会自动地将该用户操作行为日志发送至服务器。
在步骤1中,预设的特定操作为将手机屏幕向下翻转持续5秒,或者三个手指同时
触碰屏幕5秒。
在步骤3中,所述控件信息数据包含坐标位置和坐标类型。
如图2所示,在需要针对APP进行数据分析的环境下,集成数分析采集的SDK,仅需
要简单地初始化操作,不再需要预先对APP中所有的用户触发控件进行插入代码的操作,即
可将APP进行发布上线。在APP发布之后,如果APP的运营人员需要对某一处的用户点击操作
等感兴趣,需要进行数据的跟踪,可按如下方式进行操作:
1.运营人员打开APP,操作特殊的手势,激活免埋点的功能;
2.服务端Web界面上可以看到当前手机上的界面以及所有的控件;
3.运营人员在Web界同上,对某一控件进行操作,命令该控件点击操作的名称;
4.保存配置;
5.运营人员将APP关闭并重新打开,当点击到刚才绑定的控件时;
6.该控件被触发的信息将发送到服务端,服务端可查看该控件被触发的信息,进行进
一步的用户行为分析。
本发明无需再对缺失的控件进行代码插入操作,通过用户交互界面在线进行埋点
设置操作,并及时生效的方式,只需要简单地配置操作就可以对APP内任意控件进行动态埋
点,从而可以不通过插入代码的方式就可以进行用户行为数据的采集。提升了可维护性,效
果立即可见,业务人员也可以参与操作,大大提高了数据采集的灵活性,为APP产品的运营
提供及时有效的数据支撑;
2、本发明为了方便绑定的操作,可以将手机端APP的界面同步到服务端,即在浏览器内
即可对APP每个界面中的控件进行是否跟踪的事件绑定操作,降低了操作的难度,不再需要
开发人员的再次介入,大大节约了人力资源;
3、本发明在手机APP进行埋点方面具有显著优势,在利用免埋点的技术方案后,对APP
上的控件,不再需要开发人员预先进行代码的插入,而是可以在APP发布上线之后,业务人
员随时可以在服务端对想要追踪的控件进行可视化的操作进行指定控件的触发事件跟踪,
利用APP图像获取技术有效的改进了原先代码埋点的不同问题,包括埋点后维护困难、手工
埋点容易出错、APP上架需要时间等,从而极大的提高了APP用户行为分析的效率。