技术领域
[0001] 本
发明涉及计算机技术领域,尤其涉及一种页面数据采集的方法及装置、服务器。
背景技术
[0002] 随着移动互联网技术的迅速发展,每天用户都会使用各种应用程序(Application,APP),APP的开发者或者公司往往希望对开发的APP用户使用数据进行收集和分析,可以更好地了解用户的行为和对产品的反馈,以便进一步对APP和后面的业务进行优化升级,或者给用户更好的推荐等。
[0003] 但是目前在APP中进行数据采集时往往需要开发人员专
门编写用于数据采集的代码,放在界面特定操作时产生事件的回调函数中,这样会造成开发过程复杂,后期增加或者减少数据采集点,需要升级
软件,缺乏灵活性。此外,有一些技术方案采用全埋点的方式,就是对界面上所有可能采集的事件点回调里面都加上一段处理代码,开发人员不得不提前考虑数据采集功能的嵌入。
发明内容
[0004] 本发明的
实施例提供一种页面数据采集的方法及装置、服务器,不需要在每个控件事件处理的时候添加代码,可降低开发过程复杂度。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,提供一种页面数据采集的方法,包括:与服务器进行通信,从服务器获取配置信息;所述配置信息包括控件信息;遍历当前页面中的所有控件,针对每个所述控件,判断所述控件是否为所述配置信息中所述控件信息所指示的控件;若是,为所述控件设置新的监听器;所述新的监听器在原有监听器的
基础上,增加与所述控件的类型相对应的行为数据采集功能;通过所述新的监听器,对所述控件进行行为数据采集。
[0007] 可选的,所述配置信息还包括页面信息;所述方法还包括:获取从进入到退出当前页面的持续时长和页面名称。
[0008] 进一步可选的,获取从进入到退出当前页面的持续时长和页面名称,包括:获取进入当前页面的时间和页面名称;其中,获取进入当前页面的时间和页面名称,具体包括:响应于进入当前页面,记录进入当前页面的时间,将当前页面的状态标识为可见,并存储包括当前页面的页面名称和页面对象的页面信息;在存储所述页面信息时,判断当前存储目录中是否存在可见状态的主窗口页面;若存在,则把当前页面作为该可见状态主窗口页面的
子窗口页面;否则,把当前页面作为主窗口页面。
[0009] 在此基础上,获取进入当前页面的时间和页面名称之后,还获取从进入到退出当前页面的持续时长;其中,获取从进入到退出当前页面的持续时长,包括:在当前页面退出时,判断当前页面是否为子窗口页面;若是,将当前时间减去进入当前页面的时间作为从进入到退出当前页面的持续时长;并将当前页面的状态标识为不可见;若否,则将该当前页面及附属于该当前页面且标识为可见状态的子窗口页面,都采用当前时间减去各自进入的时间,作为各自页面从进入到退出的持续时长;并将当前页面及附属于该当前页面且标识为可见状态的子窗口页面的状态标识为不可见。
[0010] 可选的,在判断所述控件为所述配置信息中所述控件信息所指示的控件之后,在为所述控件设置新的监听器之前,所述方法还包括:查找是否有所述控件的记录;为所述控件设置新的监听器,包括:若没有所述控件的记录,则对所述控件进行记录,并为所述控件设置新的监听器;若查找到有所述控件的记录,则不做处理。
[0011] 可选的,利用反射和动态代理的方式,为所述控件设置新的监听器。
[0012] 可选的,在从服务器获取所述配置信息之后,遍历当前页面中的所有控件之前,所述方法还包括:将所述配置信息进行解析并存储于本地。
[0013] 可选的,所述控件信息包括控件ID、关联控件ID。
[0014] 可选的,所述方法还包括:至少将采集到的行为数据上传至服务器。
[0015] 第二方面,提供一种页面数据采集装置,包括:通信器,配置为与服务器进行通信,从服务器获取配置信息;所述配置信息包括控件信息;控件事件监控器,配置为遍历当前页面中的所有控件,针对每个所述控件,判断所述控件是否为所述配置信息中所述控件信息所指示的控件;若是,为所述控件设置新的监听器;所述新的监听器在原有监听器的基础上,增加与所述控件的类型相对应的行为数据采集功能。
[0016] 可选的,所述配置信息还包括页面信息;基于此,所述页面数据采集装置还包括页面统计器,配置为获取从进入到退出当前页面的持续时长和页面名称。
[0017] 进一步的,所述页面统计器获取从进入到退出当前页面的持续时长和页面名称,包括:所述页面统计器获取进入当前页面的时间和页面名称;其中,所述页面统计器获取进入当前页面的时间和页面名称,包括:响应于进入当前页面,记录进入当前页面的时间,将当前页面的状态标识为可见,并存储包括当前页面的页面名称和页面对象的页面信息;在存储所述页面信息时,判断当前存储目录中是否存在可见状态的主窗口页面;若存在,则把当前页面作为该可见状态主窗口页面的子窗口页面;否则,把当前页面作为主窗口页面。
[0018] 在此基础上,所述页面统计器获取进入当前页面的时间和页面名称后,还获取从进入到退出当前页面的持续时长;其中,所述页面统计器获取从进入到退出当前页面的持续时长,包括:在当前页面退出时,判断当前页面是否为子窗口页面;若是,将当前时间减去进入当前页面的时间作为从进入到退出当前页面的持续时长;并将当前页面的状态标识为不可见;若否,则将该当前页面及附属于该当前页面且标识为可见状态的子窗口页面,都采用当前时间减去各自进入的时间,作为各自页面从进入到退出的持续时长;并将当前页面及附属于该当前页面且标识为可见状态的子窗口页面的状态标识为不可见。
[0019] 可选的,所述控件事件监控器,在判断所述控件为所述配置信息中所述控件信息所指示的控件之后,在为所述控件设置新的监听器之前,还被配置为查找是否有所述控件的记录;其中,若没有所述控件的记录,则对所述控件进行记录,并为所述控件设置新的监听器;若查找到有所述控件的记录,则不做处理。
[0020] 可选的,所述页面数据采集装置还包括解析器,配置为将从服务器获取的所述配置信息进行解析,并存储于本地。
[0021] 可选的,所述通信器,还配置为至少将采集到的行为数据上传至服务器。
[0022] 第三方面,提供一种服务器,包括:配置
存储器,配置为存储配置信息;所述配置信息包括控件信息;
请求接收器,当接收到页面数据采集装置发送的获取所述配置信息的请求时,将所述配置信息发送至所述页面数据采集装置。
[0023] 可选的,所述的服务器还包括收集器,配置为将页面数据采集装置上传的行为数据存储、并分析。
[0024] 进一步可选的,所述配置信息还包括页面信息;所述收集器还被配置为将页面数据采集装置上传的从进入到退出当前页面的持续时长和页面名称存储、并分析。
[0025] 第四方面,提供一种
电子设备,包括:处理器、存储器;所述存储器用于一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如第一方面所述的方法。
[0026] 第五方面,提供一种计算机可读介质,其上存储有
计算机程序,所述计算机程序被执行时,实现如第一方面所述的方法。
[0027] 本发明的实施例提供一种页面数据采集的方法及装置、服务器、电子设备、计算机可读介质,通过在服务器中存储包括控件信息的配置信息,而该控件信息所指示的控件为需要进行行为数据采集的控件,可在终端设备获取该配置信息后,在用户浏览当前页面时,仅对配置信息中指示的控件,为其设置新的监听器,而该新的监听器在原有监听器的基础上,增加了与所述控件的类型相对应的行为数据采集功能,实现对行为数据进行采集。基于此,由于行为数据采集功能会提前预置到程序中,在为控件设置新的监听器时,将其添加进来,因而,相对
现有技术中采用的埋点方式,本发明不需要在每个控件事件处理的时候添加代码,可降低开发过程复杂度。
附图说明
[0028] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1为本发明提供的一种页面数据采集方法的流程示意图一;
[0030] 图2为本发明提供的一种页面数据采集方法的流程示意图二;
[0031] 图3为本发明提供的一种页面数据采集方法的流程示意图三;
[0032] 图4为本发明提供的一种页面数据采集方法的流程示意图四;
[0033] 图5为本发明提供的一种页面数据采集方法的流程示意图五;
[0034] 图6为本发明提供的一种获取进入当前页面的时间和页面名称的方法的流程示意图;
[0035] 图7为本发明提供的一种获取从进入到退出当前页面的持续时长的方法的流程示意图;
[0036] 图8为本发明提供的一种页面数据采集方法的流程示意图六;
[0037] 图9为本发明提供的一种页面数据采集装置的结构示意图一;
[0038] 图10为本发明提供的一种页面数据采集装置的结构示意图二;
[0039] 图11为本发明提供的一种页面数据采集装置的结构示意图三;
[0040] 图12为本发明提供的一种服务器的结构示意图一;
[0041] 图13为本发明提供的一种服务器的结构示意图二。
具体实施方式
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 本发明实施例提供一种页面数据采集的方法,如图1所示,包括:
[0044] S10、与服务器进行通信,从服务器获取配置信息;所述配置信息包括控件信息。
[0045] 本领域技术人员明白,本发明实施例中,页面数据采集方法由终端设备执行。终端设备上可以安装各种应用程序,例如购物类应用、网页浏览器应用、搜索类应用、
即时通信工具、邮箱客户端等。终端设备包括但不限于手机、
平板电脑、便携式计算机、台式计算机等。
[0046] 终端设备可以通过有线或无线网络与服务器通信。
[0047] S11、遍历当前页面中的所有控件,针对每个控件,判断所述控件是否为所述配置信息中控件信息所指示的控件;若是,执行S12。
[0048] 其中,控件有文本控件、图片控件、按钮控件、选择框控件、输入框控件、
进度条控件等等。
[0049] 可采用递归的方式对当前页面中的所有控件进行遍历。
[0050] 以安卓为例,遍历当前页面中的所有控件,可以是:解析页面的视图树,从视图的DecorView(根
节点)开始遍历所有的View(视图),可通过getChildCount()函数获取
子节点个数,然后通过getChildAt()函数获取到子节点的View,采用递归的方式可以对页面所有View进行遍历。其中,本领域技术人员应该明白,控件就是具体的某类View。在此基础上,如果某个控件的信息与配置信息中的控件信息一致,为该控件设置新的监听器。
[0051] 可以理解的是,服务器中的配置信息所包括的控件信息,应为需要进行行为数据采集的控件的信息。
[0052] S12、为所述控件设置新的监听器;该新的监听器在原有监听器的基础上,增加与所述控件的类型相对应的行为数据采集功能。
[0053] 需要说明的是,若某个控件为所述配置信息中控件信息所指示的控件,则为该控件设置新的监听器,实质是创建新的监听器替换原监听器,新的监听器里面增加与该控件的类型相对应的行为数据采集功能,这个功能代码会提前预置到程序中。新的监听器响应事件的动作除了采集行为数据外,还会调用原来监听器的事件响应函数,以便完成该控件原有的功能逻辑。
[0054] 其中,行为数据采集功能应根据控件的类型而定。例如,对于按钮控件,采集的就是点击的行为数据;对于选择框控件,可以采集选择的行为数据,也可以采集点击的行为数据。对于控件可以采集多种行为数据时,需要在开发程序时就确定好要采集哪种行为数据,这样预置的代码才知道使用什么类型的监听器去替换原监听器(即,增加哪种行为数据采集功能)。一旦采集的行为定义好了,当行为发生时,采集的功能就确定了。
[0055] 由于行为数据采集功能的代码不需要写在每个事件处理函数内,因而本发明即为无埋点方式进行的行为数据采集。在此还需说明的一点是,本发明在开发APP时仅需在页面显示和消失的
位置添加代码。具体来讲,使用无埋点这种方式来采集行为数据,需要调用
接口,而调用接口的地方就在页面显示和消失的位置。
[0056] S13、通过所述新的监听器,对所述控件进行行为数据采集。
[0057] 本发明实施例提供一种页面数据采集的方法,通过在服务器中存储包括控件信息的配置信息,而该控件信息所指示的控件为需要进行行为数据采集的控件,可在终端设备获取该配置信息后,在用户浏览当前页面时,仅对配置信息中指示的控件,为其设置新的监听器,而该新的监听器在原有监听器的基础上,增加了与所述控件的类型相对应的行为数据采集功能,实现对行为数据进行采集。基于此,由于行为数据采集功能会提前预置到程序中,在为控件设置新的监听器时,将其添加进来,因而,相对现有技术中采用的埋点方式(即,在事件处理函内写入代码),本发明不需要在每个控件事件处理的时候添加代码,可降低开发过程复杂度。
[0058] 可选的,如图2所示,在S10之后,S11之前,所述方法还包括:
[0059] S14、将所述配置信息进行解析并存储于本地。
[0060] 即,将所述配置信息进行解析后,存储于终端设备。
[0061] 可选的,所述控件信息包括控件ID,进一步的还可以包括关联控件ID。
[0062] 当配置信息中包括控件ID时,如果某个控件的ID与配置信息中的控件ID一致,则该控件便是配置信息中所述控件信息所指示的控件。
[0063] 当配置信息中还包括关联控件ID时,则会存在某个控件关联另外一个控件的情况。例如可以是一个按钮控件关联一个编辑框控件,基于此,可对按钮控件进行点击行为采集,并对输入编辑框里面的内容进行采集。本发明实施例中,通过服务器下发配置信息,终端动态监控控件事件。当服务器下发的配置信息中控件信息包括关联控件ID时,可使事件携带其他控件行为数据信息。
[0064] 可选的,如图3所示,所述方法还包括:S15、将采集到的行为数据上传至服务器。
[0065] 终端设备通过将采集的行为数据上传服务器,服务器进行存储后,可进行后续分析处理。
[0066] 可选的,所述配置信息还包括页面信息;基于此,如图4所示,所述方法还包括:S16、获取从进入到退出当前页面的持续时长和页面名称。以便可对用户行为进行更深入的分析。
[0067] 在此基础上,如图5所示,所述方法还包括:S17、将从进入到退出当前页面的持续时长和页面名称,上传至服务器。
[0068] 进一步的,获取从进入到退出当前页面的持续时长和页面名称,包括:获取进入当前页面的时间和页面名称。
[0069] 其中,获取进入当前页面的时间和页面名称,如图6所示,包括:
[0070] S161、响应于进入当前页面,记录进入当前页面的时间,将当前页面的状态标识为可见,并存储包括当前页面的页面名称和页面对象的页面信息。
[0071] 示例的,页面信息可以存在一个目录(List)里面。页面分为主窗口页面和附属于主窗口的子窗口页面。比如某个Activity(活动的页面)下可以有多个Fragment(页面中的一部分)存在,Activity是主窗口,Fragment是子窗口。
[0072] Activity进入时或者Fragment进入时,可把Activity或者Fragment的类名作为页面名称存储下来,并记录当前时间。通过将Activity或者Fragment的类名作为页面名称,实现了对Activity和Fragment的统计。
[0073] S162、在存储所述页面信息时,判断当前存储目录中是否有可见状态的主窗口页面;若存在,执行S163;否则,执行S164。
[0074] S163、把当前页面作为该可见状态主窗口页面的子窗口页面。
[0075] S164、把当前页面作为主窗口页面。
[0076] 在此基础上,获取从进入到退出当前页面的持续时长,如图7所示,包括:
[0077] S165、在当前页面退出时,判断当前页面是否为子窗口页面;若是,执行S166;否则,执行S167。
[0078] 可以理解的是,如果不是子窗口页面,则必然为主窗口页面。
[0079] S166、将当前时间减去进入当前页面的时间作为从进入到退出当前页面的持续时长;并将当前页面的状态标识为不可见。
[0080] S167、将该当前页面及附属于该当前页面且标识为可见状态的子窗口页面,都采用当前时间减去各自进入的时间,作为各自页面从进入到退出的持续时长;并将当前页面及附属于该当前页面且标识为可见状态的子窗口页面的状态标识为不可见。
[0081] 可选的,如图8所示,在判断所述控件为所述配置信息中控件信息所指示的控件之后,为所述控件设置新的监听器之前,所述方法还包括:S18、查找是否有所述控件的记录。
[0082] 在此基础上,为所述控件设置新的监听器,包括:若没有所述控件的记录,则对所述控件进行记录,并为所述控件设置新的监听器;若查找到有所述控件的记录,则不做处理。
[0083] 示例的,仍以安卓系统为例,在遍历页面所有控件时,如果某个控件的ID与配置信息中包括的控件ID一样,则该控件为需要进行数据采集的控件;可先查找是否有所述控件的记录,若没有所述控件的记录,则把该控件记录下来,例如可记录在一个HashMap(哈希表)中,key(键)可以是ID,Value(值)就是控件本身,并在所述控件对应的监听器中增加数据采集功能。若查找有所述控件的记录,则不做处理。其中,如果控件的被记录在HashMap中,则在查找时,也应在HashMap中进行查找。
[0084] 本发明实例中,通过对设置新的监听器的控件进行记录,在需要为某个控件设置新的监听器之前,通过先查找是否有该控件的记录,如果有则可不必再设置新的控件,可避免重复。
[0085] 基于上述,可选的,利用反射和动态代理的方式,为所述控件设置新的监听器。
[0086] 具体的,使用动态代理建立一个新的监听器,但是这个新的监听器建立时需要一个参数,就是原来的监听器,原来的监听器需要使用反射机制获取。
[0087] 示例的,以按钮(Button)控件为例,可先使用反射方法获取filedId为mListenerInfo的对象obj1,然后再获取obj1的fieldId为mOnClickListener的对象obj2,用obj2构造InvocationHandler的对象obj3,并用Proxy.newProxyInstance创建原监控器的代理对象,最后用反射方式将新的代理对象设置mListenerInfo的mOnClickListener成员,这样实现了使用新的监控器代替了原来的监控器,而obj3中除了增加新的事件处理逻辑外,还保持对原监控器obj2的调用,从而实现在原有功能基础上,对点击事件进行采集。
[0088] 本发明实施例还提供一种页面数据采集装置,如图9所示,包括:通信器10和控件事件监控器20。
[0089] 通信器10,配置为与服务器进行通信,从服务器获取配置信息;所述配置信息包括控件信息。
[0090] 其中,所述控件信息可以包括控件ID、关联控件ID。
[0091] 控件事件监控器20,配置为遍历当前页面中的所有控件,针对每个控件,判断所述控件是否为所述配置信息中控件信息所指示的控件;若是,为所述控件设置新的监听器;所述新的监听器在原有监听器的基础上,增加与所述控件的类型相对应的行为数据采集功能。
[0092] 其中,可采用递归的方式对当前页面中的所有控件进行遍历。
[0093] 以安卓为例,遍历当前页面中的所有控件,可以是:解析页面的视图树,从视图的DecorView开始遍历所有的View,可通过getChildCount()函数获取子节点个数,然后通过getChildAt()函数获取到子节点的View,采用递归的方式可以对页面所有View进行遍历。其中,本领域技术人员应该明白,控件就是具体的某类View。在此基础上,如果某个控件的信息与配置信息中的控件信息一致,为该控件设置新的监听器。
[0094] 可以理解的是,服务器中的配置信息所包括的控件信息,应为需要进行行为数据采集的控件的信息。
[0095] 需要说明的是,若某个控件为所述配置信息中控件信息所指示的控件,则为该控件设置新的监听器,实质是创建新的监听器替换原监听器,新的监听器里面增加与该控件的类型相对应的行为数据采集功能,这个功能代码会提前预置到程序中。新的监听器响应事件的动作除了采集行为数据外,还会调用原来监听器的事件响应函数,以便完成该控件原有的功能逻辑。
[0096] 其中,可利用反射和动态代理的方式,为所述控件设置新的监听器。具体的,使用动态代理建立一个新的监听器,但是这个新的监听器建立时需要一个参数,就是原来的监听器,原来的监听器需要使用反射机制获取。
[0097] 行为数据采集功能应根据控件的类型而定。例如,对于按钮控件,采集的就是点击的行为数据;对于选择框控件,可以采集选择的行为数据,也可以采集点击的行为数据。对于控件可以采集多种行为数据时,需要在开发程序时就确定好要采集哪种行为数据,这样预置的代码才知道使用什么类型的监听器去替换原监听器(即,增加哪种行为数据采集功能)。一旦采集的行为定义好了,当行为发生时,采集的功能就确定了。
[0098] 本发明实施例提供一种页面数据采集装置,通过在服务器中存储包括控件信息的配置信息,而该控件信息所指示的控件为需要进行行为数据采集的控件,可在终端设备通过通信器10获取该配置信息后,在用户浏览当前页面时,通过控件事件监控器20仅对配置信息中指示的控件,为其设置新的监听器,而该新的监听器在原有监听器的基础上,增加了与所述控件的类型相对应的行为数据采集功能,实现对行为数据进行采集。基于此,由于行为数据采集功能会提前预置到程序中,在为控件设置新的监听器时,将其添加进来,因而,相对现有技术中采用的埋点方式(即,在事件处理函内写入代码),本发明不需要在每个控件事件处理的时候添加代码,可降低开发过程复杂度。
[0099] 可选的,所述配置信息还包括页面信息;基于此,如图10所示,所述页面数据采集装置还包括页面统计器30,配置为获取从进入到退出当前页面的持续时长和页面名称。以便可对用户行为进行更深入的分析。
[0100] 在此基础上,所述页面统计器30获取从进入到退出当前页面的持续时长和页面名称,包括:页面统计器30获取进入当前页面的时间和页面名称。
[0101] 其中,页面统计器30获取进入当前页面的时间和页面名称,包括:响应于进入当前页面,记录进入当前页面的时间,将当前页面的状态标识为可见,并存储包括当前页面的页面名称和页面对象的页面信息;在存储所述页面信息时,判断当前存储目录中是否存在可见状态的主窗口页面;若存在,则把当前页面作为该可见状态主窗口页面的子窗口页面;否则,把当前页面作为主窗口页面。
[0102] 示例的,页面信息可以存在一个List里面。页面分为主窗口页面和附属于主窗口的子窗口页面。比如某个Activity下可以有多个Fragment存在,Activity是主窗口,Fragment是子窗口。
[0103] Activity进入时或者Fragment进入时,可把Activity或者Fragment的类名作为页面名称存储下来,并记录当前时间。通过将Activity或者Fragment的类名作为页面名称,实现了对Activity和Fragment的统计。
[0104] 在此基础上,页面统计器30获取进入当前页面的时间和页面名称后,还获取从进入到退出当前页面的持续时长。
[0105] 其中,页面统计器获取从进入到退出当前页面的持续时长,包括:在当前页面退出时,判断当前页面是否为子窗口页面;若是,将当前时间减去进入当前页面的时间作为从进入到退出当前页面的持续时长;并将当前页面的状态标识为不可见;若否,则将该当前页面及附属于该当前页面且标识为可见状态的子窗口页面,都采用当前时间减去各自进入的时间,作为各自页面从进入到退出的持续时长;并将当前页面及附属于该当前页面且标识为可见状态的子窗口页面的状态标识为不可见。
[0106] 可选的,控件事件监控器20,在判断所述控件为所述配置信息中所述控件信息所指示的控件之后,在为所述控件设置新的监听器之前,还被配置为查找是否有所述控件的记录;其中,若没有所述控件的记录,则对所述控件进行记录,并为所述控件设置新的监听器;若查找到有所述控件的记录,则不做处理。
[0107] 示例的,仍以安卓系统为例,在遍历页面所有控件时,如果某个控件的ID与配置信息中包括的控件ID一样,则该控件为需要进行数据采集的控件;可先查找是否有所述控件的记录,若没有所述控件的记录,则把该控件记录下来,例如可记录在一个HashMap中,key可以是ID,Value就是控件本身,并在所述控件对应的监听器中增加数据采集功能。若查找有所述控件的记录,则不做处理。其中,如果控件的被记录在HashMap中,则在查找时,也应在HashMap中进行查找。
[0108] 本发明实例中,通过对设置新的监听器的控件进行记录,在需要为某个控件设置新的监听器之前,通过先查找是否有该控件的记录,如果有则可不必再设置新的控件,可避免重复。
[0109] 可选的,如图11所示,所述页面数据采集装置还包括解析器40,配置为将从服务器获取的所述配置信息进行解析,并存储于本地。即,将所述配置信息进行解析后,存储于终端设备。
[0110] 可选的,所述通信器10,还配置为至少将采集到的行为数据上传至服务器。通过通信器10将采集的行为数据上传服务器,服务器进行存储后,可进行后续分析处理。
[0111] 进一步的,所述通信器10还可将从进入到退出当前页面的持续时长和页面名称,上传至所述服务器。
[0112] 本发明实施例还提供一种服务器,如图12所示,包括:配置存储器50和请求接收器60。
[0113] 配置存储器50,配置为存储配置信息;所述配置信息包括控件信息。
[0114] 其中,配置信息例如以xml文件或者json格式数据等形式进行存储。
[0115] 所述控件信息包括控件ID,进一步的还可以包括关联控件ID。
[0116] 当配置信息中包括控件ID时,如果某个控件的ID与配置信息中的控件ID一致,则该控件便是配置信息中所述控件信息所指示的控件。
[0117] 当配置信息中还包括关联控件ID时,则会存在某个控件关联另外一个控件的情况。例如可以是一个按钮控件关联一个编辑框控件,基于此,可对按钮控件进行点击行为采集,并对输入编辑框里面的内容进行采集。本发明实施例中,通过服务器下发配置信息,终端动态监控控件事件。当服务器下发的配置信息中控件信息包括关联控件ID时,可使事件携带其他控件行为数据信息。
[0118] 请求接收器60,当接收到页面数据采集装置发送的获取所述配置信息的请求时,将所述配置信息发送至所述页面数据采集装置。
[0119] 基于此,在终端设备获取该配置信息后,在用户浏览当前页面时,仅对配置信息中指示的控件,为其设置新的监听器,而该新的监听器在原有监听器的基础上,增加了与所述控件的类型相对应的行为数据采集功能,实现对行为数据进行采集。由于行为数据采集功能会提前预置到程序中,在为控件设置新的监听器时,将其添加进来,因而,相对现有技术中采用的埋点方式(即,在事件处理函内写入代码),本发明不需要在每个控件事件处理的时候添加代码,可降低开发过程复杂度。
[0120] 可选的,如图13所示,所述服务器还包括收集器70,配置为将页面数据采集装置上传的行为数据存储、并分析。将采集的行为数据上传服务器,服务器进行存储后,可进行后续分析处理。
[0121] 在所述配置信息还包括页面信息的情况下,收集器70还被配置为将页面数据采集装置上传的从进入到退出当前页面的持续时长和页面名称存储、并分析。以便可对用户行为进行更深入的分析。
[0122] 本发明实施例还提供一种电子设备,包括:处理器、存储器;所述存储器用于一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述的页面数据采集方法。
[0123] 本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被执行时,实现上述的页面数据采集方法。
[0124] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的
硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0125] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉
本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述
权利要求的保护范围为准。