CN114138158B - 一种检测视图可见性的方法、装置及计算设备 - Google Patents

一种检测视图可见性的方法、装置及计算设备 Download PDF

Info

Publication number
CN114138158B
CN114138158B CN202010916823.4A CN202010916823A CN114138158B CN 114138158 B CN114138158 B CN 114138158B CN 202010916823 A CN202010916823 A CN 202010916823A CN 114138158 B CN114138158 B CN 114138158B
Authority
CN
China
Prior art keywords
view
target
display area
relative
coordinate information
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.)
Active
Application number
CN202010916823.4A
Other languages
English (en)
Other versions
CN114138158A (zh
Inventor
何鑫
邱良雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010916823.4A priority Critical patent/CN114138158B/zh
Publication of CN114138158A publication Critical patent/CN114138158A/zh
Application granted granted Critical
Publication of CN114138158B publication Critical patent/CN114138158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种检测视图可见性的方法、装置及计算设备,属于计算机技术领域,该方法包括:获得滚动组件内的目标视图相对于屏幕中的目标显示区域的第一相对坐标信息,滚动组件用于在目标显示区域中滚动以显示至少一个视图;根据所述第一相对坐标信息和所述目标显示区域的区域坐标信息,确定所述目标视图和所述目标显示区域的相对位置关系;根据所述相对位置关系确定所述目标视图的可见性状态。如此,通过即时的坐标信息对视图相对于屏幕中的目标显示区域的可见性状态的检测,这样在视图的任何可见性状态下都可以对其进行检测,提高了检测的准确性和全面性,从而提升了对视图的可见性检测的检测效果。

Description

一种检测视图可见性的方法、装置及计算设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种检测视图可见性的方法、装置及计算设备。
背景技术
移动端的较多展示场景采用的是可滚动的长列表的展示方式,在该种展示方式中一般是以多视图(view)的形式来展示信息流,比如以多视图的形式展示资讯和短视频等,各个视图都有自己的可见性生命周期,可通过视图相对屏幕的可见性状态来表示视图的可见性,例如视图在屏幕内是否完全可见、是否完全不可见等等。
相关技术中,一般是调用***提供的应用程序接口(Application ProgrammingInterface,API)接口来监听视图的可见性状态,例如通过调用onAttachedToWindow接口或者onDetachedFromWindo接口来检测视图的可见性状态,然而调用的API接口一般是针对视图所附着的窗口(window)设计的,所以可见性检测结果是相对于视图所附着的窗口而并非是用户能够直观看到的屏幕,由于窗口与屏幕并不是一个概念,所以检测结果可能并不准确。并且,调用API接口来检测视图的可见性状态的方式,一般只能对特定类型的可见性状态进行检测,而无法对可见性状态进行全面的检测,所以会出现漏检的情形。
也就是说,相关技术中调用API接口来检测视图的可见性状态的方式,检测的视图可见性状态可能检测出错,检测的准确性较低,并且检测不够全面,检测效果较差。
发明内容
本申请实施例提供一种检测视图可见性的方法、装置及计算设备,用于提供一种可对视图的可见性状态进行实时检测的方案,提高视图可见性状态检测的有效性和全面性,提升视图可见性状态的检测效果。
一方面,提供一种检测视图可见性的方法,所述方法包括:
获得滚动组件内的目标视图相对于目标显示区域的第一相对坐标信息,所述滚动组件用于在所述目标显示区域中滚动以显示至少一个视图,所述目标显示区域位于屏幕中;
根据所述第一相对坐标信息和所述目标显示区域的区域坐标信息,确定所述目标视图和所述目标显示区域的相对位置关系;
根据所述相对位置关系确定所述目标视图的可见性状态。
一方面,提供一种检测视图可见性的装置,所述装置包括:
获得模块,用于获得滚动组件内的目标视图相对于目标显示区域的第一相对坐标信息,所述滚动组件用于在所述目标显示区域中滚动以显示至少一个视图,所述目标显示区域位于屏幕中;
第一确定模块,用于根据所述第一相对坐标信息和所述目标显示区域的区域坐标信息,确定所述目标视图和所述目标显示区域的相对位置关系;
第二确定模块,用于根据所述相对位置关系确定所述目标视图的可见性状态。
可选的,获得模块用于:
响应于针对所述滚动组件的滚动操作,确定所述滚动组件相对于所述目标显示区域的滚动距离信息;
根据所述目标视图相对于所述滚动组件的第二相对坐标信息和所述滚动距离信息,确定所述第一相对坐标信息。
可选的,获得模块用于:
根据所述滚动操作确定所述滚动组件的滚动方向;
根据所述第二相对坐标信息、所述滚动距离信息、所述滚动方向确定所述第一相对坐标信息。
可选的,第二确定模块用于:
若所述相对位置关系表明所述目标视图部分位于所述目标显示区域内,则所述可见性状态为部分可见状态;
若所述相对位置关系表明所述目标视图全部位于所述目标显示区域内,则所述可见性状态为完全可见状态;
若所述相对位置关系表明所述目标视图未位于所述目标显示区域内,则所述可见性状态为不可见状态。
可选的,所述装置还包括存储模块,用于将所述第一相对坐标信息和所述可见性状态与所述目标视图关联保存。
可选的,所述装置还包括第三确定模块,用于将所述滚动组件内符合设定检测条件的视图确定为所述目标视图。
可选的,所述设定检测条件包括以下至少一种:
视图标识属于预定视图标识集合;或者,
视图类型为预定类型;或者,
视图尺寸满足设定尺寸条件;或者,
视图内容对应的热度值大于预定热度值,其中,视图的热度值表明用户对该视图对应的视图内容感兴趣的程度;或者,
视图内容与当前登录账号之间的匹配程度大于预定匹配程度。
可选的,所述预定视图标识集合中包括至少一个视图标识,以及与所述至少一个视图标识中的每个视图标识对应的历史可见性信息。
可选的,所述装置还包括播放模块,用于若所述可见性状态是完全可见状态且所述目标视图位于所述目标显示区域的指定显示区域,则播放所述目标视图对应的内容。
可选的,所述装置还包括播放模块,用于若所述可见性状态表明所述目标视图位于所述目标显示区域内,则播放与所述目标视图关联的预定动画特效。
可选的,所述装置还包括发送模块,用于根据所述可见性状态确定所述目标视图在所述屏幕中的展示数据,并将所述展示数据发送给服务器,其中,所述展示数据包括展示时长、展示次数、展示频率中的至少一种。
一方面,提供一种计算设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的检测视图可见性的方法包括的步骤。
一方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的检测视图可见性的方法包括的步骤。
一方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的检测视图可见性的方法包括的步骤。
本申请实施例中,对于滚动组件内需要进行可见性检测的目标视图,先获得该目标视图相对于屏幕中的目标显示区域的第一相对坐标信息,再根据第一相对坐标信息和目标显示区域的区域坐标信息确定目标视图和目标显示区域的相对位置关系,进而根据确定出的相对位置关系来确定目标视图的可见性状态。由于是将目标视图相对于屏幕中的目标显示区域的相对坐标信息直接与用户可见的目标显示区域对应的坐标信息进行匹配,这样可以准确地计算出两者之间的相对位置,从而提高检测视图的可见性状态的准确性,并且,是通过即时的坐标信息来进行相对于目标显示区域(直接对应屏幕)的可见性状态的检测,这样在视图的任何可见性状态下都可以对其进行实时检测,即可以检测目标视图在任意时刻的可见性状态,提高了检测的实时性和全面性,从而提升了对视图的可见性检测的检测效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为滚动组件、窗口、视图相对于屏幕的示意图;
图2为本申请实施例中的一种应用场景的示意图;
图3a为本申请实施例中的滚动组件中展示多视图的示意图;
图3b为本申请实施例中的滚动组件中展示多视图的示意图;
图4为本申请实施例中的检测视图可见性的方法的流程示意图;
图5为本申请实施例中的多个视图相对于滚动组件的相对位置的示意图;
图6为本申请实施例中的滚动组件在滚动前后中的各视图的位置示意图;
图7为本申请实施例中的各个目标视图的视图标识与可见性状态关联保存的示意图;
图8为本申请实施例中的滚动组件中的视图随着滚动组件的滚动呈现的可见性状态的变化过程的示意图;
图9为本申请实施例中的检测视图可见性的装置的结构示意图;
图10为本申请实施例中的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
以下对本文中涉及的部分用语进行说明,以便于本领域技术人员理解。
1、滚动组件,是***为用户提供一种列表显示的控件,使用它可以用来显示我们常见的列表形式,例如可以将信息流以列表的形式在设备的屏幕中展示,常见的滚动组件例如包括ListView、RecyleView等。
滚动组件具有相对屏幕位置可变的属性,具体来说,滚动组件支持滚动操作,根据滚动操作可以改变其相对于屏幕的位置。滚动组件的尺寸一般大于屏幕的尺寸,例如滚动组件的高度大于屏幕的高度,假设屏幕的尺寸是1080px×1920px(其中的px表示像素),即屏幕是宽度为1080px、高度为1920px的矩形,滚动组件的尺寸例如是960px×4000px或者1080px×4000px或者3000px×4000px等,滚动组件根据滚动操作的触发可以相对于1080px×1920px的屏幕区域向对应的方向滚动,例如可以相对于屏幕向上滚动、向下滚动、向左滚动、向右滚动。
滚动组件中可以包括一个或多个视图,滚动组件在屏幕滚动的过程中可以显示一个或多个视图,以向用户呈现不同的内容。
2、视图,例如可以理解为是安卓(Android)***中的view,是一种基本的用户界面(User Interface,UI)组件,是滚动组件中显示的条目,信息流在滚动组件中具体可以通过视图呈现,不同滚动组件支持的视图布局样式和视图尺寸可能不同,所以视图一般表示为屏幕上的一个矩形区域。
3、视图的可见性,可以通过视图的可见性状态来表示视图的可见性。视图的可见性是站在用户的角度来描述的,其中的“可见”是指在用户屏幕内可以看见,所以,从另一方面理解,视图的可见性是相对于屏幕而言的,即站在用户视觉来描述的,视图若显示在屏幕内对于用户而言就是“可见”,视图若未显示在屏幕内对于而言就是“不可见”。
根据视图在屏幕内的显示情况,视图的可见性状态包括以下几种:
1)将要可见状态,可用WillAppear表示,指视图还未进入屏幕但即将要进入屏幕,此时视图的区域边缘与屏幕的显示区域边缘靠近或者刚好接触。
2)部分可见状态,可用PartAppear表示,指视图在屏幕内显示了一部分但是并没有完全出现在屏幕内,即视图有部分区域显示在屏幕内,而其余区域未显示在屏幕内,也就是说,视图在屏幕内是部分可见的。
3)完全可见状态,可以用DidAppear表示,指视图在屏幕内是完全可见的,即,视图的全部区域均显示在屏幕内。
4)完全不可见状态,可用DidDisAppear表示,指视图在屏幕内是完全不可见的,即视图的全部区域均未显示在屏幕内。
按照不同划分维度,可用将视图划分为多种。例如,按照视图所处层级不同,可将视图划分为多级视图,例如一级视图、二级视图、三级视图等;又例如,按照视图的包含关系可以将视图划分为父视图和子视图,其中子视图位于父视图之内,子视图随着父视图的位置变化而变化,所以又可以将子视图称作是其对应父视图的嵌套视图;再例如,按照视图对应承载的视图内容不同,可将视图划分为多种类型的视图,例如是视频卡片视图、资讯卡片视图、标题视图、评论视图等。
4、窗口,例如可以理解为是Android***中的window,是一个顶层窗口查看和行为的一个抽象基类,是***底层提供的用于支持视图显示的逻辑组件,不一定有屏幕那么大,可以很大也可以很小,即窗口的大小和屏幕(屏幕对应的显示区域)的尺寸没有什么必然关系。
任何一个视图都是依附在其对应的窗口上,即,所有视图都是通过与其对应的窗口来呈现的,所以可以这么说,窗口是视图的直接管理者。
如图1所示的屏幕、滚动组件、窗口与视图的示意图,其中所示的屏幕,更准确的是指屏幕显示区域,即除去屏幕边框之外的可用于显示内容的显示区域。滚动组件内可以包括多个视图,并且每个视图附着于对应的窗口显示,图1中示例性地示出了三个视图(即视图1、视图2、视图3),这三个视图分别附着于各自对应的窗口(即窗口1、窗口2、窗口)进行显示,由于窗口是较为底层的概念,并且窗口并不会直接在屏幕中显示,所以在图1中是以虚线表示窗口的。各个视图均位于滚动组件内,并且如图1中所示的,此时的视图1和视图2均全部位于屏幕内,视图3却并未位于屏幕内,由于在实际显示时,滚动组件一般是直接以视图的方式呈现,而并不会显示边框,所以图1中也是虚线来表示滚动组件的。
5、连带模式业务,在以多视图进行长列表的滚动展示场景中,若某个视图进入到屏幕的指定位置(例如屏幕中间)即可自动播放,例如自动播放视频,即可将实现该功能的业务模式称作连带模式,此时无需用户手动操作,就可实现视频的自动播放逻辑,可以实现沉浸式的观看体验,提升用户使用体验。
以下介绍本申请的设计思想。
任意的view都有一套类似的可见性生命周期机制,如前所述的,相关技术中在检测视图的可见性时,一般是通过调用***提供的API接口进行监听,这种方式检测的准确性较低,并且容易出现漏检而导致可见性状态检测不够全面,所以整体的检测效果较差。
鉴于此,本申请实施例提供一种检测视图可见性的方法,在该方法中,将滚动组件在屏幕内可支持滚动的显示区域称作目标显示区域,对于滚动组件内需要进行可见性检测的目标视图,先获得该目标视图相对于目标显示区域的第一相对坐标信息,再根据第一相对坐标信息和目标显示区域的区域坐标信息确定目标视图和目标显示区域的相对位置关系,进而根据确定出的相对位置关系来确定目标视图的可见性状态。由于是将目标视图相对于屏幕内的目标显示区域的相对坐标信息直接与目标显示区域的坐标信息进行匹配,这样可以准确地计算出两者之间的相对位置,从而提高检测目标视图的可见性状态的准确性,并且,是通过即时的坐标信息来进行相对于目标显示区域(对应屏幕)的可见性状态的检测,这样在目标视图的任何可见性状态下都可以对其进行检测,即可以检测目标视图在任意时刻的可见性状态,提高了检测的实时性和全面性,从而提升了对视图的可见性检测的检测效果。
为更好地理解本申请实施例提供的技术方案,下面对本申请实施例提供的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参见图2,图2为本申请实施例中的检测视图可见性的方法适用的应用场景。在图2所示的应用场景中包括多个终端设备(图2中是以终端设备201、终端设备202为例)和服务器203,其中的服务器203可以是服务于内容推荐平台的服务器,例如是资讯推荐服务器或短视频推荐服务器,或者也可以是其它的业务服务器。各个终端设备与服务器203之间可以通信,各个终端设备与服务器203之间可以通过有线或者无线通信,各个终端设备与服务器203之间的通信网络包括但不限于广域网、城域网或局域网。
以终端设备201为例,用户可以触发终端设备201向服务器203发起推荐请求,在收到终端设备201发送的推荐请求之后,服务器203可以根据用户的相关信息向该用户推荐匹配的内容,其中的相关信息例如可以包括用户的性别、年龄、职业、所处位置等用于表征用户个人属性的用户属性信息,还可以包括用于表征用户观看喜好的历史操作信息,或者还可以包括其它能够用于表征该用户特性的信息,通过这种适配的推荐方式可以实现定向推荐,使得推荐的内容尽量是用户感兴趣的,以此提高内容推荐的有效性。进一步地,服务器203将推荐的内容以信息流的方式发送给终端设备201,进而终端设备201可以将从服务器203处接收到的信息流以多视图的形式展示给用户。
以推荐短视频的场景为例,终端设备201将接收到的短视频对应的信息流以多视图形式展示的界面如图3a所示,在屏幕显示区域中包括视图1~视图7这七个视图,具体来说,视图1、视图4是标题视图,视图2、视图5是视频卡片视图,视图3、视图6是评论视图,视图7是位于视图5内的嵌套视图,可以将视图1~视图6看作是一级视图,而视图7是位于一级视图(具体是视图5)内的子视图,可以称作嵌套视图,对应的,可以将视图5称作是视图7的父视图。
其中,标题视图用于展示短视频对应的标题内容,一个标题视图与一个视频卡片视图对应,例如图3a中的标题1是短视频1对应的标题,标题2是短视频2对应的标题;评论视图用于展示短视频对应的评论内容,评论内容具体可以包括评论数、点赞数、分享数等内容,评论视图支持发布评论、查看评论、点赞、分享好友、下载、收藏、关注等交互操作,一个评论视图与一个视频卡片视图对应,例如图3a中视图3是与短视频1对应的评论视图,视图6是与短视频2对应的评论视图;视频卡片视图用于展示短视频对应的视频流数据,视频卡片视图支持暂停、续播、全屏、静音、拖动进度条等播放控制操作。在实际业务场景中,如图3a所示的,标题视图可以位于对应视频卡片视图的上方,评论视图可以位于对应视频卡片视图的底部,或者,标题视图、评论视图还可以直接位于对应视频卡片视图的上层,即作为对应视频卡片视图的嵌套视图,如图3a中所示的视图7位于视图5的上层并作为视图5的嵌套视图。
再以推荐资讯的场景为例,终端设备201将接收到的资讯对应的信息流以多视图形式展示的界面如图3b所示,在屏幕显示区域中包括视图1~视图5这五个资讯卡片视图,可见,视图1、视图4、视图5的尺寸和样式是一种,视图2、视图3的尺寸和样式是另外一种,也就是说,同一个界面中的不同视图的尺寸和样式可以相同或者也可以不同。
图3a和图3b中的视图是位于滚动组件内的,滚动组件在滚动操作的触发下可以相对终端设备的屏幕进行运动,在具体实施过程中,滚动组件相对于可滚动的区域可以是屏幕的整个显示区域,即整个屏幕显示区域,或者也可以是屏幕显示区域中的部分显示区域,所以,用户可以通过滚动操作往上或往下或往左或往右滚动界面以使界面中展示的视图发生变化,随着界面中展示的视图发生变化,各个视图在终端设备的显示界面(即终端设备的屏幕)内的可见性状态则会发生变化,而本申请实施例提供的技术方案即可实时检测各个视图的可见性状态,进而得到各个视图的可见性生命周期的变化。而采用本申请实施例提供的技术方案检测视图的可见性状态的具体方案将在后文进行详细说明,这里就先不进行说明了。
本申请实施例提供的检测视图可见性的方案可以基于长列表的滚动场景,比如上述的资讯信息流和短视频信息流等,在滚动组件发生滚动的时候可以实时的检测列表下每个视图的可见性变化,这里所说的视图包括父视图或嵌套视图,即对视图的类型不做限制。并且,在Android***、ios***、WP(Windows Phone)***、Linux***中均可以支持多视图的展示场景,以及在全球广域网(World Wide Web,Web)端也支持多视图的展示场景,所以本申请实施例提供的检测视图可见性的技术方案可以在Android、ios、WP、Linux等操作***中实现,或者也可以在Web场景下实现,具有通用性。
其中,服务器203可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备201、终端设备202可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能穿戴式设备等,但并不局限于此。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
本申请实施例提供一种检测视图可见性的方法,该方法例如可以由终端设备执行,例如由图2中的终端设备201或终端设备202执行,该终端设备可通过其屏幕对应的显示区域展示内容,具体来说,可以通过多视图的形式展示内容对应的信息流。本申请实施例中的检测视图可见性的方法的流程如图4所示,图4所示的流程图描述如下。
步骤401:确定滚动组件内的目标视图。
滚动组件内一般包括多个视图,本申请实施例中的目标视图是滚动组件内需要检测可见性状态的视图,即,具有可见性监听需求的视图。在实施过程中,可以对滚动组件内的所有视图均进行可见性状态检测,那么此时的目标视图是滚动组件内的任意一个视图,或者,可以对滚动组件内符合设定检测条件的视图进行可见性状态检测,那么此时的目标视图是符合设定检测条件的视图中的任意一个。也就是说,可以对滚动组件内的每个视图均进行可见性检测,这样可以得到全面的检测结果,或者也可以仅对滚动组件内指定的有监听需求的视图进行检测,这样可以减少检测的数量,提升整体的检测效率,同时减少由于检测而导致的设备资源浪费,尽量提升设备性能。
也就是说,对于滚动组件的每个视图,可以先判断其是否是有监听需求的视图,若是,则将其确定为是目标视图,具体来说,可以判断某个视图是否符合设定检测条件,进而将符合设定检测条件的视图确定为是目标视图。为便于理解,以下对一些可能的设定检测条件进行说明。
一种可能的设定检测条件是,视图的视图标识属于预定视图标识集合,其中的视图标识例如是视图ID。也就是说,可以预先将需要进行可见性检测的视图挑选出来,并将其对应的视图标识放在预定视图标识集合中,那么预定视图标识集合中的各个视图标识对应的视图默认都是要进行可见性检测的。并且仅是将视图的视图标识存储,这样可以尽量减少存储的数据量,可以提升性能和节省内存。
另一种可能的设定检测条件是视图的视图类型为预定类型,例如是视频卡片视图才检测可见性,而标题视图和评论视图则不用检测可见性,例如图3a中的,仅对视图2和视图7进行可见性检测,而其余的则不用检测。这样,可以结合到实际的业务场景选择有检测需求的视图检测,从而可以减少检测量。
再一种可能的设定检测条件是视图的视图尺寸满足设定尺条件,如前所述的,视图的尺寸有大有小,如图3a中所示的,只对大尺寸的视图2和视图7进行可见性检测,而其余小尺寸的则无需进行可见性检测。
另一种可能的设定检测条件是视图的视图内容对应的热度值大于预定热度值,其中,热度值表明用户对视图内容感兴趣的程度。在具体实过程中,例如可以通过视图对应的评论来确定视图内容对应的热度值,如图3a中所示的,视图2的评论数是123及点赞数是456,而视图7的评论数是666及点赞数是888,假设视图7对应的评论内容所表征的热度值大于预定热度值,则可以只对视图7进行可见性检测。
再一种可能的设定检测条件是视图的视图内容与当前登录账号之间的匹配程度大于预定匹配程度,例如当前登录账号的用户喜欢观看体育明星类的资讯或者短视频,若某个视图对应的视图内容是与这些强相关的则可以认为与其匹配程度是较大的,也就是用户对视图内容可能感兴趣的程度,这样可以对用户尽可能感兴趣的视图进行针对性的可见性检测。
上述列举了几种可能的设定检测条件,在具体实施过程中,可以通过上述任意一种条件判断视图是否是目标视图,或者可以通过其中的几种联合判断视图是否是目标视图,本申请实施例不做限制。
步骤402:获得滚动组件内的目标视图相对于目标显示区域的第一相对坐标信息。
其中,目标显示区域是位于屏幕中的,所以可以将目标显示区域称作是屏幕内的目标显示区域,目标显示区域可以是屏幕显示区域的全部区域,这时目标显示区域等于屏幕显示区域,或者,目标显示区域是屏幕显示区域的部分区域,这时目标显示区域小于屏幕显示区域,也就是说,目标显示区域是屏幕显示区域的部分或者全部。
而本申请实施例中的滚动组件是相对于目标显示区域进行滚动,即,滚动组件只可以在目标显示区域中进行滚动,而在目标显示区域外的区域是不支持滚动的,所以,滚动组件用于在目标显示区域中滚动以显示至少一个视图。因为在实际场景,一种情形是,滚动组件可以在整个屏幕显示区域内支持滚动,那么此时的目标显示区域等于屏幕显示区域;另一种情形是,屏幕显示区域内的部分显示区域独立显示,例如此时的屏幕显示区域中包括多个相互独立显示的区域,而在每个独立的显示区域中均可以支持滚动组件的滚动,但是每个独立的显示区域内的滚动组件仅能在自己对应的显示区域内进行滚动,此时支持滚动组件滚动的部分显示区域也即为滚动组件对应的目标显示区域。
由于目标显示区域是屏幕显示区域的部分或者全部区域,所以目标显示区域也是用户视觉可见的显示区域,在对滚动组件内的视图进行相对于目标显示区域的可见性状态检测时,相当于就是对相对屏幕的可见性状态进行检测,都是以用户视觉的角度进行的检测,如此可以准确地体现视图的“可见性”。
请参见图5所示的长列表(即滚动组件),该滚动组件中包括有3个视图,以view A、view B、view C表示,假设每个视图的宽度是1080px,高度是500px,且相对位置关系如图5中所示,各个视图之间在竖直的y轴方向均间隔200px,第一个view A与滚动列表的顶部相差1000px。
在实际业务场景中,滚动组件一般是上下滚动,例如用户上滑或者下滑屏幕来触发滚动组件向上或者向下滚动,以屏幕的宽度方向为x轴方向,以屏幕的高度方向为y轴方向,所以滚动组件一般是沿着y轴方向在向上或者向下滚动,而x轴方向并没有移动所以并没有位移变化,为简化描述,本申请实施例中仅以y轴方向的坐标来对本申请实施例中的相关坐标信息进行举例说明。
以view A为例,在竖直方向上,相对于滚动组件顶部的y轴起始坐标是1000px,相对于长列表顶部的y轴结束坐标是1500px(即1000px+500px),可以得到view A在y轴上的坐标范围是[1000px,1500px]。
以view B为例,在竖直方向上,相对于长列表顶部的y轴起始坐标是1700px(即1000px+500px+200px),相对于长列表顶部的y轴结束坐标是2200px(即1700px+500px),可以得到view B在y轴上的坐标范围是[1700px,2200px]。
再以view C为例,在竖直方向上,相对于长列表顶部的y轴起始坐标是2400px(即1000px+500px+200px+500px+200px),相对于长列表顶部的y轴结束坐标是2900px(即2400px+500px),可以得到view C在y轴上的坐标范围是[2400px,2900px]。
也就是说,view A、view B、view C相对于滚动组件的初始的y轴坐标范围分别是:
view A:[1000px,1500px];
view B:[1700px,2200px];
view C:[2400px,2900px]。
可以将这些坐标范围看作是view A、view B、view C分别相对于滚动组件的相对坐标信息,若view A、view B、view C均是目标视图,那么则可以将各个目标视图相对于滚动组件的相对坐标信息称作该目标视图相对于滚动组件的第二相对坐标信息。
在具体实施过程中,滚动组件可能发生了滚动,或者也可能并没有发生滚动,若发生了滚动,则可以根据滚动组件相对于目标显示区域的滚动距离信息和第二相对坐标信息来确定对应目标视图相对于目标显示区域的坐标信息,即确定该目标视图相对于目标显示区域的第一坐标信息;若滚动组件并没有发生滚动,可以认为滚动组件的滚动距离为0,那么则可以将第二相对坐标信息直接作为第一相对坐标信息。以下针对滚动组件发生滚动和未发生滚动这两种情形分别说明。其中,滚动组件在目标显示区域中的滚动距离信息可以采用通用的方式来确定,例如通过调用***提供的API接口来获取滚动组件的滚动距离信息,或者可以根据滚动组件中在目标显示区域中的各个可见的视图的高度叠加变化来确定滚动组件的滚动距离信息,或者还可以采用其它可能的方式来确定滚动距离信息,本申请实施例对此不作限制。
第一种情形:滚动组件发生了滚动。
例如参见图6所示的,用户针对滚动组件进行了触发滚动组件向上滚动的滚动操作,终端设备响应于该滚动该操作,确定基于该滚动操作滚动组件向上滚动了830px,即基于该滚动操作对应的滚动距离信息是:方向向上滚动了830px。在具体实施过程中,用户可以触控屏幕并进行向上拖动屏幕的滑动手势操作来实现前述的滚动操作,或者可以拖动滚动组件右侧的滚动条来实现前述的滚动操作。在根据滚动操作确定滚动方向和滚动距离之后,可以根据目标视图相对于滚动组件的第二相对坐标信息和滚动距离信息来计算该目标视图相对于目标显示区域的第二相对坐标信息。结合图6的计算例如如下:
对于view A,使用其对应的第二相对坐标信息减去滚动距离,即[1000px,1500px]中的起始坐标和结束坐标分别减去830px,得到对应的第一相对坐标信息是[170px,670px],即,在滚动组件向上滚动了830px之后,view A相对于屏幕在y轴上的坐标范围是[170px,670px]。
对于view B,使用其对应的第二相对坐标信息减去滚动距离,即[1700px,2200px]中的起始坐标和结束坐标分别减去830px,得到对应的第一相对坐标信息是[870px,1370px],即,在滚动组件向上滚动了830px之后,view B相对于目标显示区域在y轴上的坐标范围是[870px,1370px]。
对于view C,使用其对应的第二相对坐标信息减去滚动距离,即[2400px,2900px]中的起始坐标和结束坐标分别减去830px,得到对应的第一相对坐标信息是[1570px,2070px],即,在滚动组件向上滚动了830px之后,view C相对于目标显示区域在y轴上的坐标范围是[1570px,2070px]。
在上述计算过程中,由于在表示目标显示区域坐标时是以目标显示区域的顶端为0、目标显示区域的屏幕底部为1920表示的,所以滚动组件向上滚动表示的是由1920向0的方向运动,即在y轴上的坐标值在逐渐减小,所以可以用“相减”的方式来处理向上滚动的830px。在其它实施方式中,随着目标显示区域的坐标的表示方式不同以及滚动方向的不同,可以采用对应不同方式来处理滚动的距离,本申请实施例就不再举例说明了。
第二种情形:滚动组件未进行滚动。
若滚动组件未发生滚动,可以认为滚动距离为0,可以将目标视图相对于滚动组件的第二相对坐标信息作为该目标视图相对于目标显示区域的第一相对坐标信息。
步骤403:根据第一相对坐标信息和目标显示区域的区域坐标信息,确定目标视图和目标显示区域的相对位置关系。
由于第一相对坐标信息是目标视图相对于目标显示区域的坐标信息,第一相对坐标信息和目标显示区域的区域坐标信息是一个坐标系中的,目标显示区域的区域坐标信息可以表示目标显示区域的显示区域,显示区域是对于用户而言的,只有在目标显示区域中展示的内容用户才可以看见,而视图的可见性状态也就是站在用户的可视角度而言的。
具体来说,可以根据第一相对坐标信息和目标显示区域的区域坐标信息确定目标视图和目标显示区域之间的交叉关系,例如,目标视图对应的区域和目标显示区域之间是否存在重叠或者相交或者完全相离等等,将目标视图的区域和目标显示区域之间的位置关系称作这两者之间的相对位置关系。
步骤404:根据相对位置关系确定目标视图的可见性状态。
如上所述的,在经过滚动之后,view A、view B、view C相对于目标显示区域的y轴坐标范围,即各个目标视图相对于目标显示区域的第一相对坐标信息如下所示:
view A:[170px,670px];
view B:[870px,1370px];
view C:[1570px,2070px]。
将其分别与目标显示区域的y轴坐标范围,即[0px,1920px]进行匹配可以确定,view A的y轴坐标范围完全位于目标显示区域的y轴坐标范围之内,则表明view A是完全位于目标显示区域之内的,所以view A的可见性状态是:完全可见状态,如图6中右图所示的;viewB的y轴坐标范围完全位于目标显示区域的y轴坐标范围之内,则表明view B也是完全位于目标显示区域之内的,所以viewB的可见性状态也是:完全可见状态,如图6中右图所示的;view C的y轴坐标范围是部分位于目标显示区域的y轴坐标范围之内,则表明view C是部分位于目标显示区域之内的,所以view C的可见性状态是:部分可见状态,如图6中右图所示的。
在具体实施过程中,在根据第一相对坐标信息确定目标视图的可见性状态之后,可以将该第一相对坐标信息和可见性状态与目标视图关联保存,具体来说,可以与目标视图的视图标识关联保存,这样可以将各个目标视图的可见性状态与对应的第一相对坐标信息实时记录下来,如图7所示的,其中记录有view A、view B、view C的ID,以及将各个视图的第一坐标信息和对应的可见性状态与其对应的ID进行关联保存,例如保存在一行数据中,以便于后续滚动组件再发生滚动时可,可以根据这些信息来计算目标视图的滚动距离信息(与滚动组件的滚动距离信息相同)以及可见性状态的变化。
图7中保存的视图的ID,可以是指需要进行可见性检测的目标视图的ID,也就是说,将各个目标视图的ID可以提前保存,后续在进行检测时可以直接从保存的ID集合中去查找哪些视图是需要进行可见性检测的目标视图。此外,在图7的基础上,还可以将各个目标视图的历史可见性信息也与该目标视图的ID关联保存,其中的历史可见性信息可以是指一段时间内的可见性信息,例如目标视图在最近24小时内的所有呈现过的可见性状态,这样便于后续对各个目标视图的可见性状态进行统计和汇总,进而实现一些其它应用。
以支持滚动组件进行滚动的目标显示区域为屏幕的整个显示区域(即屏幕显示区域)为例,再参见图8所示的,滚动组件中的view1、view2、view3这三个视图随着滚动组件的滚动呈现的可见性状态的变化过程的示意图。
通过上述检测方式,由于是将目标视图相对于目标显示区域的相对坐标信息直接与目标显示区域的区域坐标信息进行匹配,这样可以准确地计算出两者之间的相对位置,从而提高检测目标视图的可见性状态的准确性,并且,是通过即时的坐标信息来进行相对于目标显示区域(对应于屏幕)的可见性状态的检测,这样在目标视图的任何可见性状态下都可以对其进行检测,即可以检测目标视图在任意时刻的可见性状态,提高了检测的实时性和全面性,从而提升了对视图的可见性检测的检测效果。
在确定目标视图的可见性状态之后,可以对其进行一些实际应用,在具体实施过程中应用场景较多,以下举例说明。
例如,若目标视图的可见性状态是完全可见状态,且目标视图位于目标显示区域的预定显示区域,例如位于目标显示区域的中间区域或者顶部区域,则可以自动播放目标视图对应的内容,也就是说,在目标视图是视频卡片视图时则可以控制其自动播放,以实现视频卡片视图的自动播放逻辑,这样无需用户再手动控制播放,即可实现连带模式业务,用户在滑动页面的过程中视频卡片视图即可自动播放,无需要用户手动控制,实现了沉浸式的播放,可以提高视频卡片视图的播放效率,进而提高内容的展示率,相对增加用户单位时间内的信息获取量,增强用户的使用体验。
又例如,可以实现视图对应的卡片内容的曝光上报,例如,可以根据目标视图的可见性状态以及可见性状态的持续时长,确定目标视频在屏幕中的展示次数和展示时长,例如将展示次数、展示时长等曝光相关的数据称作展示数据,展示数据可以包括展示时长、展示次数中的至少一种,再将展示数据发送给服务器,从而实现本地展示内容的展示效果的上报,根据目标视图的展示数据,可以确定目标视图在屏幕内的展示次数以及停留时长,例如停留时长越长表明用户查看时间越长,用户对其感兴趣的可能性较大,又例如展示次数越多,表明用户观看的次数越多,也表明用户对其感兴趣的可能性较大。从而,服务器可以根据用户上报的展示数据来定位和估计用户的兴趣偏好,以此作为以后为用户推荐内容的依据,使得以后推荐的内容能够尽量是用户感兴趣的,从而提高推荐内容的点击率,提高推荐有效性和准确性,提升推荐***的性能。
再例如,若目标视图的可见性状态表明该目标视图位于目标显示区域对应的显示区域内,则可以播放关联的预定动画特效,通过预定动画特效的方式可以表示对用户进行欢迎,同时可以对进入屏幕的视图进行提醒和欢迎,这样可以吸引用户,同时也提升娱乐性。其中,目标视图位于目标显示区域对应的显示区域内可以包括以下几种情形:
(1)目标视图在目标显示区域内露出了一部分但是并没有完全出现在目标显示区域内,可以认为目标视图是部分出现在目标显示区域中,称作部分可见状态。
(2)目标视图完全进入目标显示区域,即目标视图全部出现在目标显示区域中,称作全部可见状态。
在具体实施过程中,将视图的可见性状态的检测结果还可以应用于其他的一些的应用场景,本申请实施例就不一一说明了。
需要说明的是,上述实施例中均是以在竖直方向上的向上向下滚动为例对本申请实施例中的技术方案进行说明,在竖直方向上的滚动时,水平方向上的x轴的坐标值并不发生变化,所以在上述的坐标信息中均是仅以y轴的坐标为例进行介绍,而将x轴上的坐标值省略了。在具体实施过程中,在某些业务场景中,例如还可以向左或者向右滚动。
基于同一发明构思,本申请实施例提供一种检测视图可见性的装置,该检测视图可见性的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该检测视图可见性的装置例如是前述图2中的终端设备201或终端设备202本身,或者可以是设置于终端设备201或终端设备202内的功能装置,该检测视图可见性的装置可以由芯片***实现,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。请参见图9所示,本申请实施例中的检测视图可见性的装置包括获得模块901、第一确定模块902和第二确定模块903,其中:
获得模块901,用于获得滚动组件内的目标视图相对于目标显示区域的第一相对坐标信息,滚动组件用于在目标显示区域中滚动以显示至少一个视图,目标显示区域位于屏幕中;
第一确定模块902,用于根据第一相对坐标信息和目标显示区域的区域坐标信息,确定目标视图和目标显示区域的相对位置关系;
第二确定模块903,用于根据相对位置关系确定目标视图的可见性状态。
在一种可能的实施方式中,获得模块901用于:
响应于针对滚动组件的滚动操作,确定滚动组件相对于目标显示区域的滚动距离信息;
根据目标视图相对于滚动组件的第二相对坐标信息和滚动距离信息,确定第一相对坐标信息。
在一种可能的实施方式中,获得模块901用于:
根据滚动操作确定滚动组件的滚动方向;
根据第二相对坐标信息、滚动距离信息、滚动方向确定第一相对坐标信息。
在一种可能的实施方式中,第二确定模块903用于:
若相对位置关系表明目标视图部分位于目标显示区域内,则可见性状态为部分可见状态;
若相对位置关系表明目标视图全部位于目标显示区域内,则可见性状态为完全可见状态;
若相对位置关系表明目标视图未位于目标显示区域内,则可见性状态为不可见状态。
在一种可能的实施方式中,本申请实施例中的检测视图可见性的装置还包括存储模块,用于将第一相对坐标信息和可见性状态与目标视图关联保存。
在一种可能的实施方式中,本申请实施例中的检测视图可见性的装置还包括第三确定模块,用于将滚动组件内符合设定检测条件的视图确定为目标视图。
在一种可能的实施方式中,设定检测条件包括以下至少一种:
视图标识属于预定视图标识集合;或者,
视图类型为预定类型;或者,
视图尺寸满足设定尺寸条件;或者,
视图内容对应的热度值大于预定热度值,其中,视图的热度值表明用户对该视图对应的视图内容感兴趣的程度;或者,
视图内容与当前登录账号之间的匹配程度大于预定匹配程度。
在一种可能的实施方式中,预定视图标识集合中包括至少一个视图标识,以及与至少一个视图标识中的每个视图标识对应的历史可见性信息。
在一种可能的实施方式中,本申请实施例中的检测视图可见性的装置还包括播放模块,用于:
若可见性状态是完全可见状态且目标视图位于目标显示区域的指定显示区域,则播放目标视图对应的视频内容。
在一种可能的实施方式中,本申请实施例中的检测视图可见性的装置还包括播放模块,用于:
若可见性状态表明目标视图位于目标显示区域内,则播放与目标视图关联的预定动画特效。
在一种可能的实施方式中,本申请实施例中的检测视图可见性的装置还包括发送模块,用于:
根据可见性状态确定目标视图在屏幕中的展示数据,并将展示数据发送给服务器,该展示数据包括展示时长、展示次数、展示频率中的至少一种。
前述的检测视图可见性的方法的实施例中涉及的各步骤的所有相关内容均可以援引到本申请施例中的检测视图可见性的装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例提供一种计算设备,该计算设备例如是前述图2中的服务器203,该计算设备能够执行本申请实施例提供的检测视图可见性的方法,如图10所示,本申请实施例中的计算设备包括至少一个处理器1001,以及与至少一个处理器1001连接的存储器1002和通信接口1003,本申请实施例中不限定处理器1001与存储器1002之间的具体连接介质,图10中是以处理器1001和存储器1002之间通过总线1000连接为例,总线1000在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1000可以分为地址总线、数据总线、控制总线等,为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器1002存储有可被至少一个处理器1001执行的计算机程序,至少一个处理器1001通过执行存储器1002存储的计算机程序,可以执行前述的推荐内容的方法中所包括的步骤。
其中,处理器1001是计算设备的控制中心,可以利用各种接口和线路连接整个计算设备的各个部分,通过运行或执行存储在存储器1002内的指令以及调用存储在存储器1002内的数据,计算设备的各种功能和处理数据,从而对计算设备进行整体监控。可选的,处理器1001可包括一个或多个处理模块,处理器1001可集成应用处理器和调制解调处理器,其中,处理器1001主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。在一些实施例中,处理器1001和存储器1002可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1001可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1002作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1002可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1002还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通信接口1003是能够用于进行通信的传输接口,可以通过通信接口1003接收数据或者发送数据,例如可以通过通信接口1003与其它设备进行数据交互以实现通信的目的。
进一步地,该计算设备还包括帮助计算设备内的各个器件之间传输信息的基本输入/输出***(I/O***)1004、用于存储操作***1005、应用程序1006和其他程序模块1007的大容量存储设备1008。
基本输入/输出***1004包括有用于显示信息的显示器1009和用于用户输入信息的诸如鼠标、键盘之类的输入设备1010。其中显示器1009和输入设备1010都通过连接到***总线1000的基本输入/输出***1004连接到处理器1001。所述基本输入/输出***1004还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1008通过连接到***总线1000的大容量存储控制器(未示出)连接到处理器1001。所述大容量存储设备1008及其相关联的计算机可读介质为该服务器包提供非易失性存储。也就是说,大容量存储设备1008可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
根据本申请的各种实施例,该计算设备包还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即该计算设备可以通过连接在所述***总线1000上的通信接口1003连接到网络1011,或者说,也可以使用通信接口1003来连接到其他类型的网络或远程计算机***(未示出)。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质可以是计算机可读存储介质,该存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的检测视图可见性的方法的步骤。
基于同一发明构思,本申请实施例还提供一种芯片***,该芯片***包括处理器,还可以包括存储器,用于实现如前述的检测视图可见性的方法的步骤。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
在一些可能的实施方式中,本申请实施例提供的检测视图可见性的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文所描述的根据本申请各种示例性实施方式的检测视图可见性的方法中的步骤。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (11)

