CN114328072A - 一种曝光数据采集方法及装置 - Google Patents
一种曝光数据采集方法及装置 Download PDFInfo
- Publication number
- CN114328072A CN114328072A CN202011074718.7A CN202011074718A CN114328072A CN 114328072 A CN114328072 A CN 114328072A CN 202011074718 A CN202011074718 A CN 202011074718A CN 114328072 A CN114328072 A CN 114328072A
- Authority
- CN
- China
- Prior art keywords
- target
- visual object
- exposure data
- display
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000000007 visual effect Effects 0.000 claims abstract description 248
- 230000001960 triggered effect Effects 0.000 claims abstract description 13
- 238000012800 visualization Methods 0.000 claims description 94
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 30
- 238000012423 maintenance Methods 0.000 abstract description 7
- 239000012634 fragment Substances 0.000 description 57
- 230000006870 function Effects 0.000 description 37
- 230000000694 effects Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种曝光数据采集方法及装置,涉及计算机技术领域,方法包括:确定目标界面加载的页面信息,所述页面信息中包括至少一个可视化对象;当监听到可视化对象显示状态变化时触发的通知消息时,确定所述至少一个可视化对象中,显示状态发生变化的目标可视化对象;当所述目标可视化对象的显示状态满足曝光条件时,上报所述目标可视化对象的目标曝光数据。解决了代码本身成本过高、后期维护成本高的问题,使得曝光数据采集的过程易于实施。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种曝光数据采集方法及装置。
背景技术
面对海量资讯世界,在越来越多的数据和信息可以从互联网上获得时,对大量数据的采集、分析和深度挖掘同时还可能产生巨大的商机。电商企业、旅游、互联网金融、企业服务的等行业纷纷搭建数据指标体系,构建可以落地精细化运营、指导业务增长的用户画像,对数据规模性、丰富性、准确性、即时性等多方面提出了更多的要求。在数据分析的道路上,数据采集是重中之重。数据采集的质量直接决定了你的分析是否准确。而随着企业对数据的要求越来越高,埋点技术也被广泛应用。
随着业务的不断拓展和数据分析场景的应用,各种场景均需要进行埋点采集数据。而大部分的埋点操作均需要开发人员手动将埋点代码***到业务代码中,费时费力,人工成本过高,后期维护成本高。
发明内容
本申请实施例提供了一种曝光数据采集方法及装置,用以准确上报曝光数据,并且有效的降低人工成本以及后期维护成本。
一方面,本申请实施例提供一种曝光数据采集方法,方法包括:
确定目标界面加载的页面信息,所述页面信息中包括至少一个可视化对象;
当监听到可视化对象显示状态变化时触发的通知消息时,确定所述至少一个可视化对象中,显示状态发生变化的目标可视化对象;
当所述目标可视化对象的显示状态满足曝光条件时,上报所述目标可视化对象的目标曝光数据。
一方面,本申请实施例提供了一种曝光数据采集装置,包括:
页面信息确定单元,用于确定目标界面加载的页面信息,页面信息中包括至少一个可视化对象;
目标可视化对象确定单元,用于当监听到可视化对象显示状态变化时触发的通知消息时,确定至少一个可视化对象中,显示状态发生变化的目标可视化对象;
曝光数据上报单元,用于当目标可视化对象的显示状态满足曝光条件时,上报目标可视化对象的目标曝光数据。
可选的,曝光数据上报单元还用于:
基于目标可视化对象的标识信息以及位置信息,确定在已缓存曝光数据中不存在目标可视化对象的目标曝光数据,已缓存对象数据是根据已上报对象数据的其它目标上报对象的其它目标曝光数据确定的。
可选的,曝光数据上报单元还用于:
确定目标可视化对象为界面滑动显示对象。
可选的,曝光数据上报单元还用于:
若确定目标可视化对象为界面滑动显示对象,且基于目标可视化对象的标识信息以及位置信息,确定在已缓存对象数据中已存在目标可视化对象的目标曝光数据,则不上报目标曝光数据,滑动显示对象表征目标可视化对象可以在目标界面中滑动显示的可视化对象。
可选的,装置还包括:
时长统计单元,用于针对任一可视化对象,若确定可视化对象具有页面时长统计标签,则根据可视化对象在目标界面中具有界面显示焦点的第一时刻,以及可视化对象在目标界面中不具有界面显示焦点的第二时刻确定可视化对象的显示时长,并上报显示时长。
可选的,装置还包括:
翻屏率统计单元,用于在目标界面中确定基准位置;
基于目标页面信息开始滑动时刻位于基准位置的第一可视化对象,以及目标页面信息停止滑动时刻位于基准位置的第二可视化对象,确定目标页面信息的滑动距离;
基于目标页面信息的滑动距离以及目标界面的界面高度确定针对目标页面信息的翻屏率。
可选的,装置还包括:
非目标可视化对象确定单元,用于确定至少一个可视化对象中,显示状态未发生变化的非目标可视化对象以及非目标可视化对象的曝光数据的上报时间;
若确定上报时间与当前时间的时间差满足再次上报时间条件时,则上报非目标可视化对象的曝光数据。
可选的,页面信息确定单元还用于:
将页面信息中的管理对象替换为状态监测对象,并通过状态监测对象监测通知消息。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现曝光数据采集方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行曝光数据采集方法。
本申请实施例中的曝光数据采集方法,能够在确定当前目标界面加载的页面信息中,有可视化对象的显示状态发生变化时,确定需要上报曝光数据的目标可视化对象,并在目标可视化对象的显示状态满足曝光条件时,上报目标可视化对象的目标曝光数据。
在本申请实施中,不需要开发人员将埋点代码***到用户终端的业务代码中,不需要复杂的代码编写过程,解决了代码本身成本过高、后期维护成本高的问题,使得曝光数据采集的过程易于实施。
进一步地,在本申请实施例中,在可视化对象的显示状态发生变化时,才确定各可视化对象的显示状态,并不是实时重复确认各可视化对象的显示状态,减少了曝光数据采集过程中的状态查询过程,也进一步降低了曝光数据采集过程中的数据量,提高了整个曝光数据采集的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种界面、页面信息以及可视化对象的示意图;
图2为本申请实施例提供的一种页面信息的结构示意图;
图3为本申请实施例提供的一种应用场景示意图;
图4为本申请实施例提供的一种曝光数据采集方法流程示意图;
图5为本申请实施例提供的一种目标界面中可视化对象的状态变化示意图;
图6为本申请实施例提供的一种目标界面的示意图;
图7为本申请实施例提供的一种曝光数据判断过程以及上报过程的流程示意图;
图8为本申请实施例提供的一种群组信息曝光方法的流程示意图;
图9为本申请实施例提供的一种设置不同曝光策略的流程示意图;
图10为本申请实施例提供的一种固定显示可视化对象以及滑动显示对象的示意图;
图11为本申请实施例提供的一种基于标识信息以及位置信息确定是否上报曝光数据的流程示意图;
图12为本申请实施例提供的一种确定可视化对象的显示时刻的流程示意图;
图13为本申请实施例提供的一种确定可视化对象的不显示时刻的流程示意图;
图14为本申请实施例提供的一种确定显示时长的流程示意图;
图15为本申请实施例提供的一种确定显示时长的流程示意图;
图16为本申请实施例提供的一种确定显示时长的流程示意图;
图17为本申请实施例提供的一种确定第一可视化对象以及第二可视化对象的流程示意图;
图18为本申请实施例提供的一种SDK结构示意图;
图19为本申请实施例提供的一种曝光数据采集装置的结构示意图;
图20为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,下面对本申请实施例中涉及的名词进行解释。
界面:指的是用户使用的终端设备中的可显示区域,在本申请实施例中,终端设备指的是至少具有显示功能的电子设备,可以是移动的电子设备,也可以是固定的电子设备。例如,手机、平板电脑、各类可穿戴设备、车载设备、个人数字助理(personal digitalassistant,PDA)、销售终端(point of sales,POS)或其它能够实现上述功能的电子设备等。
页面信息:指的是全部或者部分显示在界面中的数据信息,数据信息可以是文本信息、图像信息,也可以是语音信息、视频信息以及链接信息等,在本申请实施例中不做限定。
可视化对象:指的是页面信息的数据信息承载,可视化对象可以是页面中的控件,对数据和方法的一种封装。例如,可视化对象可以是视图对象View,视图对象View是所有控件的基类,不管是简单的文本对象TextView,控件对象Button还是复杂的布局对象LinearLayout和视图列表对象ListView,它们的共同基类都是视图对象View。
在本申请实施例中,可视化对象可以显示在界面中,即页面中可视化对象的状态可以为显示状态,可视化对象也可以不显示在界面中,即页面中可视化对象的状态可以为隐藏状态。
示例性的,下面结合图1说明上述界面、页面信息以及可视化对象的内容。
在图1中,用户使用的终端中的显示区域为界面,在界面中显示了网页信息,该网页信息就是页面信息,且显示的是整个网页信息的部分页面信息。
具体的,图1中未显示的页面信息用虚线表示,具体的,在图1中显示的页面信息是通过各可视化对象表示的,可视化对象的状态为显示状态,则显示在图1中的界面中,当可视化对象的状态为隐藏状态,则未显示在图1中的届面中。
在本申请实施例中,页面信息中包括各个可视化对象,可视化对象之间存在层级关系,多个可视化对象可以构成可视化群组。示例性的,如图2所示,页面信息的构成包括多个可视化对象,其中可视化对象2、可视化对象5以及可视化对象6为可视化群组1中的可视化对象。
曝光:指的是可视化对象在界面中显示状态满足设定要求。
曝光数据:指的是可视化对象在界面中显示状态满足设定要求后上报的数据,该数据可以包括可视化对象的属性信息、界面布局信息等,也可以包括其它信息。
生命周期:指的是可视化对象从加载到内存、显示、隐藏的整个过程,具体的,针对不同的可视化对象的类型,生命周期的定义不同,以可视化对象为View进行说明,View的生命周期为记载View-View加载完毕-View将要显示-View将要布局-View完成布局-View完全显示-View即将消失-View完全消失。
回调函数:就是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就定义为回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
在介绍了上述名词后,现在基于当前存在的问题,说明本申请的构思。
大数据分析是当前互联网技术的发展趋势,其中数据采集是核心问题。前端埋点技术作为一个比较成熟并且被广泛采用的数据接入手段,目前常见的前端埋点技术为代码埋点技术。
代码埋点即在某个控件操作发生时通过预先写好的代码来发数据的代码埋点。也就是说,为了能够监测网站上用户的行为,或者App(Application,应用程序)上用户的行为,是需要在网站的每一页或者App中加上一些程序代码的。这样的程序代码,在网站上叫监测代码,在App中叫SDK(Software Development Kit,软件开发工具包)。
由于埋点需要网页工程师(或者App开发者)将一个一个专用的监测代码加在每一个监测点上,还需要保证这些代码跟监测点一一对应(因为每一个监测点不同,所以加的专用事件监测代码在命名和属性设定上也不同,每个监测点都要加一个专属于自己的事件监测代码),不能错加或者漏加,这是一个繁琐的工作,且很容易出现错误,并且维护成本高。
所以基于上述问题,本申请的发明人首先构思了一种曝光数据采集方法,通过无埋点的方式,采集界面中可视化对象的曝光数据。无埋点是指开发人员集成采集SDK后,SDK便直接开始捕捉和监测用户在应用里的所有行为,并全部上报,不需要开发人员添加额外代码;或者是说用户展现界面元素时,通过控件绑定触发事件,事件被触发的时候***会有相应的接口让开发者处理这些行为。所谓无埋点技术,并非完全不用埋点,而是不用在设置代码前先行定义需要采集的事件或功能,不需要工程师不断部署代码,客户加载了一段监测代码后,就可以在页面或者是应用程序自动进行埋点,智能抓取关键用户行为,实现快速收集数据。
发明人构思的无埋点曝光数据采集方法的整体思路是,通过定时轮询的方式,遍历网页信息中的各可视化对象,确定每个可视化对象的显示状态,当显示状态变化的可视化对象的显示状态满足曝光条件时,则上报显示状态变化且显示状态满足曝光条件的可视化对象的曝光数据。
所以通过本申请发明人构思的无埋点曝光数据采集方法能够解决通过埋点技术确定曝光数据的方法中存在的人工成本过高,后期维护成本高的问题。
但是本申请的发明人针对上述构思的无埋点曝光数据采集方法进行验证时,认为上述构思的无埋点曝光数据采集方法存在性能损耗的问题。
上述无埋点曝光数据采集方法中通过定时轮询的方式,遍历所有的可视化对象的显示状态,例如设置的轮询时间为0.01s,即每0.01s遍历一次所有可视化对象的显示状态,但是在0.01s内,可视化对象的显示状态未发生变化,则这一次遍历的结果就是没有可上报的可视化对象的曝光数据,造成了性能损耗的问题。
所以基于上述问题,本申请的发明人进一步构思了一种曝光数据采集方法,本申请实施例中的曝光数据采集方法,能够在确定当前目标界面加载的页面信息中,有可视化对象的显示状态发生变化时,确定需要上报曝光数据的目标可视化对象,并在目标可视化对象的显示状态满足曝光条件时,上报目标可视化对象的目标曝光数据。
在本申请实施中,不需要开发人员将埋点代码***到用户终端的业务代码中,不需要复杂的代码编写过程,解决了代码本身成本过高、后期维护成本高的问题,使得曝光数据采集的过程易于实施。
进一步地,在本申请实施例中,在可视化对象的显示状态发生变化时,才确定各可视化对象的显示状态,并不是实时重复确认各可视化对象的显示状态,减少了曝光数据采集过程中的状态查询过程,也进一步降低了曝光数据采集过程中的数据量,提高了整个曝光数据采集的效率。
在介绍了本申请的构思以及有益效果后,下面介绍本申请实施例使用的***架构图。
参考图3,其为本申请实施例适用的一种***架构图,该***架构至少包括M个终端设备301以及服务器302,M个终端设备301即图3中所示的终端设备301~1至终端设备301~M,M为正整数,M的值本申请实施例并不进行限制。
终端设备301中安装有客户端,该客户端由服务器302提供服务。终端设备301中的客户端可以是浏览器客户端、视频应用客户端、软件商店等应用客户端等。终端设备301中的客户端是各应用的客户端,即可以通过终端设备301运行各应用,并将终端301中各应用的曝光数据上报各应用对应的应用将服务器302。
终端设备301可以包括一个或多个处理器3011、存储器3012、与服务器302交互的I/O接口3013以及显示面板3014等。终端设备301可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
进一步地,终端设备301可以通过主动方式(例如通过软件商店应用下载)或者被动方式(预先安装)安装了各应用客户端,在开启各应用客户端后,监听终端设备301界面中显示的各应用页面信息包括的各可视化对象的显示状态,当确定有可视化对象的显示状态发生变化时,则遍历应用页面信息中包括的所有可视化对象的显示状态,确定至少一个可视化对象中,显示状态发生变化的目标可视化对象,并在确定目标可视化对象的显示状态满足曝光条件时,上报该目标可视化对象的曝光数据。
在本申请实施例中,服务器302为提供计算能力的终端设备,服务器302根据终端设备301上报的可视化对象的曝光数据,进行数据分析与统计。服务器302可以包括一个或多个处理器3021、存储器3022以及与终端设备301交互的I/O接口3023等。此外,服务器302还可以配置数据库3024。服务器302可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备301与服务器302可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,服务器302进行数据分析与统计后,可以将结果保存在存储器3022中,也可以保存在其它存储设备中,在此不做限定。
示例性的,终端设备301中安装了软件商店客户端,终端设备301在下载安装软件商店应用时,同时安装了SDK,用于监测终端设备301在启动软件商店客户端时,显示在终端设备301的界面中的应用页面信息,应用页面信息中包括多个可视化对象,当监听到有可视化对象的显示状态发生变化时,则遍历应用页面信息中包括的所有可视化对象的显示状态,确定显示状态发生变化的目标可视化对象,当确定目标可视化对象的显示状态满足曝光条件时,将目标可视化对象的曝光数据上报给软件商店应用对应的服务器302。
服务器302基于终端设备301上报的曝光数据,确定用户在使用安装软件商店应用时感兴趣的应用为体育类App,则将多个体育类App作为推送消息,发送给终端设备301。
当然,本申请实施例提供的方法并不限用于图3所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图3所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
基于上述设计思想以及上述应用场景,下面对本申请实施例的活体检测方法进行具体介绍。
如图4所示,本申请实施例提供一种曝光数据采集方法,具体包括:
步骤S401,确定目标界面加载的页面信息,页面信息中包括至少一个可视化对象。
具体的,在本申请实施例中,将当前用户使用的终端设备的显示界面,作为目标界面。在目标界面中,加载了显示信息,加载的显示信息在本申请实施例中表征为页面信息,页面信息中包括至少一个可视化对象,当然页面信息中还包括其它对象。页面信息可以是任一网页的信息,也可以是任一App中需要显示的信息。
在本申请实施例中,用户能够在终端设备的目标界面中看到的页面信息都是由各个可视化对象构成的,例如目标界面中显示的是即时通讯应用的会话信息,则每个显示的会话信息都是可视化对象,并且,在目标界面中还显示了即时通讯应用的各个功能控件,这些功能控件也是可视化对象。
当然,在本申请实施例中,页面信息还可以包括其它对象,在此不做限定。
在本申请实施例中,可视化对象至少存在两种状态,一种状态为显示状态,即用户能够在目标界面中看到该可视化对象,例如上述目标界面中显示的会话信息以及控件信息;一种状态为隐藏状态,即用户在目标界面中查看不到的页面信息。
在本申请实施例中,可视化对象的状态可以从显示状态变化为隐藏状态,也可以从隐藏状态变化为显示状态。
一种可选的实施例中,目标界面中的可视化对象可以在设定时间后从隐藏状态变为显示状态,例如,在页面信息中包括一个可视化对象,可视化对象在第一时刻隐藏在目标界面中,在第二时刻到达时,可视化对象显示在目标界面中。
另一种可选的实施例中,在本申请实施例中,目标界面中显示的页面信息可以是完整的页面信息,也可以是整个页面信息的一部分,也就是说,用户可以通过滑动页面信息的方式,将页面信息中的部分已经显示在目标界面中的可视化的对象的状态变为隐藏状态,也可以将页面信息中未显示在目标界面中的可视化对象的状态变为显示状态。
示例性的,如图5所示,在图5中显示的是目标界面中可视化对象的状态变化示意图。
用户首先在目标界面中看到的页面信息是“足球比赛评论文章A”、“足球比赛新问题B”以及“足球球星采访报道C”的三个文本类型的可视化对象,以及“朋友在看”、“精选”、“<”三个控件类型的可视化,为了便于解释,页面信息中还未显示的可视化对象用虚线表示,即页面信息还包括“篮球比赛新闻C”的文本类型的可视化对象。
当用户通过滑动页面信息的方式浏览页面信息时,则会将“足球比赛评论文章A”可视化对象的状态从显示状态变化为隐藏状态,将“篮球比赛新闻C”可视化对象的状态从隐藏状态变化为显示状态。
在本申请实施例中,目标界面可以加载不同的页面信息,所以在本申请实施例中,还需要确定当前目标界面加载的页面信息为具体哪一个页面信息。
具体的,可以通过确定加载的页面信息的标识信息,确定页面的具体信息,标识信息是每个页面信息的唯一表征。
页面的标识信息可以通过底层的监听指令,或者生命周期回调函数获得,即当需要加载页面中的页面时,通过生命周期回调函数能够获得页面的标识信息,也就能够确定目标界面中加载的是哪一个具体页面。
一种可选的实施例中,为了能够通过底层的监听指令或者生命周期回调函数获得页面信息,所以在用户下载安装浏览器或者应用时,会通过向终端设备的底层注册的方式来获得监听权限或者设置生命周期回调函数。
当然,在本申请实施例中,还有其它确定页面信息的方式,在本申请实施例中不做限定。
在本申请实施例中,当确定了页面信息后,也获得了页面信息中包括的所有对象,这些对象可以是可视化对象,即能够显示在目标界面中的对象,也可以包括不显示在目标界面中的其它对象。
一种可选的实施例中,页面信息中包括的各个对象具有层级或者嵌套关系,在获得页面信息后,也能够获取各个对象之间的层级或者嵌套关系。
可选的,在本申请实施例中,为了便于描述各个对象之间的关系,可以用树形结构来描述,即对象关系树,在确定页面信息的属性信息后,则可以获得对象关系树,并根据对象关系树确定各个对象的信息以及各个对象之间的关系。
在本申请实施例中,对象关系树中还可以表征对象群组的概念,即多个对象具有共同特性,多个对象构成一个对象群组。示例性的,当目标界面加载的页面信息为即时通讯应用的页面信息时,即时通讯应用具有多个功能模块,包括会话模块、通讯录模块、朋友动态模块,每个模块中包括多个对象,这些对象具有相关性,每个模块表示为一个对象群组。
例如,在图6中,目标界面中表示的即时应用页面信息,其中,当前显示的是会话模块对应的页面信息,在会话模块中包括三个会话记录,每个会话记录中包括头像可视化对象以及会话文本可视化对象,则将会话模块中所有的可视化对象作为该会话模块对应的对象群组中的对象。
一种可选的实施例中,属于同一对象群组中的各对象具有群组标识,能够从群组标识中确定每个对应属于的对象群组。
步骤S402,当监听到可视化对象显示状态变化时触发的通知消息时,确定至少一个可视化对象中,显示状态发生变化的目标可视化对象。
具体的,在本申请实施例中,当确定监听到通知消息时,再确定至少一个可视化对象中,显示状态发生变化的目标可视化对象。
在本申请实施例中,通知消息可以是在任一可视化对象显示状态发生变化时触发得到的,也可以是设定可视化对象显示状态发生变化是触发得到的,可以根据曝光数据采集的业务来进行设定,在本申请实施例中不做限定。
在本申请实施例中,可视化对象显示状态变化既可以表征存在可视化对象从隐藏状态变化为显示状态,也可以表征存在可视化对象从显示状态变化为隐藏状态。
进一步地,当监听到可视化对象显示状态变化时触发的通知消息时,表明当前存在至少一个可视化对象显示状态发生变化,显示状态发生变化的可视化对象的数量也不做限定。
在本申请实施例中,可以通过底层接口监听通知消息,也可以通过生命周期回调函数监听。
一种可选的实施例中,为了能够通过生命周期函数监听到通知消息,可以将页面信息中的管理对象替换为状态监测对象,并通过状态监测对象监测所述通知消息。
也就是说,页面信息中还可以包括管理对象,管理对象用于对页面信息中包括的各对象进行管理,一般性的,管理对象为非可视化对象。
一种具体的实施例中,页面信息中是通过根对象对页面信息中包括的其它对象进行管理的,所以可以将根对象替换为状态监测对象,通过状态监测对象监测通知消息。
在本申请实施例中,通过将根对象替换为状态监测对象的方法,能够从底层直接监听通知消息,而不用调用各接口进行监听,所以简化了接入成本。
在本申请实施例中,可以通过遍历页面信息中包括的所有对象,确定显示状态发生变化的目标可视化对象,综合上述实施例中的内容可知,目标可视化对象可以是从显示状态变化为隐藏状态的可视化对象,也可以是从隐藏状态变化为显示状态的可视化对象。
一种可选的实施例中,可以基于对象树遍历页面信息中包括的所有对象,并在遍历所有对象时,能够确定每个对象对应的对象群组的信息。
步骤S403,当目标可视化对象的显示状态满足曝光条件时,上报目标可视化对象的目标曝光数据。
具体的,在本申请实施例中,曝光条件可以是基于曝光数据采集业务设置的,也可以是通过其它方式设置的。
当目标可视化对象的显示状态与预设的曝光条件满足时,则可以认为该目标可视化对象就是曝光数据采集任务需要的可视化对象,并将该可视化对象的曝光数据上报。
在本申请实施例中,曝光条件可以是目标可视化对象的显示时间,也可以是目标可视化对象的显示面积,还可以同时考虑目标可视化对象的显示时间以及显示面积。
当然,曝光条件还以是其它限定条件,例如显示位置等,在此不做限定。
进一步地,在本申请实施例中,可以针对不同的目标可视化对象设置不同的曝光条件,例如,针对目标可视化对象1,设置曝光条件1,曝光条件1中包括显示时间1以及显示面积1,针对目标可视化对象2,设置曝光条件2,曝光条件2中包括显示时间2以及显示面积2,并且显示时间1与显示时间2不同,显示面积1与显示面积2不同。
可选的,在本申请实施例中,在对不同的可视化对象设置曝光条件后,可以基于可视化对象的标识信息,将可视化对象的标识信息对应的曝光条件进行保存,在需要判断目标可视化对象的显示状态是否满足曝光条件时,则可以基于目标可视化对象的标识信息,获得对应的曝光条件。
在本申请实施例中,目标可视化对象的显示状态与曝光条件对应,曝光条件中包括显示时间,则获取的目标可视化对象的显示状态为目标可视化对象的显示时间,同理,曝光条件中包括显示面积,则获取的目标可视化对象的显示状态为目标可视化对象的显示面积。
在本申请实施例中,当确定目标可视化对象的显示状态与对应的目标曝光条件匹配,则将目标可视化对象的目标曝光数据上报;若确定目标可视化对象的显示状态与对应的目标曝光条件不匹配,则不上报目标可视化对象的目标曝光数据。
具体的,在本申请实施例中,目标曝光数据可以是显示时长、显示面积等数据,也可以包括目标可视化对象的属性、页面位置等信息,在此不做具体限定。
在介绍了上述内容后,下面具体解释判断过程以及上报过程。
具体的,如图7所示,以可视化对象为View为例,进行说明;在遍历所有页面信息包括的View时,是基于页面信息对应的View树来进行遍历的。进一步地,曝光条件中包括显示时间以及显示时长两个信息,需要同时考虑View当前的显示时间以及显示时长。
针对任一View,当该View被遍历时,确定该View是否设置了设定的曝光条件,在图7中,首先查询该View对应的曝光条件中包括的显示面积,是否为设定的显示面积,若是,则获取该设定显示面积,若不是,则获得通用的曝光条件中的显示面积。
确定该View的显示面积是否与上述曝光条件中的面积匹配,若匹配,则进一步判断显示时间,显示时间的判断方法与显示面积的判断方法类似,在此不做展开叙述。
当该View的显示面积与上述曝光条件中的面积匹配,该View的显示时长与上述曝光条件中的时长匹配,则上报该View的曝光数据;当该View的显示面积与上述曝光条件中的面积不匹配,或者该View的显示时长与上述曝光条件中的时长不匹配,则不上报该View的曝光数据。
具体的,如图7所示,包括:
步骤S701,基于View树遍历View;
步骤S702,确定View是否有设定显示面积条件,若有,执行步骤S703,否则执行步骤S704;
步骤S703,获取设定显示面积条件;
步骤S704,获取View显示面积;
步骤S705,确定View显示面积是否满足条件,条件为设定显示面积条件或者为非设定显示面积条件,若满足则执行步骤S706,否则执行步骤S707;
步骤S706,确定View是否有设定显示时长条件,若有,则执行步骤S708,否则执行步骤S709;
步骤S707,不上报该View的曝光数据;
步骤S708,获取设定显示时长条件;
步骤S709,获取View显示时长;
步骤S710,确定View显示时长是否满足条件,条件为设定显示时长条件或者为非设定显示时长条件,若满足,则执行步骤S711,否则执行步骤S707;
步骤S711,上报View曝光数据。
在本申请实施例中,由于页面信息中可能群组对象,所以在本申请实施例中,所以在上报目标可视化对象的目标曝光数据后,还需要确定该目标可视化对象是否为目标群组中的群组对象。
目标群组可以是设定群组,也可以是任一群组,在此不做限定。
一种可选的实施例中,可以基于目标可视化对象的群组标识确定目标可视化对象是否为目标群组中的群组对象,若目标可视化对象为目标群组中的群组对象,则上报目标群组的群组曝光数据。可选的,若目标可视化对象不是目标群组中的群组对象,则不上报。
在本申请实施例中,群组曝光数据可以与目标群组中的群组对象的曝光数据相同,也可以不同。
示例性的,目标群组为即时通讯应用中多个会话文本可视化对象构成的对象群组,目标群组的曝光数据可以与每个会话文本可视化对象相同,也可以是会话背景信息等与每个会话文本可视化对象的曝光数据不同的数据。
进一步地,在本申请实施例中,由于一个目标群组中包括多个群组对象,所以可能存在多个群组对象将目标群组的曝光数据上报,所以为了避免重复上报的问题,还需要确定针对该目标群组是否已经进行了曝光数据的上报。
所以在本申请实施例中,在遍历每个可视化对象时,确定每个可视化对象是否属于目标群组,若不属于目标群组,则针对该可视化对象则使用前述非目标群组对象的曝光数据采集方法,而可视化对象属于目标群组,则确定该可视化对象的显示状态满足曝光条件时,上报该可视化对象的曝光数据;进一步地,当目标群组的曝光数据未被其他群组对象上报时,将目标群组的曝光数据上报。
示例性的,如图8所示,以可视化对象为View进行示例性说明,针对每个View,确定了View对应的群组信息,即若View为目标群组对象,则View具有目标群组标识,若View不是目标群组对象,则不具有目标群组标识。在本申请实施例中,目标群组用GroupView来表示。
在图8中,当View的显示状态满足曝光条件后,继续判断View是否具有GroupView的标识,若View具有GroupView的标识,则继续判断是否已经上报了GroupView的曝光数据;若View不存在GroupView的标识,则上报View的曝光数据。
当确定已经上报了GroupView的曝光数据,则只上报View的曝光数据,当确定未上报GroupView的曝光数据,则上报View的曝光数据以及GroupView的曝光数据。
在本申请实施例中,确定是否上报GroupView的曝光数据可以基于缓存信息来进行判断,在本申请实施例中,每次上报行为都进行缓存,缓存中可以按照目标可视化对象的标识信息、目标群组的标识信息进行缓存。所以基于目标群组的标识信息可以在缓存中确定否上报GroupView的曝光数据。
在本申请实施例中,为了便于描述,下面将View上报GroupView的曝光数据的曝光数据采集方法作为一种组曝光策略,则View不是GroupView中的对象,只需要上报View的曝光数据的曝光数据采集方法作为一种常规曝光策略。下面示例性介绍如何确定给View增加组曝光策略的标识。
如图9所示,遍历每个View,确定每个View的曝光策略,判断View的曝光策略是否为组曝光策略,若是组曝光策略,则将View加入到GroupView中,并给该View设置GroupView的标识;若View的曝光策略是常规曝光策略,则不需要设置GroupView的标识,通过常规曝光策略来确定是否需要将曝光数据上报的过程。
进一步地,在本申请实施例中,除了需要确定目标群组的曝光数据是否被上报以外,还可以确定是否存在重复上报目标可视化对象的曝光数据的情况。
在本申请实施例中,可以基于目标可视化对象的标识信息,在缓存中查询目标可视化对象的曝光数据是否已经上报;进一步地,在本申请实施例中,为了能够更准确的表征目标可视化对象的唯一性,所以还可以基于目标可视化对象的标识信息以及位置信息作为唯一标识,按照该唯一标识进行查询,同样的,缓存中也是基于目标可视化对象的标识信息以及位置信息进行保存的。
在本申请实施例中,位置信息指的是目标可视化对象在页面中的位置,示意性的,目标可视化对象在页面中的位置可以用坐标表示,也可以用其它位置信息表征,在本申请实施例中不做限定。
进一步地,在本申请实施例中,在目标界面中显示的部分页面信息是固定的,也就是说,只有当切换页面信息后,固定显示部分的页面信息才发生变更,所以在切换页面信息前,固定显示部分的可视化对象的状态只发生了一次变化,即从隐藏状态变换为显示状态。
所以在本申请实施例中,基于目标可视化对象的标识信息以及位置信息作为唯一标识进行缓存查询时,需要考虑目标可视化对象是否为固定显示部分对应的对象,若是则不需要进行缓存查询,因为固定显示部分对应的对象的位置信息没有变化。
若不是,则表征目标可视化对象的标识信息是可以在目标界面中滑动显示对象,由于在界面中的显示位置发生了变化,所以需要在上报曝光数据前,确定是否已经缓存。
具体的,下面结合具体示例进行说明,如图10所示,目标界面中存在固定显示可视化对象,图10中为“朋友在看”、“精选”两个可视化对象为固定显示可视化对象,“朋友在看”表征的是一个页面信息,“精选”表征的是一个页面信息,当“朋友在看”表征的页面信息未被切换为“精选”表征的是一个页面信息时,则“朋友在看”为“朋友在看”表征的页面信息中的固定显示可视化对象;当“朋友在看”表征的页面信息被切换为“精选”表征的是一个页面信息时,则“精选”为“精选”表征的页面信息中的固定显示可视化对象。
在图10中,除了固定显示可视化对象以外,还存在滑动显示对象,滑动显示对象可以在目标界面中滑动显示,在用户滑动页面信息时,滑动显示对象也随着滑动。滑动显示对象的滑动显示过程在目标界面中的位置发生了变化,在页面信息中的位置没有发生变化。
在图10中,“足球比赛新闻B”滑动显示对象随着用户的滑动,一直显示在目标界面中,当“足球比赛新闻B”滑动显示对象的曝光数据需要上报时,确定“足球比赛新闻B”滑动显示对象的曝光数据是否已经进行了缓存。
进一步地,在本申请实施例中,“足球比赛评论文章A”滑动显示对象在目标界面中的位置发生了变化,随着用户的滑动,“足球比赛评论文章A”滑动显示对象从在目标界面中显示状态变化为隐藏状态,又从隐藏状态变化为显示状态,所以“足球比赛评论文章A”滑动显示对象的显示状态发生了变化,若显示状态变化的相隔时间小于设定时间,则说明用户可能在寻找感兴趣的内容,而将“足球比赛评论文章A”滑动显示对象的曝光数据重复上报不具有参考意义,所以在上报“足球比赛评论文章A”滑动显示对象的曝光数据前,还需要确定“足球比赛评论文章A”滑动显示对象上次上报时间,便于确定是否需要将“足球比赛评论文章A”滑动显示对象的曝光数据上报。
所以在上报“足球比赛评论文章A”滑动显示对象的曝光数据时,首先需要确定“足球比赛评论文章A”滑动显示对象的曝光数据上次上报时间,确定显示状态变化的相隔时间是否小于设定时间,若小于设定时间则不上报。可选的,在本申请实施例中,若确定显示状态变化的相隔时间小于设定时间,则不需要上报,若确定显示状态变化的相隔时间不小于设定时间,则需要确定缓存中是否存在曝光数据。
综上所述,在本申请实施例中,既可以仅根据可视化对象的标识信息,确定缓存中是否已经存在该可视化对象的曝光数据;进一步地,还需要可视化对象是否为滑动显示对象来确定缓存中是否存在曝光数据,具体的,若可视化对象为滑动显示对象,则基于可视化对象的标识信息以及页面的位置信息确定缓存中是否存在曝光数据。
还有一种查询缓存的方法,确定两次上报曝光数据之间的时间差,若时间差小于设定时间,则不上报;若确定时间差不小于设定时间,则需要确定缓存中是否存在曝光数据。
具体的,如图11所示,通过流程图来说明基于标识信息以及位置信息确定是否上报曝光数据的过程。
在图11中,还是以可视化对象为View进行说明,经过判断,View的显示状态已经满足了曝光条件,确定View是否为滑动显示对象,若View是滑动显示对象,则获取View的标识信息和View在页面中的位置信息,并拉取缓存信息;基于View的标识信息和View在页面中的位置信息确定缓存中是否已经存在了该View的曝光数据,若存在,则不上报,若不存在,则上报。
若View不是滑动显示对象,可以基于标识信息确定缓存中否已经存在了该View的曝光数据,若存在,则不上报,若不存在,则上报。
在本申请实施例中,还要一种可选的实施例,在遍历每个可视化对象的显示状态时,还可以针对显示状态未发生变化的非目标可视化对象进行处理。
在本申请实施例中,确定非目标可视化对象的曝光数据的上报时间,若确定上报时间与当前时间的时间差满足再次上报时间条件时,则可以将非目标可视化对象的曝光数据再次上报。
也就是说,在本申请实施例中,针对已经显示在目标界面中且已上报曝光数据的可视化对象,经过设定时间后,可以再次上报曝光数据,保证曝光数据采集的准确性。
在本申请实施例中,除了可以采集目标可视化对象的目标曝光数据并上报以外,还可以确定其它的可视化对象的数据,例如,可以确定页面中各对象的显示时长等信息。
在本申请实施例中,可以基于可视化对象在目标界面中的显示焦点来确定可视化对象的显示时长。
具体的,针对任一可视化对象,若确定可视化对象具有页面时长统计标签,则根据可视化对象在目标界面中具有界面显示焦点的第一时刻,以及可视化对象在目标界面中不具有界面显示焦点的第二时刻确定可视化对象的显示时长,并上报显示时长。
在本申请实施例中,获取可视化对象的具有显示焦点信息可以是通过可视化对象的生命周期回调函数来确定。
在本申请实施例中,可视化对象有多个,所以需要确定每个可视化对象的具有焦点并可见的时间以及不具有焦点的时间。
还有一种可选的实施例中,并不需要针对所有的可视化对象统计显示时长,只需要统计设定的可视化对象,可以通过设置标签的方式,确定设定的可视化对象。标签可以是统计标签,或者是其它标签,在本申请实施例中不做限定。
进一步地,还可以在确定可视化对象的具有焦点后,确定可视化对象是否具有统计标签,若有统计标签,则统计该可视化对象的显示时长,若不具有统计标签,则不需要统计该可视化对象的显示时长。
在本申请实施例中,为了能够保证统计的是可视化对象的显示时长,即保证统计数据的准确性,所以还需要确定该可视化对象是否已经显示在目标界面中,若未显示,则不能开始统计可视化对象的显示时长。
示例性的,如图12所示,以可视化对象为View为例说明确定可视化对象的显示时刻的步骤。
具体的,在图12中,通过生命周期回调函数attachToRootView来获取View的显示信息。
确定View是否有焦点,若没有焦点,则不确定View的开始显示时刻,若存在焦点,则判断该View是否具有统计标签,在本申请实施例中,统计标签表示的是将View作为一个页面;当View不具有统计标签,则确定View的开始显示时刻,若View具有统计标签,则确定View在目标界面中是否可见;若不可见,则不确定View的开始显示时刻,若可见,则确定View的开始显示时刻。
基于同样的道理,在确定View不具有焦点时的判断过程可以如图13所示。
同样的,生命周期回调函数attachToRootView来获取View的显示信息。确定判断该View是否具有统计标签,若没有,则不确定View的隐藏时刻;若有,则确定View是否有焦点,若没有焦点,则确定View的隐藏时刻;若有焦点,则继续判断View在目标界面中是否可见,若可见,则不确定View的隐藏时刻;若不可见,则确定View的隐藏时刻。
在本申请实施例中,除了可以确定可视化对象的显示时长以外,还可以确定目标界面中其它对象的显示时长,这些对象可以包括目标界面中页面信息的整体显示时长,以及目标界面中部分页面信息的显示时长。
例如,在目标界面中,整体页面信息由多个部分页面信息构成,可以统计整体页面信息的显示时长,也可以统计每个部分页面信息的显示时长。
具体的,整体页面信息的显示时长可以基于页面周期进行统计,即页面加载到页面停止加载的时间作为该整体页面信息的统计时长。在本申请实施例中,可以通过页面信息的生命周期回调函数确定页面信息。
对于每个部分页面信息,可以基于该部分页面信息的从目标界面中可见到不可见的时间信息,来确定部分页面信息的显示时长。在本申请实施例中,可以通过部分页面信息的生命周期回调函数确定部分页面的页面信息。
示例性,为了便于理解,用活动Activity表示整体页面信息、用碎片Fragment作为部分页面信息进行描述,具体解释统计限时时长的过程。
活动Activity代表了一个具有用户界面的单一屏幕,如窗口或者帧。我们可以把Activity理解为用户打开一个App界面就称之为一个Activity,提供了用户与屏幕之间的互动,以便于用户进行操作,一个Activity可以充满整个屏幕,也可以遮住屏幕的一部分。
Activity在***中被活动堆栈管理。当一个新的Activity开始时,将会强加于堆栈的顶端并成为运行Activity状态。而之前的Activity总是被放置在这个Activity下面的堆栈中,并且不会被移动到前台直到新的Activity退出为止。
在本申请实施例中,确定Activity进入事件时机,即确定Activity.onResume()的时间,为Activity的开始显示时刻;确定页面退出事件时机,即确定Activity.onPause()的时间,为Activity的隐藏时刻,通过开始显示时刻以及隐藏时刻,能够确定Activity的显示时长。
在本申请实施例中,碎片Fragmen是Activity的一部分,使得Activity更加的模块化设计。
Fragment依赖于Activity而存在,并且存在一个Activity中会预加载多个Fragment的情况,因此不能简单通过Fragment的生命周期来计算当前Fragment的时长。
在本申请实施例中,Fragment的显示时长可以基于Fragment的可见性进行判断,具体的,在本申请实施例中,可以通过Fragment的生命周期回调函数fragment.getUserVisibleHint()来判断Fragment是否开始(结束)一个页面周期。
与确定Activity的显示时长的过程相似,也需要确定Fragment的进入事件时刻以及Fragment的退出事件时刻。
在本申请实施例中,由于Activity中存在多个Fragment,各Fragment之间会存在嵌套关系,所以在Fragment的进入事件时刻时,需要确定父Fragment与各子Fragment的显示状态。
具体的,在本申请实施例中,Fragment页面进入事件时刻为:当前Fragment可见(如果有父fragment的情况下,要求父fragment也可见);Fragment页面退出事件时机:Fragment不可见时(如果父Fragment不可见,其子Fragment也默认是不可见)。
下面结合图14、图15以及图16具体解释确定各Fragment显示时长的流程。
首先,在图14中,通过各Fragment的生命周期回调函数onFragmerntResumed()来确定各Fragment的进入时刻,然后将进入时刻加入到统计表中,然后继续遍历下一个Fragment;同时,在本申请实施例中,通过各Fragment的生命周期回调函数onFragmerntPause()来确定各Fragment的退出时刻。所以通过上述内容可知,确定各Fragment的显示时长时,具体有两个操作,一个是确定是否有新增可见的Fragment;一个是是否有Fragment变成不可见。
在图15中,介绍的是确定是否有新增可见的Fragment的具体过程。
具体的过程为,从Fragment列表中确定是否还有其他Fragment未被遍历到,若有,则遍历该Fragment,确定该Fragment是否可见,若可见,则将Fragment的进入时刻加入到统计表中;若不可见,则返回到从Fragment列表中确定是否还有其他Fragment未被遍历到的步骤。
在本申请实施例中,若从Fragment列表中确定没有其他Fragment未被遍历到,则停止遍历。
如图16所示,介绍是确定是否有新增不可见的Fragment的具体过程。与确定是否有新增可见的Fragment的具体过程类似,在本申请实施例中,从Fragment列表中确定是否还有其他Fragment未被遍历到,若有,则遍历该Fragment,确定该Fragment是否可见;若不可见,则确定该Fragment的退出时刻,从Fragment列表中删除该Fragment;若可见,则返回从Fragment列表中确定是否还有其他Fragment未被遍历到的步骤。
在本申请实施例中,若从Fragment列表中确定没有其他Fragment未被遍历到,则停止遍历。
通过上述各实施例示例性的解释了确定整体页面信息的显示时长、部分页面信息的显示时长的过程,当然还有其它确定显示时长的方法,在此不做赘述。
在本申请实施例中,还可以确定用户针对页面信息的翻屏率,即用户通过滑动浏览的方式,触发了翻屏行为,在此首先对翻屏进行定义,在本申请实施例中,当用户在目标界面中浏览了超过一整个目标界面区域的页面信息,则可以确定用户触发了针对目标界面的翻屏行为。
在本申请实施例中,可以基于目标界面的高度以及用户能够在该目标界面中滑动的距离,来确定翻屏率。
一种可选的实施例中,可以在用户开始活动时,在目标界面中确定基准位置,确定当前位于基准位置的页面信息中的第一可视化对象;当用户滑动界面中的页面信息后,确定当前位于基准位置的页面信息中的第二可视化对象。
在本申请实施例中,第二可视化对象可以是用户滑动最大距离后,位于基准位置的可视化对象,也可以是位于设定位置的可视化对象。
一种可选的计算翻屏率的方法,假设目标界面的高度为height,用户在目标界面中滑动的最大距离为scroll_y,则该次浏览用户的翻屏率flip_tate如公式1所示:
flip_tate=(scroll_y+height)/height 公式1
在本申请实施例中,可以通过底层函数getPageMaxScrollY来获取用户在目标界面中滑动的最大距离,不同的页面信息可以通过不同的底层函数来确定目标界面中滑动的最大距离。
下面结合图17解释用户滑动最大距离时,如何确定第一可视化对象以及第二可视化对象,并确定公式1中的scroll_y、height。
在图17中显示的是页面信息从顶部可视化对象开始滑动,并将底部可视化对象显示在目标界面中,就是页面信息能够滑动的最大距离。
在目标界面中设定了基准位置,在顶部可视化对象显示在目标界面时,页面信息中的第一可视化对象位于基准位置,并将底部可视化对象显示在目标界面中时,页面信息中的第二可视化对象位于基准位置,在图17中,页面信息中的底部可视化对象位于基准位置,所以页面信息的第一可视化对象与底部可视化对象之间的距离定义为scroll_y。在图17中目标界面的高度用height。
在得到scroll_y以及height可以基于公式1确定翻屏率flip_tate。
在本申请实施例中,可以通过滑动的回调来判断当前各可视化对象滑动到哪个页面位置,并记录到已滑动的高度中,当获取滑动距离时,通过判断当前的状态进而进行补偿的操作来完成滑动距离的精细化记录;
在本申请实施例中,当用户下载并按照应用软件、或者打开浏览器时,同时安装了SDK,从而能够进行上述实施例中的曝光数据采集方法;在本申请实施例中,SDK的具体结构可以如图18所示,在图18找那个,包括接入层、事件层、监测层、上报层以及配置管理层,具体的,配置管理层可以对其他层进行管理,也可以对SDK进行设置,还可以对页面信息中的各可视化对象进行曝光参数、曝光策略的设置。
接入层、事件层以及接入层共同监测各可视化对象的显示状态,并获取各可视化对象的曝光数据,上报层用于上报曝光数据。
当然,上述只是一种可选的SDK结构,还有其它SDK结构,在此不做赘述。
在本申请实施例中,能够在有可视化对象的显示状态变化时,再遍历各可视化对象的显示状态,并且,在本申请实施例中,可以通过设置常规曝光策略以及组曝光策略,灵活实现了多种曝光方法;在本申请实施例中,还可以统计可视化对象的显示时长以及统计用户针对目标界面的翻屏率,便于曝光数据采集业务的统计,丰富了统计的信息内容。
基于相同的技术构思,本申请实施例提供了一种曝光数据采集装置1900,如图19所示,包括:
页面信息确定单元1901,用于确定目标界面加载的页面信息,页面信息中包括至少一个可视化对象;
目标可视化对象确定单元1902,用于当监听到可视化对象显示状态变化时触发的通知消息时,确定至少一个可视化对象中,显示状态发生变化的目标可视化对象;
曝光数据上报单元1903,用于当目标可视化对象的显示状态满足曝光条件时,上报目标可视化对象的目标曝光数据。
可选的,目标可视化对象确定单元1902还用于:
基于任一目标可视化对象的目标标识信息,从至少一个曝光条件中,确定与目标标识信息匹配的目标曝光条件,确定目标可视化对象的显示状态与目标曝光条件是否匹配。
可选的,曝光数据上报单元1903还用于:
确定目标可视化对象是否为目标群组中的群组对象,群组包括多个群组对象;
若确定目标可视化对象为群组对象,则上报目标群组的群组曝光数据。
可选的,曝光数据上报单元1903还用于:
基于目标可视化对象的标识信息以及位置信息,确定在已缓存曝光数据中不存在目标可视化对象的目标曝光数据,已缓存对象数据是根据已上报对象数据的其它目标上报对象的其它目标曝光数据确定的。
可选的,曝光数据上报单元1903还用于:
确定目标可视化对象为界面滑动显示对象。
可选的,曝光数据上报单元1903还用于:
若确定目标可视化对象为界面滑动显示对象,且基于目标可视化对象的标识信息以及位置信息,确定在已缓存对象数据中已存在目标可视化对象的目标曝光数据,则不上报目标曝光数据,滑动显示对象表征目标可视化对象可以在目标界面中滑动显示的可视化对象。
可选的,装置1900还包括:
时长统计单元1904,用于针对任一可视化对象,若确定可视化对象具有页面时长统计标签,则根据可视化对象在目标界面中具有界面显示焦点的第一时刻,以及可视化对象在目标界面中不具有界面显示焦点的第二时刻确定可视化对象的显示时长,并上报显示时长。
可选的,装置1900还包括:
翻屏率统计单元1905,用于在目标界面中确定基准位置;
基于目标页面信息开始滑动时刻位于基准位置的第一可视化对象,以及目标页面信息停止滑动时刻位于基准位置的第二可视化对象,确定目标页面信息的滑动距离;
基于目标页面信息的滑动距离以及目标界面的界面高度确定针对目标页面信息的翻屏率。
可选的,装置1900还包括:
非目标可视化对象确定单元1906,用于确定至少一个可视化对象中,显示状态未发生变化的非目标可视化对象以及非目标可视化对象的曝光数据的上报时间;
若确定上报时间与当前时间的时间差满足再次上报时间条件时,则上报非目标可视化对象的曝光数据。
可选的,页面信息确定单元1901还用于:
将页面信息中的管理对象替换为状态监测对象,并通过状态监测对象监测通知消息。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图20所示,包括至少一个处理器2001,以及与至少一个处理器连接的存储器2002,本申请实施例中不限定处理器2001与存储器2002之间的具体连接介质,图20中处理器2001和存储器2002之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器2002存储有可被至少一个处理器2001执行的指令,至少一个处理器2001通过执行存储器2002存储的指令,可以执行前述的曝光数据采集方法中所包括的步骤。
其中,处理器2001是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器2002内的指令以及调用存储在存储器2002内的数据,从而创建虚拟机。可选的,处理器2001可包括一个或多个处理单元,处理器2001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器2001中。在一些实施例中,处理器2001和存储器2002可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器2001可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器2002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器2002可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器2002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器2002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行曝光数据采集方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种曝光数据采集方法,其特征在于,所述方法包括:
确定目标界面加载的页面信息,所述页面信息中包括至少一个可视化对象;
当监听到可视化对象显示状态变化时触发的通知消息时,确定所述至少一个可视化对象中,显示状态发生变化的目标可视化对象;
当所述目标可视化对象的显示状态满足曝光条件时,上报所述目标可视化对象的目标曝光数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于任一所述目标可视化对象的目标标识信息,从至少一个曝光条件中,确定与所述目标标识信息匹配的目标曝光条件,确定所述目标可视化对象的显示状态与所述目标曝光条件是否匹配。
3.根据权利要求1所述的方法,其特征在于,所述将上报所述目标可视化对象的目标曝光数据后,还包括:
确定所述目标可视化对象是否为目标群组中的群组对象,所述群组包括多个群组对象;
若确定所述目标可视化对象为所述群组对象,则上报所述目标群组的群组曝光数据。
4.根据权利要求1所述的方法,其特征在于,所述当所述目标可视化对象的显示状态满足曝光条件后,还包括:
基于所述目标可视化对象的标识信息以及位置信息,确定在已缓存曝光数据中不存在所述目标可视化对象的所述目标曝光数据,所述已缓存对象数据是根据已上报对象数据的其它所述目标上报对象的其它目标曝光数据确定的。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标可视化对象的标识信息以及位置信息,确定在已缓存曝光数据中不存在所述目标可视化对象的所述目标曝光数据前,还包括:
确定所述目标可视化对象为界面滑动显示对象。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若确定所述目标可视化对象为界面滑动显示对象,且基于所述目标可视化对象的标识信息以及位置信息,确定在已缓存对象数据中已存在所述目标可视化对象的所述目标曝光数据,则不上报所述目标曝光数据,所述滑动显示对象表征所述目标可视化对象可以在所述目标界面中滑动显示的可视化对象。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对任一所述可视化对象,若确定所述可视化对象具有页面时长统计标签,则根据所述可视化对象在所述目标界面中具有界面显示焦点的第一时刻,以及所述可视化对象在所述目标界面中不具有所述界面显示焦点的第二时刻确定所述可视化对象的显示时长,并上报所述显示时长。
8.根据权利要求1所述的方法,其特征在于,所述目标界面加载的页面信息为目标页面信息中的部分信息,所述方法还包括:
在所述目标界面中确定基准位置;
基于所述目标页面信息开始滑动时刻位于所述基准位置的第一可视化对象,以及所述目标页面信息停止滑动时刻位于所述基准位置的第二可视化对象,确定所述目标页面信息的滑动距离;
基于所述目标页面信息的所述滑动距离以及所述目标界面的界面高度确定针对所述目标页面信息的翻屏率。
9.根据权利要求1所述的方法,其特征在于,所述当监听到可视化对象显示状态变化时触发的通知消息后,所述方法还包括:
确定所述至少一个可视化对象中,显示状态未发生变化的非目标可视化对象以及非目标可视化对象的曝光数据的上报时间;
若确定所述上报时间与当前时间的时间差满足再次上报时间条件时,则上报所述非目标可视化对象的曝光数据。
10.根据权利要求1所述的方法,其特征在于,所述确定目标界面加载的页面信息后,还包括:
将所述页面信息中的管理对象替换为状态监测对象,并通过所述状态监测对象监测所述通知消息。
11.一种曝光数据采集装置,其特征在于,包括:
页面信息确定单元,用于确定目标界面加载的页面信息,所述页面信息中包括至少一个可视化对象;
目标可视化对象确定单元,用于当监听到可视化对象显示状态变化时触发的通知消息时,确定所述至少一个可视化对象中,显示状态发生变化的目标可视化对象;
曝光数据上报单元,用于当所述目标可视化对象的显示状态满足曝光条件时,上报所述目标可视化对象的目标曝光数据。
12.根据权利要求11所述的装置,其特征在于,所述目标可视化对象确定单元还用于:
基于任一所述目标可视化对象的目标标识信息,从至少一个曝光条件中,确定与所述目标标识信息匹配的目标曝光条件,确定所述目标可视化对象的显示状态与所述目标曝光条件是否匹配。
13.根据权利要求11所述的装置,其特征在于,所述曝光数据上报单元还用于:
确定所述目标可视化对象是否为目标群组中的群组对象,所述群组包括多个群组对象;
若确定所述目标可视化对象为所述群组对象,则上报所述目标群组的群组曝光数据。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~10任一权利要求所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~10任一权利要求所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011074718.7A CN114328072B (zh) | 2020-10-09 | 一种曝光数据采集方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011074718.7A CN114328072B (zh) | 2020-10-09 | 一种曝光数据采集方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328072A true CN114328072A (zh) | 2022-04-12 |
CN114328072B CN114328072B (zh) | 2024-07-26 |
Family
ID=
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0920193D0 (en) * | 2008-11-18 | 2010-01-06 | Mcknight Thomas R | Cooperative measurement technique for the determination of internet web page exposure and viewing behavior |
CN101894018A (zh) * | 2010-05-31 | 2010-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种维护控件状态信息的方法及装置 |
US20110047507A1 (en) * | 2009-05-15 | 2011-02-24 | Invensys Systems, Inc. | Graphically displaying manufacturing execution system information data elements according to a pre-defined spatial positioning scheme |
CN102833183A (zh) * | 2012-08-16 | 2012-12-19 | 上海量明科技发展有限公司 | 移动即时通信交互界面的方法、客户端及*** |
WO2017167042A1 (zh) * | 2016-04-01 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN108846116A (zh) * | 2018-06-26 | 2018-11-20 | 北京京东金融科技控股有限公司 | 网页曝光数据采集方法、***、电子设备和存储介质 |
US20190026212A1 (en) * | 2013-10-04 | 2019-01-24 | Verto Analytics Oy | Metering user behaviour and engagement with user interface in terminal devices |
CN111125591A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 曝光信息的统计方法、装置、终端及存储介质 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0920193D0 (en) * | 2008-11-18 | 2010-01-06 | Mcknight Thomas R | Cooperative measurement technique for the determination of internet web page exposure and viewing behavior |
US20110047507A1 (en) * | 2009-05-15 | 2011-02-24 | Invensys Systems, Inc. | Graphically displaying manufacturing execution system information data elements according to a pre-defined spatial positioning scheme |
CN101894018A (zh) * | 2010-05-31 | 2010-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种维护控件状态信息的方法及装置 |
CN102833183A (zh) * | 2012-08-16 | 2012-12-19 | 上海量明科技发展有限公司 | 移动即时通信交互界面的方法、客户端及*** |
US20190026212A1 (en) * | 2013-10-04 | 2019-01-24 | Verto Analytics Oy | Metering user behaviour and engagement with user interface in terminal devices |
WO2017167042A1 (zh) * | 2016-04-01 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 前端用户行为统计方法及装置 |
CN108846116A (zh) * | 2018-06-26 | 2018-11-20 | 北京京东金融科技控股有限公司 | 网页曝光数据采集方法、***、电子设备和存储介质 |
CN111125591A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 曝光信息的统计方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
QINGLIANGHU: "大厂经验:Android端埋点自动采集技术原理剖析", pages 1 - 8, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/147602858> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363602B (zh) | 智能ui界面布局方法、装置、终端设备及存储介质 | |
CN108874289B (zh) | 应用历史记录查看方法、装置及电子设备 | |
US20120303552A1 (en) | Techniques to track users and user metrics for a website | |
CN105898209A (zh) | 视频平台监控分析*** | |
CN110457615A (zh) | 个性化页面的展示处理方法、装置、设备及可读存储介质 | |
CN103443781A (zh) | 数据递送 | |
CN112394908A (zh) | 埋点页面自动生成的方法、装置、计算机设备及存储介质 | |
CN110908880B (zh) | 埋点代码注入方法、事件上报方法及其相关设备 | |
CN109803152A (zh) | 违规审核方法、装置、电子设备以及存储介质 | |
CN111581069A (zh) | 一种数据处理方法及装置 | |
WO2021189766A1 (zh) | 数据可视化方法及相关设备 | |
CN115544183A (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN114356712B (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN115445212A (zh) | 一种游戏礼包的推送方法、装置、计算机设备和存储介质 | |
CN115168166A (zh) | 业务数据变更的记录方法、装置、设备及存储介质 | |
CN113609409A (zh) | 一种推荐浏览信息的方法及其***、电子设备、存储介质 | |
CN110442782B (zh) | 一种云资源检索方法与装置 | |
CN112506733A (zh) | 一种用户行为数据的精细化分析方法、装置、设备和介质 | |
CN111683280A (zh) | 视频处理方法、装置及电子设备 | |
CN114328072B (zh) | 一种曝光数据采集方法及装置 | |
CN114328072A (zh) | 一种曝光数据采集方法及装置 | |
CN116186119A (zh) | 用户行为分析方法、装置、设备及存储介质 | |
CN113672660B (zh) | 一种数据查询方法、装置及设备 | |
CN115129809A (zh) | 用户活跃度的确定方法、装置、电子设备及存储介质 | |
CN114090392A (zh) | 页面浏览时长统计方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |