背景技术:
在诸如互联网的计算机联网环境中,第三方内容提供者提供第三方内容项以在终端用户计算设备上显示。这些第三方内容项可以被显示在与相应发布者相关联的网页上。这些第三方内容项可以包括识别提供内容项的第三方内容提供者的内容。
技术实现要素:
本公开的至少一个方面针对一种将静态内容项转换成交互式内容项的方法。所述方法可以包括通过包括一个或多个处理器的数据处理系统识别具有视觉内容的第一内容项和第一脚本。第一脚本可以被配置为响应于第一内容项的加载而呈现视觉内容。所述方法可以包括通过数据处理系统根据分区模板将第一内容项的视觉内容划分为多个段。分区模板可以定义将由视觉内容形成的段的数量、多个段的每个段的形状以及每个形状的尺寸。多个段中的每个段可以对应于视觉内容的不同部分。所述方法可以包括通过数据处理系统生成第二内容项,以包括将要在框中呈现的多个段和第二脚本。第二脚本可以被配置为:响应于第二内容项的加载,将多个段中的每个段分配到多个位置中的一个。多个位置中的每个位置可以定义在框中将要呈现段的区域。第二脚本可以被配置为根据分配给多个段中的每个段的多个位置在框内呈现多个段。第二脚本可以被配置为通过交互启用多个段中的每个段在框内的多个位置之间移动。第二脚本可以被配置为响应于检测与多个段中的一个的交互,确定多个段从多个位置移动到目标多个位置。第二脚本可以被配置为响应于确定多个段移动到目标多个位置,执行提供与视觉内容有关的信息的动作。所述方法可以包括通过数据处理系统将第二内容项提供给客户端设备,以使客户端设备根据第二脚本呈现多个段。
在一些实现方式中,所述方法可以包括通过数据处理系统基于第一内容项的视觉内容从多个分区模板中选择分区模板。在一些实现方式中,划分视觉内容还包括:响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,所述方法可以包括通过数据处理系统对多个分区模板中的每个分区模板确定与根据相应分区模板划分的视觉内容的预测交互率。在一些实现方式中,所述方法可以包括通过数据处理系统基于为多个分区模板中的每个分区模板确定的预测交互率,从多个分区模板中选择分区模板。在一些实现方式中,划分视觉内容还包括:响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,所述方法可以包括通过数据处理系统基于第一内容项的视觉内容确定第一内容项适合添加交互性。在一些实现方式中,划分视觉内容还包括:响应于确定第一内容项适合,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,所述方法可以包括通过数据处理系统将多个段的初始多个位置识别为目标多个位置。初始多个位置中的每个位置可以定义从中获取段的第一内容项的视觉内容内的区域。在一些实现方式中,生成第二内容项还包括生成第二内容项以包括第二脚本,所述第二脚本被配置为响应于检测到与多个段中的一个的交互来确定多个段从多个位置移动到初始多个位置。
在一些实现方式中,第二脚本可以被配置为呈现发起与框内的第二内容项的交互的提示。在一些实现方式中,响应于检测到与提示的交互,根据多个位置在框内呈现多个段。
在一些实现方式中,所述方法可以包括生成第二内容项以包括第二脚本,所述第二脚本被配置为执行动作,所述动作包括呈现提示,以呈现与视觉内容有关的信息,所述信息由与第一内容项相关联的内容提供者提供。
在一些实现方式中,所述方法可以包括根据分区模板将视觉内容划分为多个段。分区模板包括可以分段路径,定义要形成的段的数量、多个段的每个段的形状以及每个形状的尺寸。
在一些实现方式中,所述方法可以包括从内容提供者接收将交互性包括到内容中的请求,所述请求包括第一内容项。在一些实现方式中,所述方法可以包括响应于执行动作通过数据处理系统从客户端设备接收多个段移动到第一多个位置的指示。
本公开的另一方面针对一种系统。所述系统可以包括数据处理系统,具有一个或多个处理器。数据处理系统可以识别具有视觉内容的第一内容项和第一脚本。第一脚本被配置为响应于第一内容项的加载而呈现视觉内容。数据处理系统可以根据分区模板将第一内容项的视觉内容划分为多个段。分区模板可以定义将由视觉内容形成的段的数量、多个段的每个段的形状以及每个形状的尺寸。多个段中的每个段可以对应于视觉内容的不同部分。数据处理系统可以生成第二内容项,以包括将要在框中呈现的多个段和第二脚本。第二脚本可以被配置为响应于第二内容项的加载,将多个段中的每个段分配到多个位置中的一个。多个位置中的每个位置可以定义在框中将要呈现段的区域。第二脚本可以被配置为根据分配给多个段中的每个段的多个位置,在框内呈现多个段。第二脚本可以被配置为通过交互启用多个段中的每个段在框内的多个位置之间移动。第二脚本可以被配置为响应于检测与多个段中的一个的交互,确定多个段从多个位置移动到目标多个位置。第二脚本可以被配置为响应于确定多个段移动到目标多个位置,执行提供与视觉内容有关的信息的动作。数据处理系统可以将第二内容项提供给客户端设备,以使客户端设备根据第二脚本呈现多个段。
在一些实现方式中,数据处理系统可以基于第一内容项的视觉内容从多个分区模板中选择分区模板。在一些实现方式中,数据处理系统可以响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,数据处理系统可以对多个分区模板中的每个分区模板确定与根据相应分区模板划分的视觉内容的预测交互率。在一些实现方式中,数据处理系统可以基于为多个分区模板中的每个分区模板确定的预测交互率,从多个分区模板中选择分区模板。在一些实现方式中,数据处理系统可以响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,数据处理系统可以基于第一内容项的视觉内容确定第一内容项适合添加交互性。在一些实现方式中,数据处理系统可以响应于确定第一内容项适合,根据分区模板将视觉内容划分为多个段。
在一些实现方式中,数据处理系统可以将多个段的初始多个位置识别为目标多个位置。初始多个位置中的每个位置可以定义从中获取段的第一内容项的视觉内容内的区域。在一些实现方式中,数据处理系统可以生成第二内容项以包括第二脚本,所述第二脚本被配置为响应于检测与多个段中的一个的交互来确定多个段从多个位置移动到初始多个位置。
在一些实现方式中,第二脚本可以呈现发起与框内的第二内容项的交互的提示。在一些实现方式中,响应于检测与提示的交互,根据多个位置呈现在框内的多个段。
在一些实现方式中,数据处理系统可以生成第二内容项以包括第二脚本,所述第二脚本被配置为执行动作。所述动作可以包括呈现提示,以呈现与视觉内容有关的信息。所述信息可以由与第一内容项相关联的内容提供者提供。
在一些实现方式中,数据处理系统可以根据分区模板将视觉内容划分为多个段。分区模板包括分段路径,定义要形成的段的数量、多个段的每个段的形状以及每个形状的尺寸。
在一些实现方式中,数据处理系统可以从内容提供者接收将交互性包括到内容中的请求,所述请求包括第一内容项。在一些实现方式中,数据处理系统可以响应于执行动作而从客户端设备接收多个段移动到第一多个位置的指示。
附图说明
附图无意按比例绘制。在各个附图中,相似的附图标号和标记指示相似的元件。为了清楚,并非在每个附图中都标记了每个组件。在附图中:
图1a示出描述用于将静态内容项转换为交互式内容项的示例环境或系统的框图。
图1b示出描绘从静态内容项到交互式内容项的示例转换的示图。
图2示出图示根据分区模板的静态内容项的示例划分的示图。
图3示出图示与交互式内容项的交互的示例的示图。
图4示出将静态内容项转换为交互式内容项的示例方法的流程图。
图5示出可以用于实现本文讨论的任何计算机的说明性计算机系统的总体架构的框图。
具体实施方式
以下是与将静态内容转换为交互式内容的方法、装置和系统有关的各种概念以及其实现方式的详细描述。由于所描述的概念不限于任何特定的实现方式,因此可以以多种方式中的任何一种来实现上面介绍的以及下面将更详细讨论的各种概念。
内容提供者平台可以提供静态内容项以在信息资源(例如,网页)上呈现,并且人类用户可以与之交互。在一些情况下,内容提供者平台可能希望确保用户是人类用户,以防止或至少检测何时由自动代理或网上机器人执行与提供内容项的交互。当前正在使用许多机制(诸如captcha检查)来执行此功能,但是可能需要附加机制。此外,captcha检查通常需要将附加数据发送到用户设备,并中断用户已经请求的信息的提供。
内容提供者平台提供的内容项可以包括静态内容项。静态内容项可以包括各种各样的内容,诸如文本、图像、视频和音频或其任何组合。然而,这样的内容项具有有限的功能,特别是对于交互性。例如,响应于交互,内容项可能仅将应用(例如,web浏览器)重新定向到另一信息资源(在此也称为登录页面)。因为静态内容项具有更少的交互性,所以静态内容项与可比较交互式内容项相比,可能导致更少的人机交互(hci)。此外,通过发送不引起交互的静态内容项(例如,低点击率和hci),内容提供者平台浪费了网络资源,否则该网络资源本来可以用于引起交互或来自用户的其他响应的内容。
交互式内容项可以解决静态内容项的一些缺点,并且可以提高用户与内容项的交互性和交互性能。当与基于静态图像或基于文本的内容项相比时,可以显示交互式内容项以提高内容项的点击率。基于静态的内容项与交互式内容项的区别在于:它们可能不提供除重新定向到与内容项的发布者相关联的登录页面之外的任何交互。另一方面,交互式内容项可以比静态内容项提供更多的用户交互和参与机会,并且可以是例如小游戏。但是交互式内容项可能需要内容发布者更多的开发时间,这可能对大型和小型内容发布者都不利。此外,由于创建交互式内容项所需的努力,不同提供者和平台之间的质量可能会有很大差异。由于它们的复杂性,当在计算机网络之间进行通信时,手动创建的交互式内容项可能很大,会消耗磁盘空间或存储器,因此会消耗大量的网络资源。
为了解决前述技术问题,内容分发平台可以从自内容发布者接收的基于图像、视频或文本的资产自动生成交互式内容项。资产最初可以是静态的,除了与内容项进行交互时重新定向到登录页面之外几乎没有交互性。平台可以分析从内容发布者收到的资产,并生成html5和javascript指令以创建可以提供给客户端设备以在web浏览器或本原(native)应用中执行的捆绑。生成的捆绑可以提供交互式内容项,该交互式内容项可以将有关客户端设备与内容项的交互的反馈提供给内容分发平台。这些步骤中的每一个可以由内容分发平台利用本文所述的系统和方法提供的交互式内容管道(pipeline)来执行,从而提供了用于从静态资产生成交互式内容项的方便快捷的方式。
为了生成捆绑,内容分发平台可以识别由内容发布者提供的图像资产,以确定资产是否适合合并到交互式内容项。在确定资产适合用于交互之后,内容分发平台可以通过使用分区模板将静态内容划分为许多片或许多段来生成交互式捆绑。分区模板可以是例如标量向量图形路径,并且可以定义要生成的段的数量、每个段的大小、段的形状以及段相对于彼此的位置。这些片可以对应于例如拼图(puzzle)片形式的静态资产的互锁部分。结合将静态资产划分为段,内容提供者平台可以生成脚本,当该脚本在客户端设备上被执行时控制交互式内容项的行为。在已经生成脚本之后,内容提供者平台可以将生成的段和生成的脚本组合成html5捆绑,然后其被提供给客户端设备用于执行。此外,这些步骤中的每一个可以在没有内容分发平台的干预或指导的情况下进行,使得能够快速且自动地生成交互式内容。
一旦被加载到客户端设备上,脚本可以使客户端设备在客户端设备上的内容项框内渲染并随机分布生成的段,并允许用户与这些段进行交互以将它们移动到不同位置。每次在客户端设备上运行脚本时,脚本可以随机分配段,从而在每次显示交互式内容项时提供不同体验。另外,脚本可以向平台提供有关终端用户和交互式内容项之间的交互的进度更新。例如,脚本可以向平台提供段已经被返回其原始位置的指示(例如,难题已经被解决)。
因此,本文所述的技术解决方案可以在启用进一步动作之前提供需要用户交互的内容项。这可以能够使得内容提供者确定与内容项进行交互的实体是人类用户,而不是自动代理。这也可以在提供内容的过程中实现,可以提供该内容,而无需提供、执行和存储其他交互式元素,诸如captcha。此外,本文描述的解决方案可以通过生成交互式内容项来提供增强的人机交互,并显著减少基于内容项的复杂html5的开发时间。通过发送具有更高点击率和交互性的交互式内容项,相对于通信静态内容项,内容提供者平台可以更好地有效利用网络资源。此外,通过在预定大小需求之内生成html5捆绑,可以节省存储器和磁盘空间,并且在通信交互式内容项时可以减少使用的网络资源量。预定大小需求允许内容提供者平台控制和提高所生成的交互式内容项的网络利用率。
现在参照图1a,描绘了将静态内容项转换成交互式内容项的系统或环境100的框图。环境100可以包括至少一个计算机网络110。环境100可以包括至少一个内容发布者115。环境100可以包括至少一个内容提供者175。环境100可以包括至少一个客户端设备120a-n(以下通常称为客户端设备120)。环境100可以包括至少一个数据处理系统105。数据处理系统105可以包括至少一个内容检索器125、至少一个内容划分器130、至少一个内容打包器135、至少一个交互预测器140、至少一个模板选择器145和至少一个性能监视器150。数据处理系统105可以包括至少一个数据库155。在一些实现方式中,数据处理系统105可以包括内容发布者115。在一些实现方式中,数据处理系统105可以包括内容提供者175。在一些实现方式中,数据库155可以位于数据处理系统105的外部。数据库155可以包括内容项160a和160b(以下通常称为内容项160)、模板165和脚本库170。
环境100的每个组件(例如,网络110、内容发布者115、内容提供者175、客户端设备120、数据处理系统105、内容检索器125、内容划分器130、内容打包器135、交互预测器140、模板选择器145、性能监视器150、数据库155、内容项160a和160b、模板165和脚本库170)可以使用本文结合图5详细描述的计算系统500的硬件组件或软件与硬件组件的组合来实现。例如,数据处理系统105可以包括服务器或其他计算设备。内容提供者175和内容发布者115还可以包括服务器或其他计算设备。数据处理系统105的每个组件可以执行本文详述的功能。
网络110可以包括计算机网络(诸如本地互联网、广域网、城域网或其他局域网、内联网、卫星网络)、其他计算机网络(诸如语音或数据移动电话通信网络)及其组合。环境100的数据处理系统105可以经由网络110,例如与至少一个内容发布者115和至少一个内容提供者175以及至少一个客户端设备120通信。网络110可以是任何形式的计算机网络,其在客户端设备120、数据处理系统105和一个或多个内容源(诸如web服务器)等之间中继信息。在一些实现方式中,网络110可以包括互联网和/或其他类型的数据网络,诸如局域网(lan)、广域网(wan)、蜂窝网络、卫星网络或其他类型的数据网络。网络110还可以包括被配置为在网络110内接收和/或发送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络110还可以包括任意数量的硬连线和/或无线连接。客户端设备120可以与收发器无线地(例如,经由wifi、蜂窝、无线电等)通信,该收发器被硬连线(例如,经由光缆、cat5电缆等)到网络110中的其他计算设备。客户端设备120还可以经由代理设备(例如,路由器、网络交换机或网关)与网络110的计算设备无线通信。
数据处理系统105可以包括至少一个处理器和存储器,即处理电路。存储器存储处理器可执行指令,该处理器可执行指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质或处理器可以读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统105可以包括一个或多个可以执行各种功能的计算设备或服务器。
内容发布者115可以包括由内容发布实体操作的服务器或其他计算设备,以经由网络110提供包括在客户端设备120上显示的最初(primary)内容的一个或多个信息资源(例如,网页)。例如,内容发布者115可以包括网页运营商,其提供用于在网页上显示的最初内容。一个或多个信息资源可以包括除内容提供者175提供的内容以外的内容,并且网页可以包括被配置用于显示来自内容提供者175的内容项的内容插槽。例如,内容发布者115可以操作公司的网站,并且可以提供关于公司的内容以显示在网站的网页上。网页可以包括被配置用于显示内容提供者175的第三方内容项的内容插槽。在一些实现方式中,内容发布者115包括操作搜索引擎网站的搜索引擎操作者的搜索引擎计算设备(例如,服务器)。搜索引擎网页的最初内容(例如,结果或登录网页)可以包括搜索结果以及显示在内容插槽中的第三方内容项,诸如来自内容提供者175的内容项。下面将在环境100的上下文中解释内容发布者115的功能。
内容提供者175可以包括由内容提供者实体操作的服务器或其他计算设备,以提供在客户端设备120上的信息资源上显示的内容项160。内容提供者175提供的内容可以包括用于在信息资源上显示的第三方内容项160,诸如包括最初内容的信息资源,例如,内容提供者175提供的内容。内容项160也可以被显示在搜索结果网页上。例如,内容提供者175可以提供或者可以是显示在诸如公司的网页的信息资源的内容插槽中或显示在搜索引擎提供的搜索结果登录页面上的广告或其他内容项160的源,其中网页的最初内容由公司提供。可以在除网页之外的信息资源上显示与内容提供者175相关联的内容项160,诸如在智能手机或其他客户端设备120上作为应用执行的一部分而显示的内容。下面将在环境100的上下文解释内容提供者175的功能。
客户端设备120可以是被配置为经由网络110进行通信以显示诸如由内容发布者115提供的内容(例如,最初网页内容或其他信息资源)和由内容提供者175提供的内容(例如,例如,为在信息资源中显示配置的内容项)的数据。客户端设备120可以是台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费计算设备、服务器、客户端、数字录像机、电视机的机顶盒、视频游戏机或者配置为经由网络110进行通信的任何其他计算设备等。客户端设备120可以是终端用户可以通过其提交接收内容的请求的通信设备。请求可以是对搜索引擎的请求,并且请求可以包括搜索查询。在一些实现方式中,请求可以包括访问网页的请求。
客户端设备120可以包括处理器和存储器,即处理电路。存储器存储机器指令,该机器指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向处理器提供程序指令的任何其他存储或传输设备。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质或处理器可以读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
客户端设备120还可以包括一个或多个用户界面设备。通常,用户界面设备是指通过生成感官信息(例如,显示器上的可视化、一个或多个声音等)和/或将从用户接收的感官信息转换为电子信号而将数据传达给用户的任何电子设备(例如,键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。一个或多个用户界面设备可以在客户端设备120的壳体内部(例如,内置显示器、麦克风等),或者在客户端设备120的壳体外部(例如,连接到客户端设备120的监视器,连接到客户端设备120的扬声器等)。在一些实现方式中,客户端设备120可以包括电子显示器,该电子显示器使用经由网络110从一个或多个内容源和/或从内容发布者115或内容提供者175接收的网页数据来可视地显示网页。
内容检索器125可以识别向其添加交互性的至少一个静态内容项160a。静态内容项160a可以与内容提供者175中的一个相关联。静态内容项160a可以是具有最小交互性的内容项,并且包括诸如文本、图像、音频或视频的静态视觉内容以及响应于其上的交互将客户端设备120定向到登录页面的脚本。在一些实现方式中,内容检索器125可以访问数据库155以检索静态内容项160a。在一些实现方式中,内容检索器125可以识别要包括在静态内容项160a中的静态视觉内容。静态视觉内容的标识可以与整个静态内容项160a本身的标识相反。在一些实现方式中,内容检索器125可以自动识别静态内容项160a,而无需向静态内容项160a添加交互性的任何命令或请求。
在一些实现方式中,内容检索器125可以从内容提供者175接收将交互性包括到静态内容中的请求。在一些实现方式中,可以由内容提供者175使用用于与数据处理系统155相关联的内容放置平台的图形用户界面来生成和发送请求。图形用户界面可以包括触发请求的用户界面,以包括与静态内容项160a的交互性。例如,图形用户界面可以用于将静态内容项160a上传到数据处理系统105。图形用户界面可以包括带有选项的提示(例如,对应于单选按钮(radiobutton)),以包括与静态内容项160a的交互性。一旦选择了该选项,则内容提供者175可以将添加交互性的请求发送到静态内容项160a。在一些实现方式中,内容检索器125可以接收在请求中包括的一个或多个静态内容项160a。在一些实现方式中,内容检索器125可以检索每个静态内容项160a的视觉内容180作为请求的一部分。请求可以包括期望类型的交互(例如,益智游戏、其他类型交互等)。
内容检索器125接收的请求可以是交互式内容生成管道的开始,其可以将内容提供者175提供的静态内容资产转换为交互式内容项。本文关于数据处理系统105或其任何组件(例如,内容检索器125、内容划分器130、内容打包器135、交互预测器140、模板选择器145、性能监视器150、内容项160a-b、模板165和脚本库170)描述的技术中的每个可以使用来自内容提供者175的最少输入(例如,仅提供静态内容的单个请求)来执行。以这种方式,可以将交互式添加到静态内容,而无需内容提供者175的部分的手动或费力的工作。
在一些实现方式中,在从内容提供者175接收到静态内容项160a(或其中的视觉内容)时,内容检索器125可以将静态内容项160a存储在数据库155中。在一些实现方式中,请求可以包括标识数据库155中的静态内容项160a的信息(例如,静态内容项160a或视觉内容180的url地址)。在接收到标识静态内容项160a的信息时,内容检索器125可以访问数据库155以检索静态内容项160a。在一些实现方式中,内容检索器125可以接收在请求中包括的目标设备信息。例如,请求可以包括指示交互式内容将被提供给具有预定屏幕分辨率的设备的信息。
现在参照图1b,该图描绘了从静态内容项160a到交互式内容项160b的示例转换。静态内容项160a可以包括静态视觉内容180。静态视觉内容180可以包括例如图像、视频或文本等。静态视觉内容180可以与一个或多个参数相关联或归因于一个或多个参数,例如尺寸(例如,图像或视频的维度)、描述性关键字、估计交互率和/或内容元数据等。静态视觉内容180可以被绘制、渲染或以其他方式显示在框(frame)中。框可以定义可以提供内容项的区域。在一些实现方式中,框可以存在于其他内容之中,例如由内容发布者115提供的信息资源。静态内容项160a可以包括至少一个静态内容脚本185。在一些实现方式中,静态内容脚本185可以响应于与静态内容项160a的交互(例如,点击、按键或屏幕触摸)而打开客户端设备120上的登录页面。静态内容脚本185可以使静态内容项160a的静态视觉内容180被渲染、动画化、显示或以其他方式呈现。在一些实现方式中,静态内容脚本185可以将关于客户端设备120的信息发送到内容提供者175或内容发布者115。在一些实现方式中,静态内容脚本185可以将关于静态内容项160a的交互信息发送到内容提供者175或内容发布者115。在一些实现方式中,静态内容脚本185可以不向客户端设备120提供提示。在检测到输入时,静态内容脚本185除了将客户端设备120定向到登录页面以外,可以不使能与静态视觉内容180的交互。
通过对静态内容项160a的识别,内容检索器125可以确定静态内容项160a是否适合添加交互性。为了确定适合性,内容检索器125可以识别静态内容项160a的一个或多个参数,诸如静态视觉内容180的维度(例如,高度和宽度)。利用该识别,内容检索器125可以确定静态内容项160a的参数是否满足指定参数以适合。例如,为了适合,可以将静态视觉内容180指定为在宽度和高度的特定范围内。
在一些实现方式中,内容检索器125可以基于静态内容项160a的视觉内容180的内容来确定静态内容项160a的合格性(eligibility)。例如,具有大量文本的视觉内容180可能不适合交互式内容项,而描绘图像而没有文本的的视觉内容可能适合。在一些实现方式中,内容检索器125可以使用机器学习算法(例如,神经网络、卷积神经网络、循环神经网络、线性回归模型和稀疏向量机)来确定静态内容的合格性。内容检索器125可以将一个或多个静态内容项160a输入到机器学习模型中,并从模型接收指示静态内容适合交互性的输出信号。
在一些实现方式中,内容检索器125可以基于目标客户端设备120确定静态内容项160a的合格性,在目标客户端设备120上将显示从静态内容项160a生成的交互式内容项160b。目标客户端设备120可以对应于对其提供交互式内容项160b的客户端设备的类型(例如,智能电话、台式机或膝上型计算机)。客户端设备120可以具有不同的显示和输入/输出能力,并且适合于一种类型的客户端设备120上的交互的静态内容项160a可能不适合于另一种类型的客户端设备120上的交互。可以根据客户端设备120的类型的显示能力预先定义目标客户端设备120。对于对应于目标客户端设备120的每种类型的客户端设备120,内容检索器125可以确定静态视觉内容180是否适合。为了适合某种类型的客户端设备120,可以将静态视觉内容180指定为在一定的宽度和高度范围内。在一些实现方式中,在确定静态内容项160a适合于客户端设备120的类型后,内容检索器125可以将目标客户端设备120与静态内容项160a的关联存储到数据库155。
如果确定静态内容项160a不适合,则内容检索器125(和数据处理系统105)可以停止对静态内容项160a的进一步处理,并且可以维持静态内容项160a。否则,如果确定静态内容项160a适合,则内容检索器125(和数据处理系统105)可以进一步处理静态内容项160a以向静态内容项160a添加交互性。在一些实现方式中,内容检索器125可以将静态内容项160a存储到数据库155被进一步处理以包括交互性。在下面详细描述静态内容项160a的处理。
模板选择器145可以基于静态内容项160a的视觉内容180从数据库155中选择模板165的集合中的一个。每个模板165可以包括至少一个分段路径,该分段路径定义要形成的段190的数量、每个段190的形状以及每种形状的维度。在一些实现方式中,分段路径可以是可缩放向量图形(svg)路径。svg路径可以定义一个或多个段190的边界。每个段190可以具有大小、形状和位置。在一些实现方式中,模板165可以包括将静态视觉内容180划分为预定数量的相等大小的形状的指令,每个形状具有预定位置。在一些实现方式中,模板165可以包括将静态视觉内容180划分为预定数量的互锁形状(例如,拼图片)的指令,每个互锁形状具有预定位置。在一些实现方式中,段190的数量以及每个段190的大小、尺寸、形状和位置可以是预定的。在一些实现方式中,可以通过模板选择器145基于来自内容提供者175的输入来动态地确定段190的数量以及每个段190的大小、尺寸和位置。例如,内容提供者175可以在生成交互式内容的请求中包括模板165中的段190的尺寸、位置、形状和大小。内容划分器130可以使用模板165来从静态视觉内容180创建一个或多个段190。
在一些实现方式中,模板选择器145可以基于视觉内容180的维度(例如,宽度和高度)选择模板165。在一些实现方式中,模板165的集合中的一些模板可以被应用于具有特定维度或大小的静态视觉内容180。模板165的选择可以响应于确定静态内容项160a适合于添加交互性。可以为具有特定宽度或高度的静态视觉内容180选择模板165中的每个。模板选择器145可以通过将静态视觉内容180的兼容宽度和高度信息与模板165的宽度和高度进行比较来选择模板165。如果模板165的宽度和高度规格与静态视觉内容180的宽度和高度足够相似(例如,它们各自的差异小于预定阈值,诸如差异在10%之内),模板选择器145可以选择模板165。如果宽度和高度不够相似(例如,差异大于10%),则模板选择器145可以比较来自模板165的集合的不同模板的参数。在一些实现方式中,模板选择器145可以基于其上将显示交互式内容项160b的目标客户端设备120来选择模板165。例如,一个模板165可以对移动设备(例如,智能电话、平板电脑等)被优化,而另一模板165可以对个人计算设备(例如,膝上型计算机、台式计算机)被优化。
在一些实现方式中,为了选择模板165中的一个,交互预测器140可以计算、确定或预测在数据库155上维护的每个模板165的交互率。交互率可以指示与使用特定模板165生成的交互式内容项160b相关联的印象(impression)数(例如,浏览、点击或其他交互)。在一些实现方式中,交互率可以表示使用相应模板165生成的交互式内容项160b的估计点击率。在一些实现方式中,交互率可以表示使用相应模板165生成的交互式内容项160b的估计浏览(view-through)率。可以基于静态内容项160a的视觉内容180、交互式内容项160b的目标平台和/或模板165的类型,来预测交互率。在一些实现方式中,可以基于由每个模板165定义的段190的数量来确定每个模板165的交互率。例如,如果目标设备是一种类型的移动设备(例如,智能手机、平板电脑、电子阅读器等),则具有许多小段190的模板165的交互率可能低于具有少量更大的段190的模板165的交互率。
在一些实现方式中,交互预测器140可以基于来自一个或多个客户端设备120的反馈来确定模板165的交互率。客户端反馈可以被用于训练交互模型,交互模型可以是机器学习模型(例如,线性回归、神经网络、卷积神经网络、循环神经网络、稀疏向量机等)。客户端反馈可以包括客户端设备120的类型、与使用模板165生成的交互式内容项160b的交互的类型(例如,点击、悬停、按键和触摸屏)、交互的持续时间以及在客户端设备120上显示的交互式内容项160b是否导致对与交互式内容项160b相关联的登录页面的访问。交互预测器140可以在数据库155中在与相应模板165相关联的位置处存储每个模板165的交互率。在一些实现方式中,交互预测器140可以确定每种类型的客户端设备120(例如,智能手机、智能手表、平板电脑、笔记本电脑、个人计算机、其他计算设备等)的交互率。交互预测器140可以将每个客户端设备120的交互率存储在数据库155中与对应模板165相关联的位置处。
在一些实现方式中,模板选择器145可以基于由交互预测器140确定的对应交互率来从数据库155中选择模板165。用于从内容提供者175提供的静态内容创建交互式内容项160b的模板165可以影响交互式内容项160b的整体交互率。例如,特定模板165在特定类型的客户端设备120上可以具有更高的交互率。模板选择器145可以访问数据库155以确定每个模板165的交互率。在一些实现方式中,模板选择器145可以选择具有最高交互率的模板165。在一些实现方式中,模板选择器145可以选择对客户端设备120的类型(例如,智能电话、平板计算机、膝上型计算机、个人计算机、其他计算设备等)具有最高交互率的模板165。例如,模板选择器145可以选择对智能手机具有最高交互率的模板165。
通过选择,内容划分器130可以根据选择的分区模板165将静态内容项160a的视觉内容180划分为多个段190a-n(在下文中通常称为段190)。每个段190可以包括定义段190的相应维度、形状、大小和位置的参数。每个段190可以具有或被赋予与段190源自的视觉内容180的一部分相对应的原始位置。原始位置可以定义段190的坐标,因为段190对应于原始静态视觉内容180。段190的坐标可以由模板165定义,并且可以包括索引位置(例如,以(x,y)的形式)或像素坐标等。在一些实现方式中,段190的原始位置可以对应于模板165所定义的段190的左上角。在一些实现方式中,段190的原始位置可以对应于模板165所定义的段190的中心。内容划分器130可以将模板165中的指令应用于静态内容项160a的视觉内容180,以生成一个或多个段190。例如,模板165可以包括可以定义一个或多个内容形状的边界的svg路径。将svg路径应用于静态视觉内容180可以将静态视觉内容180切成由svg路径定义的一个或多个段190。可以配置svg路径,以使每个段190与模板165中的所有其他段190无缝配合(fit)。在一些实现方式中,模板165被配置为以使段190不无缝配合在一起,而是在每个段190之间包括间隙。
在划分静态视觉内容180时,内容划分器130可以确定每个段190的目标位置。对于每个段190,内容划分器130可以将原始位置识别为目标位置。可以基于在模板165中包括的段位置为一个或多个段190分配目标位置。目标位置可以定义交互式内容项160b的每个段190可以出现在其中的位置(例如,索引位置或像素位置)以创建完成条件。内容划分器130可以将段190存储在计算机存储器(例如,数据库155)中的位置处。例如,模板165可以包括九个段,具有三行三个相等大小的正方形段。因为在该示例中段190是正方形,所以每个段190可以具有相等的宽度和高度。当示例模板165被应用于静态视觉内容180时,静态视觉内容180可以被划分成九个相等大小的段,并且每个段可以包括静态视觉内容180的独特部分,例如在图2中。在将模板165应用于静态视觉内容180之后,可以立即基于相应段的位置,由内容划分器130将每个段190的目标位置分配给每个段190。在一些实现方式中,目标位置可以被存储为二维坐标。在一些实现方式中,目标位置可以被存储为与静态视觉内容180中的与原始位置的相对位置值(例如,左上角)。在一些实现方式中,每个段190的目标位置可以是相对于另一段190的相对位置(例如,段零的右边缘可以与段一的左边缘接壤等)。内容划分器130可以将每个段190的目标位置存储在计算机存储器(例如,数据库155)中的数据结构中。
内容划分器130可以包括静态视觉内容180的附加视觉元素。在一些实现方式中,内容检索器135可以响应于接收到创建交互式内容项的指示而将覆盖元素添加到静态视觉内容180。例如,内容检索器135可以插入指定静态视觉内容180或由其形成的段190最初被遮盖的编辑(例如,通过数字云或雾化动画等),直到响应于用户交互而被清除为止。内容划分器130可以向内容打包器135提供静态视觉内容180和用于打包到交互式内容项160b中的附加视觉元素。
现在参照图2,描绘了使用分区模板220将静态视觉内容180划分为段190,以用于合并到交互式内容项160b中。在图1a和图1b的上下文中,内容划分器130可以使用由模板选择器145选择的分区模板220(对应于模板165中的一个)来将静态视觉内容180划分为九个段190a-i。分区模板220可以包括一个或多个svg路径(例如,如所描绘的),其可以划分静态视觉内容180,使得段190可以互锁。在步骤210,内容划分器130可以识别每个段190a-i的目标位置,如所描绘的定位为相应段190a-i的原始位置。目标位置可以是段190在被内容划分器130划分之后的位置。尽管在此描述了段190a-i出现在特定位置,但是应当理解,分区模板220可以指定每个段190的目标位置,并且段190a-i可以出现在任何位置。在步骤215,当呈现段190a-i时,段190的初始分配位置可以与原始位置不同。例如,每个段190可以由脚本随机分配给一个位置。
内容打包器135可以生成包括来自视觉内容180的划分段190的交互式内容项160b,以及替换原始静态内容脚本185的交互式脚本195。在一些实现方式中,内容打包器135可以生成包括静态视觉内容180的交互式内容项160b和替换原始静态脚本185的交互式脚本196。内容打包器135可以生成交互式脚本195。交互式脚本195可以包括可由计算设备执行的指令。例如,交互式脚本195可以包括javascript、html5、php或任何其他类型的机器可执行指令。交互式脚本195还可以包括元数据(例如关于视觉内容180的元数据)、交互式内容项160b的大小或其他元数据等。元数据可以以数据结构,或以用于维护元数据(例如json)的特定格式被存储。
在一些实现方式中,交互式脚本195可以下载、高速缓存或以其他方式访问可执行指令,例如一个或多个脚本库170。每个脚本库170提供一个或多个功能或指令,这些功能或指令对于客户端设备120执行的交互式脚本195的其他操作可以是公共的。例如,脚本库170可以包括javascript库,可以包括这些javascript库以增强javascript代码的功能。另外,脚本库170可以包括html5库,可以提供html5库以扩展html5代码的功能。在一些实现方式中,交互式脚本195可以将从数据库155中检索到的一个或多个脚本库170高速缓存在客户端设备120的计算机存储器中。在一些实现方式中,被高速缓存的脚本库170可以由一个或多个交互式内容项160b访问。例如,交互式脚本195可以访问客户端设备120上的计算机存储器以确定脚本库170是否驻留在客户端设备120上。当经由客户端设备120访问脚本库170时,交互式脚本195可以提供与段190的交互,而无需提供交互的单独指令。以这种方式,交互式内容项160b的文件大小可以相对于在图形元素上提供相似交互性的单独应用而减小。这样,相对于这种应用的通信,可以减少在网络110上通信交互式内容项160b时消耗的网络带宽量。在一些实现方式中,交互式脚本195可以由对其提供交互式内容项160b的客户端设备120读取和执行。
内容打包器135可以确定交互式内容项160b的文件大小规格,并生成交互式内容项160b,使得交互式内容项160b的总大小小于或等于大小规格。在一些实现方式中,可以从内容提供者175接收大小规格。在一些实现方式中,大小规格可以是预定值。通过限制所生成的交互式内容项160b的大小,内容打包器135可以生成交互式内容项160b以匹配计算机网络的特定带宽规格,并且向网络资源提供附加控制以提供交互式内容项160b。
内容打包器135可以配置交互式脚本195以在执行时将静态视觉内容180的每个段190分配给新位置。至少一些段190的位置可以是每个段190的初始位置,其可以不同于每个段的目标位置。初始位置可以是在执行交互式脚本195之后显示段190的位置。可以基于输入将这些段190从初始位置移动到目标位置,以通过交互式脚本195提供提示或其他动作。可以分配每个段190的初始位置以增加交互式内容项160b的整体交互性。为了达到目标条件,交互式脚本195可以被配置为定义要返回到目标位置的每个段190。内容打包器135可以配置交互式脚本195以将段190中的至少一些分配给与原始位置不相等或不匹配的位置。分配的位置可以使内容项的交互性最大化(例如,所有段190将被交互以达到目标条件)。在一些实现方式中,每次客户端设备120执行交互式脚本195时,内容打包器135可以将交互式脚本195配置为将每个段190随机地分配给随机位置(例如,使用伪随机数发生器)。
在交互式内容项160b中不存在段190的实现方式中,内容打包器135可以将交互式脚本195配置为最初遮盖在交互式内容项160b中包括的静态视觉内容180。内容打包器135可以通过在静态视觉内容180上渲染雾化效果,或者通过在提供交互式内容项160b的渲染窗格的前景中渲染一些其他图像或动画,来遮盖静态视觉内容180。在一些实现方式中,内容打包器135可以配置交互式脚本195以渲染“刮掉”表面,其可以响应于一个或多个输入事件而部分地暴露静态视觉内容180。例如,滑动可以暴露静态视觉内容180中发生交互的坐标位置值。在一些实现方式中,内容打包器135可以实现一个或多个事件监听器以确定交互事件的坐标。基于交互事件的坐标,由内容打包器135配置的交互式脚本195可以在那些坐标处提供一个或多个动画,并且暴露静态视觉内容180的部分。
内容打包器135可以配置交互式脚本195以经由用户界面呈现提示,用于发起与交互式内容项160b的交互。提示可以是小窗口或对话框,其可以出现在其中渲染交互式内容项160b的框中。提示或对话框可以包括引用交互请求的文本。提示可以包括一个或多个按钮,这些按钮可以触发脚本以响应于交互而继续执行。在一些实现方式中,内容打包器135可以配置交互式脚本195以提供用于交互的选项和用于静态内容的选项。在一些实现方式中,提示可以包括交互式内容项160b的性质的细节(例如,益智游戏或其他类型的交互式内容等)。例如,提示可以包括概述与交互式内容项160b进行交互的规则或目标的指令,诸如“请完成拼图”。在一些实现方式中,内容打包器135可以将交互式脚本195配置为暂停启用与段190的交互,直到已经检测到与提示的交互为止。在一些实现方式中,响应于从提示中检测到对交互选项的选择,交互式脚本195可以如本文所述继续执行。相反,当没有选择交互选项时,交互式脚本195可以停止执行。在一些实现方式中,当没有选择交互选项时,可以显示不同种类的内容来代替交互式内容项160b。
内容打包器135可以配置交互式脚本195以显示、渲染或以其他方式呈现交互式内容项160b的段190。段190的呈现可以是响应于与呈现的提示一起检测到交互。交互式脚本195可以从执行交互式脚本195的客户端设备120访问图形功能。图形功能可以用于渲染、绘制或以其他方式在其中提供交互式内容项160b的框中可视地显示段190,例如在网页或本原应用中。框可以定义可以显示第三方内容的区域,例如静态内容项160a或交互式内容项160b。框可以包括呈现边界(例如,宽度和高度),其可以提供可以显示内容项的限制。在一些实现方式中,框在其他内容中具有固定的位置,例如,由内容发布者115提供的信息资源。在一些实现方式中,框可以占据客户端设备120的整个屏幕(例如,以全屏模式显示)。在一些实现方式中,可以在媒体流中(例如在视频或其他媒体内容中)动态地提供框。交互式内容项160b的段190可以在框内被渲染。在一些实现方式中,内容打包器135可以配置交互式脚本195以使段190以全屏模式渲染、绘制或以其他方式可视地显示。在一些实现方式中,内容打包器135可以配置交互式脚本195,使得它可以呈现段190,而无需用户与提示进行交互。
内容打包器135可以配置交互式脚本195以将交互式内容项160b的每个段190呈现在为段190初始分配的位置。呈现交互式内容项160b的段190可以包括在初始位置渲染、绘制或以其他方式可视地呈现每个段190。可以执行段190的渲染,使得段190被呈现在提供交互式内容项160b的框内。在一些实现方式中,交互式脚本195可以由内容打包器135配置以显示段190,以限制超出交互式内容项160b的框所定义的边界的移动。内容打包器135可以配置交互式脚本195以将每个段190随机分配到初始位置。在一些实现方式中,每个段190的初始位置可以与每个段190的目标位置不同。在一些实现方式中,一个段190的初始位置可以是另一段190的目标位置。在一些实现方式中,呈现段190可以包括首先在目标位置处渲染、绘制或以其他方式在可视地显示每个段190,然后在预定的时间量之后例如使用动画或其他种类的运动将段190移动到初始位置。在一些实现方式中,内容打包器135可以配置交互式脚本195以响应于段190出现在它们的相应初始位置处,使用动画、视觉效果或其他附加视觉特征来呈现交互式内容项160b的段190。
内容打包器135可以配置交互式脚本195以确定交互式内容项160b的段190是否在相应目标位置中。内容打包器135可以将脚本配置为连续监视每个段190的位置。在向每个段190分配初始位置期间,交互式脚本195可以将每个段190的初始位置与段190的目标位置进行比较。如果段190中的任何一个具有等于相应段190的目标位置的初始位置,则交互式脚本195可以被配置为将该段的初始位置重新分配给另一个位置。在一些实现方式中,如果至少一个段具有等于其目标位置的初始位置,则内容打包器135可以将交互式脚本195配置为重新分配所有段的初始位置。内容打包器135可以配置交互式脚本195以响应于确定每个段190在相应初始位置而不在目标位置中而启用与段190交互。
内容打包器135可以配置交互式脚本195,以启用与框内的交互式内容项160b的段190的交互。在启用交互的情况下,每个段190可以对应于与交互式内容项160b相对应的图形用户界面的用户元素。例如,每个段190可以对应于交互式内容项160b的html5对象,诸如内联(inline)框、命令按钮对象和图像对象等。内容打包器135可以配置交互式脚本195以在确定每个段190与目标位置不同之前启用与段190的交互。在一些实现方式中,内容打包器135可以配置交互式脚本195以处理与每个段190的交互。
在一些实现方式中,内容打包器135可以配置交互式脚本195以将事件监听器(例如,拖动监听器)与每个段190相关联或包括事件监听器。例如,内容打包器135可以在交互式脚本195中包括用于鼠标指针或基于触摸的界面的事件监听器,以使交互的段190从一个位置移动到另一位置。与段190的交互可以包括点击输入、触摸输入和/或拖动输入等。可以由被配置为检测与段190相关联的点击的一个或多个事件监听器来检测点击输入。可以由与每个段相关联的一个或多个事件监听器来检测触摸输入,可以将其配置为检测与每个段190的触摸交互。内容打包器135可以将拖动监听器配置为基于检测的拖动操作为每个段190分配位置。与每个段190相关联的事件监听器可以由内容打包器135配置为响应于事件检测来识别先前位置和下一位置。在一些实施例中,当用于段190的事件监听器检测到从段的初始位置到新位置的n次交互时,交互式脚本195可以被配置为将段190移动到由事件监听器指示的新位置。在一些实现方式中,如果已经检测到与段的交互,则内容打包器135可以将交互式脚本195配置为移动相应段190。例如,内容打包器135可以配置交互式脚本195以响应于来自触摸屏的触摸和移动输入而启用每个段190的拖动。
每当检测到与段190中的一个的交互时,内容打包器135可以配置交互式脚本195以将段190的渲染更新到提供由一个或多个事件监听器(例如,拖动监听器)指示的交互式内容项160b的框内的位置。在一些实施例中,当与段190相关联的事件监听器检测到交互(例如,拖动事件)时,事件监听器可以在交互事件发生时连续地提供其位置。内容打包器135可以配置交互式脚本195以在提供交互式内容项160b的框内在由事件监听器指示的位置渲染相应段190,这可以使段190看起来像跟随在客户端检测的交互事件。在一些实现方式中,内容打包器135可以配置交互式脚本195以响应于由一个或多个事件监听器检测的交互来渲染动画。例如,如果检测到与段190的交互,则内容打包器135可以配置交互式脚本195以渲染发光动画,如结合图3的步骤305c中那样。
内容打包器135可以配置交互式脚本195以确定交互式内容项160b的段190是否已经被移动到相应目标位置。段190是否被移动到相应目标位置的确定可以是交互式脚本195确定是否满足目标条件的确定的一部分。目标条件可以指定每个段190将从初始分配的位置移动到目标位置。内容打包器135可以将交互式脚本195配置为连续监视每个段190的位置,并将每个段190的位置与其相应目标位置进行比较。通过从客户端设备120接收的输入,每个段190可以被移动到不同位置。在一些实现方式中,内容打包器135可以配置交互式脚本195以响应于用户输入来执行每个段190的位置与相应目标位置之间的比较。例如,如果段190已被移动,则脚本可以检查位置更新。在一些实现方式中,内容打包器135可以配置交互式脚本195以基于预定时间间隔(例如每秒十次)将每个段190的位置与相应目标位置进行比较。当确定段190处于相应目标位置时,内容打包器135可以配置交互式脚本195以显示动画、视觉效果或其他种类的视觉指示符。响应于确定段190没有被移动到相应目标位置,内容打包器135可以配置交互式脚本195以继续监视与段190的交互。
内容打包器135可以配置交互式脚本195以响应于确定静态内容的段已经被移动到相应目标位置来执行动作。在一些实现方式中,交互式脚本195的动作可以包括显示带有与段190有关的信息的提示。信息可以由内容提供者175或内容发布者115提供。在一些实现方式中,交互式脚本195的动作可以包括响应于确定所有段190位于它们的相应目标位置而将客户端设备120定向到登录页面(例如,网页、本原应用等)。登录页面的地址可以由内容提供者175提供。在一些实施例中,内容打包器135可以从静态内容项180a的静态内容脚本185中识别登录页面的地址。在一些实现方式中,内容打包器135可以配置交互式脚本195以在达到目标条件时自动打开指向登录页面的地址。
在一些实现方式中,内容打包器135可以配置交互式脚本195以经由用户界面呈现提示,以提供与交互式内容项160b有关的信息。提示的呈现可以是响应于确定静态内容的段已经被移动到相应目标位置而可以执行的动作中的一个。在一些实现方式中,内容打包器135可以配置交互式脚本195以访问在客户端设备120上存在的本原应用界面,以经由用户界面呈现提示。在一些实现方式中,内容打包器135可以配置交互式脚本195以执行提供用户界面的指令而不依赖于本原应用界面。例如,内容打包器135可以配置交互式脚本195以显示具有定义提示的定制化图形设计的弹出窗口。定制化图形设计可以被包括在由内容提供者175接收的对交互式内容的请求中。在一些实现方式中,内容打包器135可以配置交互式脚本195以提供提示,该提示包括关于与交互式内容项160b相关联的登录页面有关的信息(例如,登录页面的标题、与登录页面相关联的任何各方、登录页面的地址、到登录页面的链接等)。在一些实现方式中,内容打包器135可以配置交互式脚本195以提供显示提示,该提示包括打开与登录页面相关联的地址的请求,登录页面与交互式内容项160b相关联。在一些实现方式中,内容打包器135可以配置交互式脚本195以响应于与提示的交互来打开客户端设备120上的应用。
内容打包器135可以配置交互式脚本195以向性能监视器150提供交互数据。交互数据可以包括每个段190的位置及它们的相应当前位置。交互数据还可以包括每个段190的位置及在检测与段190的交互之前它们的先前位置。内容打包器135可以配置交互式脚本195,以向性能监视器150提供指示,指示已经由与段190相关联的一个或多个事件监听器检测到交互。在一些实现方式中,内容打包器135可以配置交互式脚本195以包括计时器,以对关于与交互式内容项160b中的一个或多个段190的交互的时间进行计数。在一些实现方式中,交互数据可以包括关于与一个或多个段190的交互的时间数据。时间数据可以包括与段190的每个交互的时间戳。时间数据还可以包括从检测到与初始提示的交互起经过的时间量。
在一些实现方式中,内容打包器135可以向性能监视器150提供交互数据。在一些实现方式中,内容打包器135可以配置交互式脚本195来以预定间隔向性能监视器150提供交互数据。例如,内容打包器135可以配置交互式脚本195以在突发中将所有存储的交互数据发送到性能监视器150。交互数据可以被用于例如跟踪有多少段190已经移动到它们的相应目标位置。
内容打包器135可以配置交互式脚本195,以在满足目标条件之后(例如,所有段190处于它们的相应目标位置)向性能监视器150提供交互数据。在一些实现方式中,内容打包器135可以配置交互式脚本195以向性能监视器150提供关于目标条件的指示。指示可以是交互数据的一部分。在一些实现方式中,交互数据的时间数据可以包括从开始到检测到满足目标条件的时间。在一些实现方式中,内容打包器135可以配置交互式脚本195以提供关于在目标条件之后检测到与提示的交互的指示。指示可以是发送到性能监视器150的交互数据的一部分。在一些实现方式中,交互数据的时间数据可以包括与提示交互的时间戳。
通过生成交互式脚本195,内容打包器135可以将交互式脚本195与段190打包或将交互式脚本195添加段190,以创建交互式内容项160b。在一些实现方式中,交互式内容项160b可以是具有交互式内容项160b脚本的html5捆绑。交互式内容项160b脚本可以是javascript,并且可以包括一个或多个脚本库170,例如脚本库170。在一些实现方式中,内容打包器135可以使交互式脚本195模糊(例如,通过加密)。在一些实现方式中,内容打包器135可以配置交互式脚本195以响应于在客户端设备120上执行交互式脚本195而自动下载和高速缓存一个或多个脚本库170。交互式内容项160b可以由一个或多个内容发布者115访问,一个或多个内容发布者115可以将交互式内容项160b提供给一个或多个客户端设备120。在一些实现方式中,内容打包器135可以将压缩算法应用于段190和/或交互式脚本195以减少网络带宽利用率。
内容打包器135可以经由网络110将交互式内容项160b提供给一个或多个客户端设备120。内容打包器135可以响应于来自相应客户端设备120的请求来提供交互式内容项160b。例如,内容发布者115可以向客户端设备120(例如,诸如web浏览器的应用)提供信息资源(例如,网页)。信息资源可以包括至少一个内容插槽(例如,内联框),来自内容提供者175中的一个的附加内容将被插入到该内容插槽中。信息资源可以包括脚本,该脚本的执行可以使客户端设备120向数据处理系统105发送对内容的请求。在接收到请求时,内容打包器135可以经由网络110将交互式内容项160b发送到客户端设备120。在发送内容时,内容打包器135可以运行内容选择处理以找到并选择交互式内容项160b。发送到客户端设备120的交互式内容项160b可以包括一个或多个段190和交互式脚本195。在一些实现方式中,内容打包器135可以向客户端设备120提供到交互式内容项160b的地址(例如,引用内容提供者175的url地址)。在一些实现方式中,内容打包器135可以提供要被包括在交互式内容项160b中的每个段190(或段190中的一个或多个)的地址。在一些实现方式中,内容打包器135可以提供到交互式脚本195的地址,以向交互式内容项160b的段190提供交互式功能。
在一些实现方式中,在接收到对交互式内容项160b的请求时,数据处理系统105可以基于一个或多个选择因素来选择交互式内容项160b。选择可以根据内容放置处理。选择因素可以包括关于客户端设备120的信息,例如设备的类型(例如,智能手机、平板电脑、膝上型计算机、个人计算机等),请求内容项的应用的类型、客户端设备120的屏幕分辨率、在信息资源中包括的框的大小以及与内容项的显示或传递有关的其他任何其他因素。在基于选择因素选择适当的交互式内容项160b之后,数据处理系统105可以将交互式内容项160b发送到客户端设备120以在信息资源中包括的内容插槽(或框)中显示。
在一些实现方式中,内容打包器135可以基于客户端设备120的类型来提供交互式内容项160b,从该客户端设备120接收对内容的请求。内容打包器135可以识别客户端设备120的类型(例如,智能电话、膝上型计算机、机顶盒或台式机)。内容打包器135可以确定与请求相关联的客户端设备120的类型是否与被确定为适合添加交互性的静态内容项160a的目标客户端设备120匹配。在一些实现方式中,内容打包器135可以访问数据库155以识别目标客户端设备120与被确定为适合于与目标相对应的客户端设备的类型的静态内容项160a的关联。当存在匹配时,内容打包器135可以将交互式内容项160b提供给客户端设备120。否则,当不存在匹配时,内容打包器135可以搜索另一内容项(例如,对应的静态内容项160a)来提供。
通过从数据处理系统105传输交互式内容项160b,客户端设备120可以接收交互式内容项160b。在接收时,客户端设备120(或在客户端设备120上运行的应用)可以解析交互式内容项160b以识别交互式脚本195和段190。在一些实现方式中,客户端设备120可以识别从数据处理系统105接收的交互式内容项160b的地址,并且可以使用地址(例如,从内容提供者175)检索交互式内容项160b。在一些实现方式中,客户端设备120可以识别一个或多个段190的地址,并且可以使用地址来检索段190。在一些实现方式中,客户端设备120可以由数据处理系统105提供的交互式脚本195的地址,并且可以使用地址来检索交互式脚本195。
在从交互式内容项160b解析交互式脚本195和段190之后,客户端设备120(或在客户端设备120上运行的应用)可以将交互式内容项160b插入信息资源的内容插槽中。客户端设备120还可以调用并执行在交互式脚本195中指定的功能。交互式脚本195的功能可以与插入交互式内容项160b的信息资源的功能分开。此外,客户端设备120可以将交互式脚本195和段190加载到计算机存储器中的位置。客户端设备120的计算机存储器对于提供信息资源的应用(例如,web浏览器)的可访问的。在一些实现方式中,交互式内容项160b的加载处理可以包括请求和下载一个或多个脚本库170。
通过交互式脚本195的调用,客户端设备120可以执行由交互式脚本195指定的指令。客户端设备120可以利用信息资源的内容插槽来示出、渲染或以其他方式显示从交互式内容项160b中提取的段190。当交互式内容项160b被插入到信息资源的内容插槽中的一个中时,交互式脚本195的功能可以被约束到与内容插槽相对应的框的边界。在一些实现方式中,段190可以被显示在它们的初始位置。例如,段190可以被显示在它们的目标位置并且被自动地移动到它们的初始位置。
此外,客户端设备120可以根据交互式脚本195通过事件监听器来启用与段190的交互。例如,使用与段190中的一个相关联的鼠标拖动事件监听器,客户端设备120可以检测对段190的拖放事件。由交互式脚本195关联到每个段190的事件监听器可以受到与对其插入交互式内容项160b的信息资源的内容插槽相对应的框的边界的约束。这样,内容插槽的边界之外的交互可能不会影响或触发与交互式内容项160b的段190相关联的交互式脚本195的任何事件监听器。响应于事件的检测,客户端设备120可以识别交互的最终位置,并且渲染从初始分配的位置移动到最终位置的段190。客户端设备120可以继续执行交互式脚本195,直到已经达到目标条件为止。响应于段190被移动到它们的相应目标位置,目标条件可以发生或被检测。
当交互式脚本195正在执行时,客户端设备120可以将交互数据发送到数据处理系统105。例如,交互数据可以包括每个段190的位置以及它们的相应当前位置。另外,交互数据可以包括与段190的每个交互的时间戳。客户端设备120可以执行脚本以响应于目标条件而呈现提示。例如,在达到目标条件时,客户端设备120可以呈现带有文本“单击此处以下载应用”的消息框。客户端设备120可以发送指示是否检测到与提示的交互的附加交互数据。交互数据的时间数据可以包括到检测到目标条件流逝的时间量。
参照图3,描绘了与交互式内容项160b的交互的示例图示。在步骤305a,客户端设备120可能已经渲染交互式内容项的段(例如,段190)。段310可以不在相应目标位置。在步骤305b,客户端设备已经接收到指示与段310的交互的输入。在该示例中,交互是由在客户端设备120上执行的交互式脚本(例如,交互式脚本195)检测到的拖动事件。段310的位置可能已经被改变以对应于拖动事件。在步骤305c,段310可能已经通过客户端设备检测的拖动事件被移动到其相应目标位置。客户端设备120可以响应于段310到达相应目标位置来提供动画,这里示出为发光动画。在一些实现方式中,动画可以是临时的。在一些实现方式中,客户端设备120可以在段310已经被移动到目标位置之后维持段310的位置。在步骤305d,动画已经停止并且段310可以不再发光。段310可能已经到达目标位置,并且由客户端设备渲染为与其他段互锁。
在向客户端设备102提供交互式内容项160b之后,性能监视器150可以从客户端设备120接收交互数据。交互数据可以指示每个段190的位置。在一些实现方式中,交互数据可以指示段190是否已经移动到目标位置。在一些实现方式中,性能监视器150可以响应于检测到与段190中的一个的交互而从相应客户端设备接收交互数据。可以根据在客户端设备120上运行的交互式脚本195来提供交互数据。例如,交互数据可以包括与每个段190相对应的交互。交互数据可以响应于与段190相关联的事件监听器检测的交互,为每个段190指定先前位置和后续位置。交互数据还可以包括每个交互的时间戳。在一些实现方式中,交互监控器可以实时接收交互数据(例如,当交互发生在客户端设备120上时,交互数据被发送到性能监控器150并由性能监控器150接收)。在一些实现方式中,性能监视器150可以间隔地接收交互式数据。在一些实现方式中,可以基于预定时间间隔(例如,从10秒到5分钟的范围)周期性地接收交互数据。
此外,在所有段190到达相应目标位置之后,性能监视器150可以从客户端设备120接收交互数据。在一些实现方式中,交互数据可以包括客户端设备120已经访问了与交互式内容项160b相关联的登录页面的指示。在一些实现方式中,交互数据可以包括在客户端设备120处是否检测到与由交互式脚本195提供的提示的交互的指示。指示可以是交互数据的一部分,并且可以包括与提示的交互相关的时间数据。在一些实现方式中,性能监控器150可以接收所有段190已经到达它们的相应目标位置的指示。指示可以是交互数据的一部分,并且可以包括时间数据,诸如达到目标条件所流逝的时间。
现在参照图4,描绘了用于生成包括脚本的交互式内容项并在客户端设备上执行脚本的方法400的流程图。可以结合以上在此详细描述的至少一个客户端设备120使用数据处理系统105,或以下结合图5在此描述的计算机系统500来实现或执行方法400。总的来说,数据处理系统可以识别内容项和脚本(405)。数据处理系统可以确定内容项是否合适(410)。数据处理系统可以使用分区模板来划分内容项(415)。数据处理系统可以生成第二内容项和脚本(420)。数据处理系统可以将内容项提供给客户端设备(425)。客户端设备可以从内容项发起脚本(430)。客户端设备可以为每个段分配位置(435)。客户端设备可以渲染每个段(440)。客户端设备可以启用段交互(445)。客户端设备可以确定段是否在它们的相应目标位置中(450)。客户端设备可以执行动作(455)。
数据处理系统(例如,数据处理系统105)可以识别内容项(例如,静态内容项160a)(405)。内容项可以包括视觉内容(例如,视觉内容180)。视觉内容可以包括图像、视频和文本等。视觉内容可以与一个或多个参数相关联或归因于一个或多个参数,例如维度(例如,宽度和高度)、编码信息、描述性文本字符串或其他元数据等。内容项可以包括脚本(例如,静态内容脚本185)。在一些实现方式中,数据处理系统可以从内容项中提取视觉内容及其一个或多个参数,以用于进一步处理。在一些实现方式中,数据处理系统可以从内容提供者(例如,内容提供者175)接收视觉内容和一个或多个参数。
数据处理系统可以确定内容项是否适合(410)。在一些实现方式中,数据处理系统可以基于视觉内容的大小(例如,宽度和高度)来确定合格性。例如,数据处理系统可以将视觉内容的宽度和高度与预定阈值进行比较。在一些实现方式中,如果内容项的宽度和/或高度超过一个或多个预定阈值,则数据处理系统可以确定内容项不适合。如果内容项的宽度和高度在一个或多个预定阈值之内,则数据处理系统可以确定视觉内容是适合的。在一些实现方式中,基于用于交互式内容项的目标平台来选择预定阈值。例如,目标平台可以具有特定屏幕分辨率,该特定屏幕分辨率定义其自己的用于内容项的宽度和高度的预定阈值。如果数据处理系统确定视觉内容是适合的,则数据处理系统可以前进以在步骤(415)中划分视觉内容。如果数据处理系统确定内容项不适合,则数据处理系统可以返回到步骤(405)以识别不同的视觉内容。
数据处理系统可以使用分区模板(例如,模板165)来划分内容项的视觉内容(415)。划分视觉内容项可以包括选择分区模板。在一些实现方式中,分区模板可以包括一个或多个svg路径。svg路径可以定义将使用在步骤(405)中识别的视觉内容来创建的段(例如,段190)的边界、形状和/或大小。模板可以包括每个段的目标位置。数据处理系统可以通过将分区模板应用于视觉内容来创建一个或多个段。应用分区模板可以包括沿着在分区模板中包括的svg路径划分视觉内容。在一些实现方式中,每个划分的段可以与划分的视觉内容的其他段互锁,以形成与视觉内容相关联的图像、视频或其他视觉表示(例如,拼图)。
数据处理系统可以生成交互式内容项和脚本(420)。数据处理系统可以生成脚本以将交互性添加到在步骤(415)中生成的划分的段。在一些实现方式中,生成脚本可以包括配置脚本以响应于从执行脚本的计算设备接收的输入事件而启动段的移动。输入事件可以是触摸输入或鼠标移动输入等。在一些实现方式中,脚本可以被配置为向每个段随机地分配不等于其相应目标位置的随机(例如,伪随机)位置。在一些实现方式中,脚本可以被配置为在框中渲染一个或多个段,并呈现它们以用于交互。在一些实现方式中,脚本可以被配置为提供提示,指示框中的内容是交互式的。在一些实现方式中,脚本可以被配置为向数据处理系统提供交互数据。数据处理系统可以打包脚本和一个或多个段以创建交互式内容项(例如,交互式内容项160b)。交互式内容项可以被实现为例如html5捆绑,可以包括javascript。在一些实现方式中,数据处理系统可以生成交互式内容项,使得它在特定预定大小规格(例如,两兆字节)内。
数据处理系统可以提供交互式内容项(425)。数据处理系统可以将交互式内容项提供给至少一个客户端设备(例如,客户端设备120中的一个)。数据处理系统可以经由计算机网络(例如,网络110)发送内容项。在一些实现方式中,可以在客户端设备上的一个或多个框中显示交互式内容项。在一些实现方式中,客户端设备可以响应于从数据处理系统接收交互式内容项而从交互式内容项提取段和脚本。
客户端设备(例如,客户端设备120中的一个)可以发起脚本(430)。发起脚本可以包括在计算机存储器中为一个或多个段分配缓冲区。在一些实现方式中,发起脚本可以包括从数据处理系统下载一个或多个脚本库(例如,脚本库170)。下载脚本库可以包括为脚本库分配存储。客户端设备可以响应于从数据处理系统接收脚本库而将脚本库高速缓存在计算机存储器中的位置中。客户端设备可以响应于存储或高速缓存脚本库和/或将段存储在计算机存储器中而开始执行脚本。
客户端设备可以为每个段分配初始位置(435)。可以由在交互式内容项中包括的脚本来随机地分配位置(例如,使用伪随机数生成器)。在一些实现方式中,可以为段分配与其相应目标位置不同的位置。每个段的目标位置可以由用于创建段的分区模板定义。在一些实现方式中,分区模板可以为每个段分配初始位置。客户端设备可以确定是否为每个段分配了与其相应目标位置不同的初始位置。如果客户端设备确定段的初始位置与段的目标位置相同,则客户端设备可以例如使用伪随机数生成器为该段分配新的初始位置。
客户端设备可以呈现每个段(440)。客户端设备可以通过访问客户端设备的一个或多个显示功能来呈现每个段。客户端设备可以在框内呈现每个段。框可以指定交互式内容项和段的边界,并且可以包括用于在其中渲染交互式内容项的段的预定宽度、高度和位置。在一些实现方式中,框可以被包括在由内容发布者(例如,内容发布者115)提供的信息资源中。在一些实现方式中,客户端设备可以在它们的相应初始位置渲染交互式内容项的一个或多个段。在一些实现方式中,客户端设备可以在它们的相应目标位置渲染交互式内容项的一个或多个段,然后在视觉上将这些段移动到它们的相应初始位置。在一些实现方式中,呈现每个段可以包括提供包括段的动画。
客户端设备可以启用与每个段的交互(445)。客户端设备可以开始监视来自输入设备的输入(例如,鼠标指针、基于触摸的输入等),以确定输入是否包括与在步骤(435)呈现的一个或多个段的交互。在一些实现方式中,客户端设备可以响应于来自输入设备的输入将一个或多个段移动到新位置。例如,如果输入包括点击和拖动段中的一个,则客户端设备可以将段移动到输入设备指示的位置。在一些实现方式中,客户端设备可以响应于输入而提供动画。
客户端设备可以确定每个段是否在目标位置中(450)。在一些实现方式中,客户端设备可以连续地监视每个段的位置。在一些实现方式中,客户端设备可以响应于输入事件(例如,鼠标点击、基于触摸的输入等)来监视每个段的位置。客户端设备可以将每个段的位置与其相应目标位置进行比较。在一些实现方式中,如果客户端设备确定段的位置等于其目标位置,则客户端设备可以提供指示段已经到达其目标位置的动画。在一些实现方式中,如果客户端设备确定段已经到达其目标位置,则客户端设备可以禁用与该段的交互。客户端设备可以响应于段被移动到其目标位置而将包括每个段的位置的交互数据发送到数据处理系统。如果客户端设备确定所有段已经被移动到它们的目标位置,则客户端设备可以执行步骤(450)中的动作。如果客户端设备确定并非所有段被移动到它们的相应目标位置,则客户端设备可以继续启用与段的交互,如步骤(445)所示。
客户端设备可以执行动作(455)。在一些实现方式中,客户端设备可以响应于所有段被移动到它们的相应目标位置来执行动作。在一些实现方式中,动作可以包括在客户端设备上呈现提示,指示所有段已经被移动到它们的相应目标位置。在一些实现方式中,提示可以包括到登录页面的链接或与交互式内容项有关的其他信息。客户端设备可以打开登录页面的地址。例如,客户端设备可以使用web浏览器打开与交互式内容项有关的登录页面的地址。在一些实现方式中,客户端设备可以在客户端设备上执行的本原应用中打开登录页面的地址。在一些实现方式中,动作可以包括向数据处理系统提供所有段已经被移动到它们的相应目标位置的指示。指示可以包括指示在客户端设备上已经呈现提示的数据。客户端设备可以响应于在客户端设备上打开登录页面而向数据处理系统提供交互数据,包括对登录页面已经在客户端设备上打开的指示。
图5示出根据一些实现方式的示例性计算机系统500的总体架构,该示例性计算机系统500可以用于实现本文所讨论的任何计算机系统。计算机系统500可以用于经由网络110提供信息以显示。图5的计算机系统500包括通信地耦合到存储器525的一个或多个处理器520、一个或多个通信接口505、一个或多个输出设备510(例如,一个或多个显示单元)和一个或多个输入设备515。可以在数据处理系统105或系统500的其他组件中包括处理器520。
在图5的计算机系统500中,存储器525可以包括任何计算机可读存储介质,并且可以存储诸如用于各个系统实现本文所述的各种功能的处理器可执行指令的计算机指令,以及由此生成或经由通信接口或输入设备(如果有)接收的与之相关的任何数据。再次参照图5的系统500,数据处理系统可以包括存储器525,以存储与用户标识符的集合、生成的向量等有关的信息。图5中所示的处理器520可以用于执行存储在存储器525中的指令,并且在这样做时,还可以从存储器中读取或向存储器写入根据指令的执行而处理和/或生成的各种信息。
图5所示的计算机系统500的处理器520还可以通信地耦合到或控制通信接口(或多个)505以根据指令的执行来发送或接收各种信息。例如,通信接口(或多个)505可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统800向其他设备(例如,其他计算机系统)发送信息或从其他设备接收信息。虽然在图5的系统中未明确示出,但是一个或多个通信接口促进系统500的组件之间的信息流动。在一些实现方式中,通信接口(或多个)可以被配置(例如,经由各种硬件组件或软件组件)以提供网站作为对计算机系统500的至少一些方面的访问门户。通信接口505的示例包括用户接口(例如,网页),用户可以通过该用户接口与数据处理系统105通信。
可以提供图5中所示的计算机系统500的输出设备510,以允许结合指令的执行来浏览或以其他方式感知各种信息。可以提供输入设备(或多个)515,例如以允许用户在指令执行期间进行手动调整,做出选择,输入数据或以各种方式与处理器交互。本文中进一步提供了与可以用于本文所讨论的各种系统的通用计算机系统架构有关的附加信息。
本说明书中描述的主题和操作的实现方式可以在数字电子电路中或在有形介质、固件或硬件上体现的计算机软件中实现,包括本说明书中公开的结构及其等同结构,或其一个或多个的组合。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个组件,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可以在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码程序指令,生成该信号对信息进行编码以传输到合适的接收器设备由数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或其一个或多个的组合中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以包括以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)或包含在其中。
本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,该智能电视模块可以包括处理模块,被配置为将互联网连接与更传统的电视节目源(例如,通过电缆、卫星、空中或其他信号接收)集成在一起。智能电视模块可以物理地合并到电视机中,或者可以包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统以及其他配套设备。智能电视模块可以被配置为允许观看者搜索和查找在网络上、本地有线电视频道上、卫星电视频道上或存储在本地硬盘上的视频、电影,照片和其他内容。机顶盒(stb)或机顶单元(stu)可以包括信息设备,该设备可以包含调谐器并连接到电视机和外部信号源,将信号调谐为内容,然后显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供主屏幕或顶级屏幕,包括用于多个不同应用(诸如web浏览器和多个流媒体服务)、连接的电缆或卫星媒体源、其他web“信道”的图标。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作,以向用户提供有关可用节目的附加信息,以允许用户控制智能电视模块等。在替代实现方式中,可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、掌上计算机、平板电脑或其他计算设备实现特征。
本说明书中描述的操作可以被实现为由数据处理设备对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理设备”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、芯上系统或者前述的多个或组合。装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型架构,诸如网络服务、分布式计算和网格计算架构。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明性或过程语言)编写,并且可以以任何形式进行部署,包括作为独立程序或适合在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),专用于所讨论程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将计算机程序部署为在一个计算机上或在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
可以由一个或多个可编程处理器执行本说明书中描述的处理和逻辑流程,所述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件包括用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备(例如,eprom,eeprom和闪存设备);磁盘,(例如,内部硬盘或可移动磁盘);磁光盘;以及cd-rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、等离子或lcd(液晶显示)监视器)以及键盘和指示设备(例如,鼠标或轨迹球,用户可以通过该指示设备向计算机提供输入)的计算机上实现本说明书中描述的主题的实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从网页浏览器接收的请求,将网页发送到用户客户端设备上的网页浏览器。
本说明书中描述的主题的实现可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器根据本说明书中描述的主题的实现交互),或者一个或多个此类后端组件、中间组件或前端组件的组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网际网络(例如,互联网)和对等网络(例如,adhoc对等网络)。
诸如数据处理系统105的计算系统可以包括客户端和服务器。例如,数据处理系统105可以包括一个或多个数据中心或服务器场中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实现方式中,服务器将数据(例如,html页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从中接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
尽管本说明书包含许多特定的实现细节,但是这些细节不应解释为对任何发明或可能要求保护的范围的限制,而应理解为对本文所述系统和方法的具体实现方式特定的特征的描述。在本说明书中在单独的实现方式的上下文中描述的一些特征也可以在单个实现方式中组合实现。相反,在单个实现方式的上下文中描述的各种特征也可以分别在多个实现方式中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以一些组合起作用并且甚至最初如此宣称,但是在一些情况下,可以从组合中删除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以获得期望的结果。在一些情况下,可以以不同的顺序执行权利要求中记载的动作,并且仍然实现期望的结果。另外,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。
在一些情况下,多任务和并行处理可能是有利的。此外,在上述实现方式中的各种系统组件的分离不应被理解为在所有实现方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以被集成在一起在单个软件产品中或打包到多个软件产品。例如,数据处理系统105可以是单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或搜索引擎的一部分。
现在已经描述了一些说明性实现方式,很明显,前述内容是说明性的而不是限制性的,已经以示例的方式给出了。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是可以以其他方式组合那些动作和那些元件以实现相同的目标。仅结合一种实现方式讨论的动作、元件和特征不旨在被排除在其他实现方式中的类似角色之外。
本文所使用的措词和术语是出于描述的目的,并且不应被视为限制。本文中“包括”、“具有”,“包含”、“涉及”、“特征是”、“特征在于”及其变体的使用意在涵盖其后列出的项、其等同物以及附加项,以及由之后专门列出的项组成的替代实现方式。在一种实现方式中,本文描述的系统和方法由所描述的元件、动作或组件中的一个、多于一个的每种组合或全部组成。
对本文中单数形式提及的系统或方法的实现方式或元件或动作的任何引用也可以包含包括多个这些元件的实现方式,并且对本文中复数形式的任何实现方式或元件或动作的任何引用也可以包含仅包括单个元件的实现方式。单数或复数形式的引用不意在将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。对基于任何信息、动作或元件的任何动作或元件的引用可以包括动作或元件至少部分基于任何信息、动作或元件的实现方式。
本文公开的任何实现方式可以与任何其他实现方式组合,并且对“实现方式”、“一些实现方式”、“替代实现方式”、“各种实现方式”、“一个实现方式”等的引用不一定是互斥的并且旨在指示结合该实现方式描述的特定特征、结构或特性可以被包括在至少一个实现方式中。如本文所使用的这样的术语不一定全部指代相同实现方式。任何实现方式可以以与本文公开的各方面和实现方式一致的任何方式与任何其他实现方式包含性地或排他性地相结合。
对“或”的引用可以被解释为包括性的,使得使用“或”描述的任何术语可以指示单个、一个以上以及所有所描述的术语中的任何一个。
在附图、详细描述或任何权利要求中的技术特征之后是附图标记的情况下,仅出于增加附图、详细描述和权利要求的可理解性的目的而包括了附图标记。因此,存在或不存在附图标记对任何权利要求要素的范围没有任何限制作用。
在不脱离其特征的情况下,本文描述的系统和方法可以以其他特定形式来体现。尽管本文提供的示例涉及控制信息资源内容的显示,但是本文描述的系统和方法可以包括应用于其他环境。前述实现方式是说明性的,而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。
1.一种方法,包括:
通过包括一个或多个处理器的数据处理系统识别包括第一脚本的第一内容项的视觉内容,所述第一脚本被配置为响应于第一内容项的加载而呈现视觉内容;
通过数据处理系统根据分区模板将第一内容项的视觉内容划分为多个段,所述分区模板定义将从视觉内容形成的段的数量、多个段中的每个段的形状以及每个形状的维度,多个段中的每个段对应于视觉内容的不同部分;
通过数据处理系统生成第二内容项,以包括将要在框中呈现的多个段和第二脚本,所述第二脚本被配置为:
响应于第二内容项的加载,将多个段中的每个段分配到多个位置中的一个,多个位置中的每个位置定义在框中将要呈现段的区域;
根据分配给多个段中的每个段的多个位置,在框内呈现多个段;
经由交互启用多个段中的每个段在框内的多个位置之间移动;
响应于检测到与多个段中的一个的交互,确定多个段从多个位置移动到目标多个位置;和
响应于确定多个段移动到目标多个位置,执行提供与视觉内容有关的信息的动作;以及
通过数据处理系统将第二内容项提供给客户端设备,以使客户端设备根据第二脚本呈现多个段。
2.根据权利要求1所述的方法,还包括:通过数据处理系统基于第一内容项的视觉内容从多个分区模板中选择分区模板,
其中,划分视觉内容还包括:响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
3.根据权利要求1或2所述的方法,还包括:
通过数据处理系统对多个分区模板中的每个分区模板确定与根据对应分区模板划分的视觉内容的预测交互率;以及
通过数据处理系统基于为多个分区模板中的每个分区模板确定的预测交互率,从多个分区模板中选择分区模板,
其中,划分视觉内容还包括:响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
4.根据前述权利要求中的任何一项所述的方法,还包括:通过数据处理系统基于第一内容项的视觉内容来确定第一内容项适合添加交互性,以及
其中,划分视觉内容还包括:响应于确定第一内容项是适合的,根据分区模板将视觉内容划分为多个段。
5.根据前述权利要求中的任何一项所述的方法,还包括:通过数据处理系统将多个段的初始多个位置识别为目标多个位置,初始多个位置中的每个位置定义从中获取段的第一内容项的视觉内容内的区域;以及
其中,生成第二内容项还包括生成第二内容项以包括第二脚本,所述第二脚本被配置为响应于检测到与多个段中的一个的交互来确定多个段被从多个位置移动到初始多个位置。
6.根据前述权利要求中的任何一项所述的方法,其中,生成第二内容项还包括生成第二内容项以包括第二脚本,所述第二脚本被配置为:
在框内呈现发起与第二内容项的交互的提示;以及
响应于检测到与提示的交互,根据多个位置在框内呈现多个段。
7.根据前述权利要求中的任何一项所述的方法,其中,生成第二内容项还包括生成第二内容项以包括第二脚本,所述第二脚本被配置为执行动作,所述动作包括呈现提示,以呈现与视觉内容有关的信息,所述信息由与第一内容项相关联的内容提供者提供。
8.根据前述权利要求中的任何一项所述的方法,其中,划分第一内容项的视觉内容还包括根据分区模板将视觉内容划分为多个段,分区模板包括分段路径,以定义要形成的段的数量、多个段中的每个段的形状以及每个形状的维度。
9.根据前述权利要求中的任何一项所述的方法,其中,识别第一内容项还包括从内容提供者接收将交互性包括到内容中的请求,所述请求包括第一内容项。
10.根据前述权利要求中的任何一项所述的方法,还包括:响应于执行动作,通过数据处理系统从客户端设备接收多个段被移动到第一多个位置的指示。
11.一种系统,包括:
数据处理系统,包括一个或多个处理器,所述数据处理系统被配置为:
识别包括第一脚本的第一内容项的视觉内容,所述第一脚本被配置为响应于第一内容项的加载而呈现视觉内容;
根据分区模板将第一内容项的视觉内容划分为多个段,所述分区模板定义将从视觉内容形成的段的数量、多个段中的每个段的形状以及每个形状的维度,多个段中的每个段对应于视觉内容的不同部分;
生成第二内容项,以包括将要在框中呈现的多个段和第二脚本,所述第二脚本被配置为:
响应于第二内容项的加载,将多个段中的每个段分配到多个位置中的一个,多个位置中的每个位置定义在框中将要呈现段的区域;
根据分配给多个段中的每个段的多个位置,在框内呈现多个段;
经由交互来启用多个段中的每个段在框内的多个位置之间移动;
响应于检测到与多个段中的一个的交互,确定多个段从多个位置移动到目标多个位置;和
响应于确定多个段被移动到目标多个位置,执行提供与视觉内容有关的信息的动作;以及
将第二内容项提供到客户端设备,以使客户端设备根据第二脚本呈现多个段。
12.根据权利要求11所述的系统,其中,数据处理系统还被配置为:
基于第一内容项的视觉内容从多个分区模板中选择分区模板;以及
响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
13.根据权利要求11或12所述的系统,其中,数据处理系统还被配置为:
对多个分区模板中的每个分区模板确定与根据对应分区模板划分的视觉内容的预测交互率;
基于为多个分区模板中的每个分区模板确定的预测交互率,从多个分区模板中选择分区模板,以及
响应于从多个分区模板中选择分区模板,根据分区模板将视觉内容划分为多个段。
14.根据权利要求11、12或13所述的系统,其中,数据处理系统还被配置为:
基于第一内容项的视觉内容确定第一内容项适合添加交互性;以及
响应于确定第一内容项是适合的,根据分区模板将视觉内容划分为多个段。
15.根据权利要求11-14中的任何一项所述的系统,其中,数据处理系统还被配置为:
将多个段的初始多个位置识别为目标多个位置,初始多个位置中的每个位置定义从中获取段的第一内容项的视觉内容内的区域;以及
生成第二内容项以包括第二脚本,所述第二脚本被配置为响应于检测到与多个段中的一个的交互来确定多个段从多个位置移动到初始多个位置。
16.根据权利要求11-15中的任何一项所述的系统,其中,数据处理系统还被配置为:
生成第二内容项以包括第二脚本,所述第二脚本被配置为:
在框内呈现发起与第二内容项的交互的提示;以及
响应于检测到与提示的交互,根据多个位置在框内呈现多个段。
17.根据权利要求11-16中的任何一项所述的系统,其中,数据处理系统还被配置为:
生成第二内容项以包括第二脚本,所述第二脚本被配置为执行动作,所述动作包括呈现提示,以呈现与视觉内容有关的信息,所述信息由与第一内容项相关联的内容提供者提供。
18.根据权利要求11-17中的任何一项所述的系统,其中,数据处理系统还被配置为:
根据分区模板将视觉内容划分为多个段,分区模板包括分段路径,以定义要形成的段的数量、多个段中的每个段的形状以及每个形状的维度。
19.根据权利要求11-18中的任何一项所述的系统,其中,数据处理系统还被配置为:
从内容提供者接收将交互性包括到内容中的请求,所述请求包括第一内容项。
20.根据权利要求11-19中的任何一项所述的系统,其中,数据处理系统还被配置为:
响应于执行动作而从客户端设备接收多个段被移动到第一多个位置的指示。
技术总结