1.一种检测视图可见性的方法,其特征在于,所述方法包括:
响应于针对滚动组件的滚动操作,确定所述滚动组件相对于目标显示区域的滚动距离信息;所述滚动组件用于在所述目标显示区域中滚动以显示至少一个视图,所述目标显示区域位于屏幕中;
根据所述滚动组件内的目标视图相对于所述滚动组件的第二相对坐标信息和所述滚动距离信息,确定所述目标视图相对于所述目标显示区域的第一相对坐标信息;所述第二相对坐标信息为所述目标视图相对于所述滚动组件的初始坐标信息,或者,基于上一次滚动操作确定的第一相对坐标信息;
根据所述第一相对坐标信息和所述目标显示区域的区域坐标信息,确定所述目标视图和所述目标显示区域的相对位置关系;
根据所述相对位置关系确定所述目标视图的可见性状态,所述可见性状态用于表征目标视图在所述屏幕内的显示情况;
将所述第一相对坐标信息和所述可见性状态与所述目标视图关联保存;
根据所述目标视图关联保存的可见性状态,确定所述目标视图在所述屏幕中的展示数据;其中,所述展示数据用于表征所述目标视图对应的内容的展示效果,所述展示数据包括展示时长、展示次数、展示频率中的至少一种;
将所述展示数据发送给服务器,以使得所述服务器根据所述展示数据确定相应用户的兴趣偏好,并根据所述兴趣偏好向所述用户推荐内容。
2.如权利要求1所述的方法,其特征在于,根据所述目标视图相对于所述滚动组件的第二相对坐标信息和所述滚动距离信息,确定所述第一相对坐标信息,包括:
根据所述滚动操作确定所述滚动组件的滚动方向;
根据所述第二相对坐标信息、所述滚动距离信息、所述滚动方向确定所述第一相对坐标信息。
3.如权利要求1所述的方法,其特征在于,根据所述相对位置关系确定所述目标视图的可见性状态,包括:
若所述相对位置关系表明所述目标视图部分位于所述目标显示区域内,则所述可见性状态为部分可见状态;
若所述相对位置关系表明所述目标视图全部位于所述目标显示区域内,则所述可见性状态为完全可见状态;
若所述相对位置关系表明所述目标视图未位于所述目标显示区域内,则所述可见性状态为不可见状态。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述滚动组件内符合设定检测条件的视图确定为所述目标视图。
5.如权利要求4所述的方法,其特征在于,所述设定检测条件包括以下至少一种:
视图标识属于预定视图标识集合;或者,
视图类型为预定类型;或者,
视图尺寸满足设定尺寸条件;或者,
视图内容对应的热度值大于预定热度值,其中,视图的热度值表明用户对该视图对应的视图内容感兴趣的程度;或者,
视图内容与当前登录账号之间的匹配程度大于预定匹配程度。
6.如权利要求5所述的方法,其特征在于,所述预定视图标识集合中包括至少一个视图标识,以及与所述至少一个视图标识中的每个视图标识对应的历史可见性信息。
7.如权利要求1-6任一所述的方法,其特征在于,在根据所述相对位置关系确定所述目标视图的可见性状态之后,所述方法还包括:
若所述可见性状态是完全可见状态且所述目标视图位于所述目标显示区域的指定显示区域,则播放所述目标视图对应的内容。
8.如权利要求1-6任一所述的方法,其特征在于,在根据所述相对位置关系确定所述目标视图的可见性状态之后,所述方法还包括:
若所述可见性状态表明所述目标视图位于所述目标显示区域内,则播放与所述目标视图关联的预定动画特效。
9.一种检测视图可见性的装置,其特征在于,所述装置包括:
获得模块,响应于针对滚动组件的滚动操作,确定所述滚动组件相对于目标显示区域的滚动距离信息;所述滚动组件用于在所述目标显示区域中滚动以显示至少一个视图,所述目标显示区域位于屏幕中;以及,根据所述滚动组件内的目标视图相对于所述滚动组件的第二相对坐标信息和所述滚动距离信息,确定所述目标视图相对于所述目标显示区域的第一相对坐标信息;所述第二相对坐标信息为所述目标视图相对于所述滚动组件的初始坐标信息,或者,基于上一次滚动操作确定的第一相对坐标信息;
第一确定模块,用于根据所述第一相对坐标信息和所述目标显示区域的区域坐标信息,确定所述目标视图和所述目标显示区域的相对位置关系;
第二确定模块,用于根据所述相对位置关系确定所述目标视图的可见性状态,所述可见性状态用于表征目标视图在所述屏幕内的显示情况;
存储模块,用于将所述第一相对坐标信息和所述可见性状态与所述目标视图关联保存;
发送模块,用于根据所述目标视图关联保存的可见性状态,确定所述目标视图在所述屏幕中的展示数据;其中,所述展示数据用于表征所述目标视图对应的内容的展示效果,所述展示数据包括展示时长、展示次数、展示频率中的至少一种;并将所述展示数据发送给服务器,以使得所述服务器根据所述展示数据确定相应用户的兴趣偏好,并根据所述兴趣偏好向所述用户推荐内容。
10.一种计算设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-8任一所述的方法包括的步骤。
11.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-8任一所述的方法包括的步骤。
CN202010916823.4A 2020-09-03 2020-09-03 一种检测视图可见性的方法、装置及计算设备 Active CN114138158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010916823.4A CN114138158B (zh) 2020-09-03 2020-09-03 一种检测视图可见性的方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010916823.4A CN114138158B (zh) 2020-09-03 2020-09-03 一种检测视图可见性的方法、装置及计算设备

Publications (2)

Publication Number Publication Date
CN114138158A CN114138158A (zh) 2022-03-04
CN114138158B true CN114138158B (zh) 2024-02-20

Family

ID=80438243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010916823.4A Active CN114138158B (zh) 2020-09-03 2020-09-03 一种检测视图可见性的方法、装置及计算设备

Country Status (1)

Country Link
CN (1) CN114138158B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105210051A (zh) * 2013-03-18 2015-12-30 谷歌公司 估计内容项的可见性
CN108881998A (zh) * 2018-08-13 2018-11-23 北京搜狐新动力信息技术有限公司 一种视频播放方法及装置
CN109218819A (zh) * 2018-09-29 2019-01-15 维沃移动通信有限公司 一种视频预览方法及移动终端
CN110597432A (zh) * 2019-09-27 2019-12-20 腾讯科技(深圳)有限公司 界面控制方法、装置、计算机可读介质及电子设备
CN110941740A (zh) * 2019-11-08 2020-03-31 腾讯科技(深圳)有限公司 视频推荐方法及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105210051A (zh) * 2013-03-18 2015-12-30 谷歌公司 估计内容项的可见性
CN108881998A (zh) * 2018-08-13 2018-11-23 北京搜狐新动力信息技术有限公司 一种视频播放方法及装置
CN109218819A (zh) * 2018-09-29 2019-01-15 维沃移动通信有限公司 一种视频预览方法及移动终端
CN110597432A (zh) * 2019-09-27 2019-12-20 腾讯科技(深圳)有限公司 界面控制方法、装置、计算机可读介质及电子设备
CN110941740A (zh) * 2019-11-08 2020-03-31 腾讯科技(深圳)有限公司 视频推荐方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN114138158A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN107341018B (zh) 一种在页面切换后继续显示视图的方法和装置
JP5324411B2 (ja) 広告配信装置、方法及びプログラム
US9319745B2 (en) Media player system for product placements
KR101911034B1 (ko) 컴퓨팅 디바이스 상에서의 그래픽 표현들의 편성
CN109753326B (zh) 处理方法、装置、设备和机器可读介质
US20150100885A1 (en) Video streaming on a mobile device
CN111062778A (zh) 产品浏览方法、装置、设备及存储介质
CN113286201B (zh) 推荐信息展示方法、装置、电子设备和存储介质
CN105791352B (zh) 应用的消息推送方法和***
TW201222326A (en) Presentation of advertisements based on user interactivity with a web page
CN102929491A (zh) 跨窗口动画
US20160283978A1 (en) Swipe-able advertisements
US20210365164A1 (en) User interface engagement heatmaps
JP5563703B2 (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラム及び端末用プログラム
US20220337745A1 (en) Method for playing video
CN112486382A (zh) 一种界面逻辑执行方法以及装置、电子设备、介质
WO2017011084A1 (en) System and method for interaction between touch points on a graphical display
CN113435926A (zh) 广告展示方法及装置、存储介质及电子装置
WO2020204941A1 (en) Methods, systems, and media for navigating user interfaces
JP6339550B2 (ja) 端末用プログラム、端末装置及び端末制御方法
CN114138158B (zh) 一种检测视图可见性的方法、装置及计算设备
CN105812890B (zh) 一种信息显示方法及客户端
WO2021248493A1 (zh) 消息展示方法、移动终端以及计算机可读存储介质
CN110688185B (zh) 一种页面显示方法、装置及电子设备
CN109101502B (zh) 一种页面的流量配置方法、切换方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40065966

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant