CN114402281B - 动态可配置的客户端应用活动 - Google Patents
动态可配置的客户端应用活动 Download PDFInfo
- Publication number
- CN114402281B CN114402281B CN202080046480.9A CN202080046480A CN114402281B CN 114402281 B CN114402281 B CN 114402281B CN 202080046480 A CN202080046480 A CN 202080046480A CN 114402281 B CN114402281 B CN 114402281B
- Authority
- CN
- China
- Prior art keywords
- digital component
- client device
- configuration file
- interaction
- application
- 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
Links
- 230000000694 effects Effects 0.000 title description 16
- 230000003993 interaction Effects 0.000 claims abstract description 116
- 230000004044 response Effects 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000009471 action Effects 0.000 claims description 139
- 230000000007 visual effect Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000015220 hamburgers Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- XXUZFRDUEGQHOV-UHFFFAOYSA-J strontium ranelate Chemical compound [Sr+2].[Sr+2].[O-]C(=O)CN(CC([O-])=O)C=1SC(C([O-])=O)=C(CC([O-])=O)C=1C#N XXUZFRDUEGQHOV-UHFFFAOYSA-J 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种方法包括:由一个或更多个服务器选择要在于客户端设备处运行的应用中呈现的数字组件;获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置;在选择数字组件并获得属性之后,基于获得的属性来选择配置文件,配置文件指定要由呈现数字组件的客户端设备执行的操作集合;以及向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备执行时使得客户端设备执行由配置文件指定的操作集合。
Description
技术领域
本申请涉及由诸如移动应用或平板应用的客户端应用执行的动作的动态配置。
背景技术
客户端设备(例如,蜂窝电话、平板设备、膝上型计算机)的用户通常使用应用来与各种类型的内容交互并访问各种类型的内容。例如,用户能够使用应用来访问电子邮件、与社交媒体交互、玩游戏、获得地图、在线购物以及播放媒体内容。在客户端设备上运行的应用能够向正在运行应用的移动设备的用户显示各种内容,包括交互式内容。这些应用与一个或更多个服务器交互以报告客户端侧活动,诸如用户与应用的交互。
发明内容
通常,本说明书中描述的主题的一个创新方面能够体现在计算机实现的方法中,该方法包括以下操作:由一个或更多个服务器选择要在于客户端设备处执行的应用中呈现的数字组件;由一个或更多个服务器获得数字组件的属性,其中,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;在选择数字组件并获得数字组件的属性之后,由一个或更多个服务器基于获得的属性来选择配置(“config”)文件,其中,配置文件指定要由响应于与数字组件的用户交互而呈现数字组件的客户端设备执行的操作集合;以及向客户端设备发送有效载荷,其中,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。该方面的其他实施例包括被配置为执行所述方法的动作的对应系统、设备、装置、计算机程序和计算机程序产品。计算机程序(例如,指令)能够被编码在计算机存储设备上。这些和其他实施例能够均可选地包括以下特征中的一个或更多个。
在一些实现中,所述方法还包括:在报告网络位置处由服务器接收配置报告分组,其中,所述配置报告分组(i)由客户端设备响应于配置文件的运行而生成,并且(ii)指定在客户端设备处与数字组件的交互。
在一些实现中,所述方法还包括:在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;基于不同的配置文件而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件,其中,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件、而不是所述配置文件的不同的有效载荷。
在一些实现中,所述不同的操作集合包括使得客户端设备执行配置文件没有使得客户端设备执行的动作的附加操作。
在一些实现中,所述附加操作使得客户端设备收集所述配置文件的操作集合没有使得客户端设备收集的视觉元素交互数据,其中,所述视觉元素交互数据是响应于与不是在应用中呈现的数字组件的一部分的应用的视觉元素的用户交互而收集的。
在一些实现中,所述操作集合包括:由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作;以及由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。
在一些实现中,第一操作使得客户端设备响应于与在与应用内的数字组件的交互之前呈现的数字组件的第一视图的第一交互来报告数字组件的呈现;并且,第二操作使得客户端设备报告与在与数字组件的第一视图的第一交互之后呈现的数字组件的第二视图的第二交互。
在一些实现中,选择指定要由呈现数字组件的客户端设备执行的操作集合的配置文件包括:分析获得的属性以确定数字组件的特定格式;确定正在由客户端设备运行的应用的版本;以及从多个不同的配置文件中选择针对数字组件的特定格式和应用的版本的组合定义的特定配置文件。
通常,应用响应于与应用的组件(例如,用户接口组件)的用户交互而采取的动作(其能够被称为事件报告)是通过发送URL或调用移动应用内的特定预定义的应用编程接口(API)来执行的。例如,事件报告可以被配置为用户动作到报告事件(例如,数据传输或其他客户端设备活动)的映射。然而,在传统系统中,由应用(或客户端设备)采取的动作通常被硬编码在应用本身中,这使得难以改变特定应用响应于与应用或应用中呈现的组件(例如,在应用显示器的槽中呈现的内容)的用户交互而采取的动作。例如,改变应用所采取的动作通常需要发布应用的更新版本,其中,用户交互到应用所采取的动作的映射被更新。发布应用的更新版本需要大量的测试,并且一旦在广泛的范围发布,就会导致意外的错误。此外,即使发布了应用的更新版本,用户也可能不执行实现改变所需的更新和/或他们的客户端设备可能是应用的更新版本中不支持的较旧版本。因此,即使改变应用本身的硬编码也可能不足以在应用已经被安装在客户端设备上时改变应用的操作。
本说明书中描述的主题可以具有以下技术优点中的一个或更多个。能够实现本说明书中描述的主题以允许引入要由应用或客户端设备执行的新动作和/或支持新内容格式(例如,一次点击、对外部点击收费等),而基本上不增加客户端侧所需的逻辑量,并且不需要发布应用的更新版本。例如,本文档中讨论的技术使得能够在接收到来自应用的请求时在将配置文件下载到客户端设备的服务器处进行这些改变。在一些实现中,配置是响应元数据的一部分而不是文件。它在本文中被称为配置文件,但是在所有实例中,它可以是配置文件或响应元数据的一部分。如下面更详细讨论的,配置文件可以定义应用或客户端设备响应于与特定用户接口元素的指定的用户交互而采取的动作,并且使得应用执行所定义的动作。因为配置文件是在服务器处生成的并优选地根据需要提供给每个客户端设备,所以在配置文件中定义的活动能够根据需要或期望而经常改变,并且能够在每个设备或每个用户的基础上变化,从而在控制应用环境方面提供更大的灵活性。随着引入更多的内容格式,本说明书中描述的主题的实施例提高了客户端设备对与内容格式的用户交互做出反应的能力,并且提高了客户端设备向服务器提供反馈的能力,这是相对于当前报告框架的改进。
通过将客户端指令合并到单个配置文件,能够统一客户端侧事件报告,并且能够降低客户端设备中的复杂性。能够在服务器中在服务时间配置报告动作以提高效率。能够减少与达到产品的客户端代码改变相关联的滞后时间量。当将客户端应用更新为新版本时会遇到的错误能够更容易和快速地被识别和修复,这是因为不需要等待用户下载新版本的应用。总之,本发明提供了一种动态、灵活和有效的方法,该方法定义由应用或客户端设备响应于与数字组件的用户交互而采取的动作,同时降低客户端设备处的复杂性。该方法也是快速和鲁棒的,避免了与更新应用相关联的滞后时间和错误。
在附图和以下描述中阐述了本说明书中描述的主题的一个或更多个实施例的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得清楚。
附图说明
图1是用于响应于用户与移动设备上的数字组件的交互而触发客户端侧活动的系统的概念图。
图2是用于响应于用户与应用中的数字组件的交互而触发客户端侧活动的示例环境的框图。
图3是用于向配置文件提供触发客户端侧活动的操作集合的方法的流程图。
图4是用于响应于用户与应用中的数字组件的交互而触发客户端侧活动的第一示例过程的流程图。
图5是用于响应于与应用中的数字组件的用户交互而触发客户端侧活动的第二示例过程的流程图。
图6示出了能够用于实现本文描述的技术的计算设备和移动计算设备的示例。
具体实施方式
通常,本文档描述了用于响应于与客户端设备上的应用中的数字组件的用户交互而触发客户端侧活动的机制。在一些实现中,客户端设备与一个或更多个服务器通信,以便接收指定与用户与数字组件的交互相对应的一个或更多个操作的集合的指令。特别地,服务器可以提供用于在客户端设备上显示的内容,包括使得数字组件被显示的数据以及与数字组件相关联的配置文件(config file)。当用户与在客户端设备上的应用中显示的数字组件交互时,客户端设备运行配置文件,这使得客户端设备根据配置文件执行特定动作。特别地,配置文件可以使得客户端设备上的应用向服务器发送用于向服务器报告与数字组件的用户交互的数据,和/或响应于用户交互而执行一个或更多个其他动作。进而,服务器可以执行多个响应动作,诸如向另一服务器报告用户交互。以这种方式,能够向客户端设备提供显式指令以指定作为与在客户端设备上运行的应用中的数字组件的用户动作或交互的结果而要执行的动作。
统一配置文件的使用允许内容提供者支持不同类型的内容格式,改变由客户端设备响应于与不同类型的内容格式的交互而执行的动作,并且减少格式改变和/或客户端动作改变以达到产品的滞后时间(lag time)。客户端设备中的硬编码逻辑通常不足以灵活地支持新的用例,需要改变客户端设备上的应用中的逻辑。通过向客户端设备提供在服务器处生成的配置文件而不是在客户端设备处硬编码这样的文件,在客户端设备上运行的应用不需要被更新以寻址新的内容类型,这是因为服务器生成的配置文件能够向应用提供支持新的内容类型所需的数据。
能够将每种内容格式的报告分解为基本内容动作的组合(例如,查验URL、向内容提供者报告内容相关事件等)。本文描述了一种系统,其中,每个用户动作的动作组合由内容服务器上的proto(原型)配置。
图1示出了用于响应于用户与移动设备上的数字组件的交互而触发客户端侧活动的系统100的概念图。图1示出了使用在客户端设备104上运行的应用118的客户端设备104的用户102。服务器110发送数据112,也称为有效载荷,包括数字组件(例如,星形)106或指定数字组件106的信息和与数字组件106相对应的配置文件114。在一些实现中,服务器110响应于来自客户端设备104的请求108而提供有效载荷112。配置文件114包括当由客户端设备104运行时使得客户端设备104执行由配置文件114指定的操作集合的数据。
在服务器110将有效载荷112提供给客户端设备104之后,客户端设备104在设备104的显示器上显示与所接收的数据112相关联的内容——例如,在设备104上运行的应用118中。在图1中,客户端104正在显示由服务器110提供的“星形”数字组件106。当用户102例如通过将他或她的手指点击或触摸到“星形”数字组件106来与客户端设备104上的“星形”数字组件106交互时,应用118向服务器110发送配置报告分组116,其中,分组116向服务器110提供与“星形”数字组件106的用户交互的指示。配置报告分组116可以包括例如报告URL或调用报告URL的API的数据。
在图1所示的例子中,在客户端设备104上运行的应用118除了“星形”106之外,还示出了多个不同的数字组件106,包括正方形、圆形和心形。每个数字组件106可以与由服务器110发送的不同的配置文件114相关联,每个配置文件114包括与特定数字组件106相关联的相应操作集合。例如,“星形”组件106可以与使得在客户端设备上提供和播放特定视频相关联。可替代地,数字组件106可以使得执行许多动作之一,诸如打开与特定URL相关联的网站、向特定内容提供者报告用户已经与特定数字内容交互、使得特定图像显示在客户端设备104上等。在一些实现中,客户端设备104能够独立地支持某些动作,诸如在客户端设备104上打开URL或安装应用118。对于其他动作,客户端设备104上的应用118向服务器110提供指示,其促进那些动作、包括报告动作的实现。
在一些实现中,服务器110可以接收用户交互116的报告,并且进一步将用户交互报告给另一服务器(未示出)。在一些实现中,客户端设备104上的应用118将报告116发送到多于一个服务器。然后,一个或更多个服务器可以调用应用编程接口(API)来记录用户交互。
在一些实现中,系统通过添加附加动作标识符来允许能够利用其区分动作的更多粒度。例如,能够为html文本中不同的链接提供不同的动作配置。例如,可以引入bridge以支持将附加数据从链接传递到客户端的用户接口。这种方法提供了几个优点。例如,如果用户的动作是点击URL,则它避免了服务器中用于解析所点击的URL以针对所点击的URL确定适当的客户端响应的逻辑的必要性,而是允许服务器以每个URL为基础提供适当的客户端响应。另外,它允许对各种类型的用户动作——包括与不同类型的数字组件(例如,显示为视频上的叠加的按钮)的交互——记入日志。此外,它能够用于支持先前需要本原格式的格式。本原格式也与所述配置兼容。
下表示出了提供到用户的链接的示例html代码:
在上表左手侧的示例(表示已知方法)中,当用户点击特定链接时,显示该链接的应用可以使得电话号码被拨打或者使得该应用加载与该特定URL相关联的网站。用于解析URL并确定应该执行的动作的逻辑以及动作本身都必须在应用中硬编码。然而,在表示本发明的示例的上表右手侧的示例中,当用户点击特定链接时,客户端设备调用在与特定链接相关联的配置文件中提供的多个动作,包括但不一定限于调用本原动作(例如,打开URL、对视觉元素事件打日志、呼叫电话号码、对事件打日志)。配置文件可以调用任何数量的动作,包括记录应用中的闪现或点击的统计数据,或者针对闪现或点击向广告商收费。配置文件在服务器侧而不是客户端生成,并且不在应用中硬编码,因此能够容易地调整响应于客户端侧与数字组件的交互而触发的动作,而无需客户端软件更新。如上所述,这提供了定义由应用或客户端设备响应于与数字组件的用户交互而采取的动作的快速且鲁棒的方法的技术优点,从而避免了与更新应用相关联的滞后时间和错误。
图2示出了用于响应与应用中的数字组件的于用户交互而触发客户端侧活动的示例系统200的框图。系统200包括一个或更多个客户端设备204,其能够是移动设备,诸如智能电话、个人数字助理、台式设备、膝上型设备、个人计算机等。系统200还包括与客户端设备204通信并向客户端设备204发送内容的一个或更多个内容服务器210。客户端设备204和内容服务器210通过网络214(诸如局域网(LAN)、广域网(WAN)、互联网或其组合)在系统200中通信。客户端设备204或服务器210可以是计算设备,如图6所示并在下面更详细地讨论。
图3示出了用于向客户端设备提供具有触发客户端侧活动的操作集合的配置文件的方法300的流程图。
在310中,服务器选择要在客户端设备处执行的客户端应用中呈现的数字组件。服务器可以例如响应于来自客户端设备的对内容的请求而选择数字组件。数字组件可以取决于多个因素以不同的形式被呈现,这些因素包括将在其上呈现数字组件的客户端设备的类型、客户端设备的能力(例如,呼叫能力、视频聊天能力等)、安装在客户端设备上的应用、将在其中呈现数字组件的应用和/或由数字组件描绘的内容类型(例如,文本、图像、音频或视频)。可以以推送或拉取方式将数字组件发送到客户端设备,其中,独立于来自客户端设备的显式请求提供推送数字组件,以及响应于来自客户端设备的显式请求提供拉取数字组件。
在320中,服务器获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个。数字组件能够包括例如文本、视频、音频、图像数据或其组合。属性能够包括将在其上呈现数字组件的客户端设备的类型、客户端设备的能力、安装在客户端设备上的应用、将在其中呈现数字组件的应用和/或由数字组件描绘的内容类型。具体涉及将呈现数字组件的客户端设备或应用的数字组件的属性(例如客户端设备的类型、客户端设备的能力、安装在客户端设备上的应用以及将呈现数字组件的应用),能够例如在对内容的请求中从客户端设备传递到服务器。
在330中,在选择数字组件并获得数字组件的属性之后,服务器基于获得的属性来选择配置文件,该配置文件指定将由呈现数字组件的客户端设备执行的操作集合。在一些实现中,配置文件能够指定响应于在应用内与数字组件的用户交互、由客户端设备串行和/或并行地执行的不同的操作。例如,能够并行地执行由客户端设备发起的不同网络调用。在特定示例中,可以在客户端设备也正被引导到由数字组件链接到的目的地页面的同时联系报告服务器。该方法减少了使用硬编码顺序调用的系统和方法中的延迟时间。
在340中,服务器向客户端设备发送有效载荷。有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件。配置文件包括在由客户端设运行时使得客户端设备执行由配置文件指定的操作集合的数据。在一些实现中,指定要在应用中呈现的数字组件的信息可以包括例如包含数字组件本身的数据(例如,图像文件)。在一些实现中,指定要在应用中呈现的数字组件的信息包括指向数字组件的指针或链接。
在350中,服务器可以接收由在客户端设备上运行的客户端应用生成的配置报告分组。通常,配置报告分组由在客户端设备上运行的客户端应用响应于与数字组件的用户交互而发送,并且指定在客户端设备处与数字组件的交互。与数字组件的用户交互可以包括例如用户点击数字组件或将手指触摸到数字组件上的触摸屏。
在一些实现中,可以在服务器处改变与数字组件相关联(例如,分配给数字组件)的配置文件。当分配给数字组件的配置文件改变,使得不同的第二配置文件被分配给数字组件时,服务器将响应于对内容的后续请求而选择并发送具有数字组件的该不同的第二配置文件。
在这些实现中,方法300能够包括由服务器采取的进一步动作。例如,在服务器发送包括先前分配给数字组件的第一配置文件的第一有效载荷数据之后,服务器能够第二次(例如,响应于来自客户端设备的请求)选择要在应用中呈现的相同数字组件。在第二次选择数字组件时,服务器能够基于不同的配置文件被映射到数字组件的属性(例如,在请求时)来选择不同的第二配置文件,第二配置文件指定与先前在第一有效载荷中发送的第一配置文件不同的操作集合。也就是说,代替选择第一配置文件,在第二次选择数字组件时,服务器基于不同的第二配置文件到数字组件的属性的更新的映射来选择不同的第二配置文件。然后,服务器基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和不同的第二配置文件而不是第一配置文件的不同的第二有效载荷。在数字组件的属性被映射到不同的第二配置文件的同时,服务器将继续选择不同的第二配置文件来与数字组件一起发送。不同的操作集合可以包括一个或更多个附加操作,一个或更多个附加操作使得客户端设备执行第一配置文件没有使得客户端设备执行的动作。不同的操作集合也可以包括比原始的第一配置文件更少的操作。因此,服务器能够动态地调整与数字组件相关联的配置文件,而不需要在客户端设备上进行修改。
以这种方式,不同的内容格式可以由服务器利用被修改或适配于特定的内容格式的配置文件来呈现。在一些实现中,可以使用一个或更多个附加服务器来支持与特定内容格式相关的新的特征或数据收集。实际上,使用服务器提供的配置文件的好处之一是在服务器处动态地生成或修改配置文件以满足新的内容类型的能力。以这种方式,本发明提供了一种动态且灵活的方法,其响应于与数字组件的用户交互而定义由应用或客户端设备采取的动作。在服务器处而不是在客户端设备处生成或修改配置文件消除了依赖用户在客户端侧更新应用的需要,避免了与更新应用相关联的滞后时间和错误。
在一些实现中,附加操作使得客户端设备上的应用收集第一配置文件的操作集没有使得客户端设备上的应用收集的视觉元素交互数据。响应于与不是在应用中呈现的数字组件的部分的应用的视觉元素的用户交互,收集视觉元素交互数据。例如,所收集的视觉交互数据可以包括与一般应用UI交互有关的数据。
在一些实现中,由配置文件指定的操作集合包括由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作、以及由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。例如,客户端设备的用户可以首先点击前导广告视图,然后点击展开形式的广告主体以导航到登录页面。在该示例中,第一操作可以报告广告的展开,并且第二操作可以报告登录页面的打开。
在一些实现中,第一操作使得客户端设备上的应用响应于与在与应用内的数字组件交互之前呈现的数字组件的第一视图的第一交互而报告数字组件的呈现;并且第二操作使得客户端设备上的应用报告与在与数字组件的第一视图的第一交互之后呈现的数字组件的第二视图的第二交互。例如,数字组件的第一视图可以是前导广告视图,并且在用户点击前导广告视图中的数字组件之后,可以在作为展开视图的第二视图中呈现数字组件。
在一些实现中,选择指定将由呈现数字组件的客户端设备执行的操作集合的配置文件包括:分析获得的属性以确定数字组件的特定格式;确定正在由客户端设备运行的应用的版本;以及从多个不同的配置文件中选择针对数字组件的特定格式和应用的版本的组合定义的特定配置文件。例如,可以将应用的版本在对内容的请求中从客户端设备传递到服务器。特定配置文件可以包括内容格式和应用版本或任何其他属性到不同的配置文件的映射。
内容动作配置
内容动作(例如,数字组件动作)可以是最小的计算单位,并且表示不能被进一步分解的功能。主动作是跨所有内容格式使用的公共动作。下面的示例代码示出了AdActionproto,其是在服务器层中发生的数字组件动作的容器。在该示例中,使用protobuf建立配置,但是它能够以诸如XML或Json的其他格式提供。
另一proto指定在客户端设备上启动浏览器。下面的示例代码示出了指定启动浏览器的UrlNavigationAdAction:
可以使用一个proto来指定在应用商店中打开什么应用。下面的示例代码示出了PlayStoreNavigationAdAction的proto,其指定要在客户端设备上的应用商店中打开的应用:
另外,许多内容操作需要更新内容数据库中存储的内容的状态,诸如内容是否已经被解除或内容被显示的最后时间。此动作对内容表操作进行抽象。下面的示例代码示出了AdStateAction的proto,以更新广告数据库中存储的广告的状态:
可以使用诸如HTTP请求内容动作的内容报告动作来指定对指定URL的HTTP GET请求。ClickServerResponse枚举可以用于指定响应是否是预期的并且是否应当被存储。下面的示例代码示出了HttpRequestAdAction的proto:
内容提供者事件内容动作指定要报告的内容事件。下面的示例代码示出了ExampleContentProviderReportingConfig的proto:
内容动作触发
可以以不同的方式触发内容动作。对于内容事件类型触发,UI上的用户动作对应于预定义的内容事件类型(例如,按下星形按钮触发加星号内容事件)。此选项将内容动作配置绑定到特定事件类型。用于广告事件类型触发的示例代码如下所示。
可以定义附加内容事件类型以在线程列表和会话视图两者中发生的事件之间进行区分。
当针对每个内容项触发内容动作时,优选地按每个UI组件和每个用户动作配置内容动作。大多数UI元素能够通过它们的组件ID被唯一地标识。然而,在相同ID的多个元素的情况下,可以添加element_index。使用ID、索引和用户动作的组合,可以定义特定动作的配置。下面的示例代码示出了ContentElementConfig的proto,这可以用于将广告动作映射到其UI组件和用户动作:
对于由UI组件触发的内容动作,可以明确地列出所配置的UI组件。下面的示例代码示出了ContentElementConfig的proto,其中,内容动作由UI组件触发:
存储内容动作
可以进一步存储内容动作。在API层中,内容项被转换为它们的API接口。在实例化时,可以将内容项配置文件转换为从例如视觉元素ID、元素索引或用户动作到内容动作的映射。
图4示出了用于响应于与应用中的数字组件的用户交互而触发客户端侧活动的第一示例过程400的流程图。在本原客户端410处,用户对用户接口(UI)元素414执行动作412。在用户动作412时,调用相关的动作监听器。然后,监听器利用报告动作416调用应用编程接口(API)层420中的内容报告函数(例如,按下星形按钮调用star()函数)。
在API层420中,与UI元素414相关联的内容422在424处利用ContentEventRequest(内容事件请求)434对ContentService(内容服务)432中的processContentEvent(处理内容事件)进行异步调用。ContentEventRequest434包含报告类型和与动作相关的信息。ContentService 432函数用作服务层的入口点。ContentEventRequest 434被传递到ContentManager(内容管理器)436以进行处理。内容管理器436基于ContentEventRequest434的类型来调用不同的报告功能。也可以对内容表进行状态更新。ContentEventReporter(内容事件报告器)440基于所调用的函数执行用于报告每个逻辑的实际业务逻辑。
图5示出了用于响应于与应用中的数字组件的用户交互而触发客户端侧活动的第二示例过程500的流程图。在本原客户端510处,用户对用户接口(UI)元素514执行动作512。动作512可以是例如点击动作(例如,单击或双击)、将光标(例如,用鼠标)悬停在元素上、用手指触摸触摸屏上的元素、或者拖动或滑动元素(例如,用鼠标或用手指在触摸屏上)。元素514可以是例如链接、媒体元素(例如,图片、声音剪辑、视频剪辑)、按钮(例如,单选按钮)、切换、输入字段、文本字段、日期/时间选择器、下拉列表、列表框、下拉按钮、复选框、卡(即,包含不同类型的信息的模块)、轮播、馈送、表单、汉堡包菜单、图标、模式、通知、侧边栏、选项卡栏、标签或其任何组合。
UI元素514上的用户动作512使得本原客户端510在516向API层520报告该动作。在用户动作512上,调用该函数来处理动作512。
当报告动作516发生时,本原客户端510的用户接口调用API内容项522以执行对动作的映射的查找。如果找到动作,则实例化新的API ContentAction(内容动作)524。
ContentAction API接口528帮助运行ContentAction 524。使用API层中的ContentClientActionHelper(内容客户端动作帮助器)518和ContentClientActionHelper526在本原客户端510中执行ContentClientAction(内容客户端动作)。为每个平台实现ContentClientationHelper 518,以允许API层具有平台不可知的方式来执行UI动作。
在532,在ContentActionRequest(内容动作请求)中将所有非UI内容动作聚集并发送到服务器层530中的ContentService(内容服务)534。ContentActionRequest 536由ContentManager(内容管理器)538处理。对于报告内容动作,内容管理器538在540中调用ContentReportingActionDispatcher(内容报告动作调度器)542,而不是图4的ContentEventReporter。ContentReportingActionDispatcher 542调用特定内容报告动作的对应解析器(例如,FormSubmissionReportingAction(表单提交报告动作)544、HttpRequestReportingAction(Http请求报告动作)548、XYZContentEventReportingAction(XYZ内容事件报告动作)554)。报告动作可以包括例如对URL的HTTP请求(GET、POST)、用于向内容服务器报告内容相关事件的远程过程调用(RPC)调用、URL导航和应用商店导航。
为每个ContentReportingAction类型实现对应的解析器。在一些实现中,HttpRequestReportingAction 548包含ContentTableController(内容表格控制器)552的副本以存储任何点击服务器响应。
内容动作执行详细设计
下面针对包括广告的内容项来描述用于内容动作执行的详细示例性设计。API内容项使用例如以下代码来处理用户动作:
ListenableFuture<Boolean>handleContentAction(int visualElementId,intelementIndex,UserAction userAction,Map<String,Object>arguments);
取决于上下文,附加自变量可以被传递给自变量(argument)的映射(例如,按下formfill广告中的提交表单按钮将表单数据作为自变量添加到映射)。映射的关键字可以是自变量名。该函数执行查找以获得相关内容动作。利用内容动作,函数调用API AdAction接口以运行AdAction。此函数返回当所有ContentActions完成运行时完成的ListenableFuture。布尔(boolean)指示运行是否成功。
API ContentAction接口(具体地,AdAction接口)可以使用以下示例代码来实现:
interface AdAction{
ListenableFuture<Boolean>execute(Map<String,Object>arguments);
}
利用AdtAction proto实例化API AdAction。在调用execute时,首先利用AdClientActionHelper在UI中执行AdClientAction。AdStateAction和AdReportingAction被组合在一起成为对AdService的请求。取决于自变量键,自变量或者被添加到对adClientationHelper的调用,或者被添加到对AdService的请求(例如,表单提交数据被添加到AdService调用)。
AdClientActionHelper执行UI AdActions。每个支持的平台可以具有其自己的实现。以下示例代码可以用于提供adClientationHelper:
服务器RPC用于使用例如以下代码来执行内容动作:
ListenableFuture<AdActionResponse>(AdActionRequest request);
如下面的示例代码所示,RPC进而调用服务器AdsManager来执行AdActionRequest:
AdsManager可以使用以下示例代码来处理AdActionRequests:
ListenableFuture<AdActionResponse>processAdAction(AdActionRequestrequest);
AdsManager可以使用AdEventRequest的类型来控制更新什么广告状态。可替代地,AdsManager可以使用AdStateAction的类型作为替代。如果没有设置AdStateAction,则默认动作是加载关于报告动作的StoredAd。
在执行AdStateAction之后,用更新的StoredAd来调用AdReportingActionDispatcher。
ListenableFuture<Void>processAdReportingAction(AdActionRequestrequest,StoredAd ad);
调度器通过所有AdReportingActions迭代并且并行地执行它们。AdReportingAction的类型用于映射到正确的ReportingAction。
AdReportingAction接口可以使用以下示例代码来提供:
对于每种报告动作类型实现AdReportingAction接口。
内容格式特定动作
下面讨论另外的用例。例如,外部点击URL动作可以被分解为报告URL和登录页面URL,这加速了登录页面加载并改善了用户体验。通常,服务器可以多次分解URL并且并行地进行ping以改善用户体验。
在另一个用例中,可以在单个事件上报告多个URL。先前,当用户与和多个URL相关联的特定URL元素交互时,应用不得不在单独的步骤中寻址URL中的每一个。例如,客户端设备需要业务逻辑来ping URL1、URL2和URL3,并进一步ping API以报告内部事件。在一些实现中,服务器生成单个配置文件,其寻址每个单独的URL和所需的ping动作。在这些灵活的实现中,能够容易地将要报告的新URL或内部事件添加到配置文件。类似地,能够容易地改变配置文件中的动作的顺序,并且能够容易地附接附加参数。然后将整个配置文件发送到客户端设备。
客户端设备支持一些通用动作,诸如打开URL或安装应用,这能够由服务器基于每个动作来配置。客户端设备通过提供识别用户动作的信息并接收作为响应的动作来向API查询要执行什么动作。
可以在客户端设备上提供API以响应用户动作并从服务器接收指令。在一些实现中,API包括API。以下示例描述了存在于客户端设备上并且支持将信息从服务器传递到客户端设备上的/>API。在该示例中,用户动作涉及包括前导广告和主体的数字组件(例如,打开广告主体、提交排行榜表单)。/>函数在下面的代码中从主体调用,其采用被触发的动作的名称并调用相关联的配置文件:
triggerAction(str)
triggerAction(str,otherParameters)
以这种方式,HTML代码能够被更新以传递新的参数(如果可用的话),并且otherParameters变量对于较旧的客户端能够被忽略。如果使用,则otherParameters能够包含元数据,包括视觉元素元数据。
在某些情况下(例如,对于leadgen内容),期望将非静态元数据记入日志。例如,为了报告在字段中输入的字符的数量,能够在配置中定义视觉元素事件:
然后,从主体,使用逻辑来调用API,传递视觉元素元数据:
<input type="text"
id="name"
onblur="triggerAction('EnterName',enterNameMetadata())">
可替代的proto
以下示例描述了能够支持客户端设备上的各种本原动作的各种proto。在下面的代码中,报告配置作为AdReportingActionConfig被传递给客户端。广告作为单独的服务器服务被同步,位于核心邮件同步带外,并且仅存储在存储器中。为了支持本原动作,能够用包含与配置相关联的本原UI动作的AdNativeAction来扩展proto:
动作由AdActionKey键控,AdActionKey是AdActionType和EventSource的组合。为了从主体识别广告本原动作,UI动作被映射到配置中的项。AdActionKey可以被扩展为采用能够从客户端设备传递的ID字段:
在这些实现中,设置ad_action_type或event_source,并且可选地设置element_id(例如,当ad_action_type和/或event_source不足以识别用户动作时)。如果设置了ad_action_type和event_source,则当该事件发生时使用AdReportingActionConfig。如果设置了element_id,则当该element_id从主体传递到triggerEvent()时,使用AdReportingActionConfig。
API/服务器配置
以下示例描述了用于使用报告配置考虑Ad上的元素id来报告动作的方法:
ListenableFuture<Void>clickedFromBody(String elementId);
这调用AdsServiceServer.processAdEvent()->AdsManagerImpl.processAdEventRequest(),其中,AdEventRequest.EventType=URL_CLICKED并且EventSource=CONVERSATION_VIEW。AdsManagerImpl.urlClicked()然后调用AdsReporterImpl.report(),其查找报告配置。
字段被添加到AdEventRequest以标识传递给API的id,其在Ad.clickedFromBody()中被设置。
optional string elementId;
也提供了一种用于考虑API Ad对象上的id来取回本原动作的方法:
ListenableFuture<ImmutableList<AdNativeAction>>getNativeActions(String elementId);
可替代地,clickedFromBody可以返回要执行的本原动作的列表:
ListenableFuture<ImmutableList<AdNativeAction>>clickedFromBody(StringelementId);
然而,这要求客户端在执行本原动作之前等待报告发生,而在先前的示例中,它们是并行执行的。将其分成两个API调用意味着这两个API调用能够继续并行发生。
该方法返回用于处理URL参数化的proto AdNativeAction的封装:
对于URL导航,getNativeActions调用AdsServiceServer.getAdTransientState()->AdsManagerImpl.getAdTransientState()。
AdsManagerImpl.getAdTransientState()执行参数化逻辑,并返回类似于上述接口(接口将从中读取)的proto中的参数化url:
客户端UI配置
视觉元素事件
当本原动作是视觉元素事件时,客户端需要将数据转换为客户端中的视觉元素事件,将元数据字节解析为适当的原型。
在一些实现中,可以利用客户端元数据来使用和填充标签NATIVE_ACTION。在一些实现中,在proto中使用NativeAction的枚举,并且该枚举在客户端中被转换为VisualElementTag。在一些实现中,直接从客户端复制视觉元素事件中的单个字节字段,避免对未知字段的担忧。例如,在BigTopVisualElementMetdata中,能够如下所示添加字段,以填充在NativeActionAdVisualElement中:
optional/*NativeAction*/bytes native_action;
在视觉元素流水线(createAdLandingPage)中,字节被解析为proto并被添加到AdLandingPageEvent。
图6示出了能够用于实现这里描述的技术的计算设备600和移动计算设备650的示例。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。移动计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。这里示出的组件、它们的连接和关系以及它们的功能仅仅是示例,而不是限制性的。
计算设备600可以包括处理器602、存储器604、存储设备606、连接到存储器604和多个高速扩展端口610的高速接口608、以及连接到低速扩展端口614和存储设备606的低速接口612。处理器602、存储器604、存储设备606、高速接口608、高速扩展端口610和低速接口612中的每一个可以使用各种总线互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器602能够处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备(诸如耦接到高速接口608的显示器616)上显示GUI的图形信息。在其他实现中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。此外,可以连接多个计算设备,其中,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器604可以存储计算设备600内的信息。在一些实现中,存储器604是一个或更多个易失性存储器单元。在一些实现中,存储器604是一个或更多个非易失性存储器单元。存储器604还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备606可以具有为计算设备600提供大容量存储的能力。在一些实现中,存储设备606可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。指令能够存储在信息载体中。所述指令当由一个或更多个处理设备(例如,处理器602)执行时,执行一种或更多种方法,诸如上述那些方法。指令还能够由一个或更多个存储设备存储,诸如计算机或机器可读介质(例如,存储器604、存储设备606或处理器602上的存储器)。
高速接口608可以管理计算设备600的带宽密集型操作,而低速接口612可以管理较低带宽密集型操作。这种功能分配仅是示例。在一些实现中,高速接口608耦接到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦接到可以接受各种扩展卡的高速扩展端口610。在该实现中,低速接口612耦接到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口614可以例如通过网络适配器耦接到一个或更多个输入/输出设备,诸如键盘、指示设备、扫描仪或诸如交换机或路由器的联网设备。
如图所示,计算设备600可以以多种不同的形式实现。例如,它可以被实现为标准服务器620,或者在一组这样的服务器中多次实现。另外,它可以在诸如膝上型计算机622的个人计算机中实现。它还可以被实现为机架服务器系统624的一部分。可替代地,来自计算设备600的组件可以与诸如移动计算设备650的移动设备中的其他组件组合。这些设备中的每一个可以包含计算设备600和移动计算设备650中的一个或更多个,并且整个系统可以由彼此通信的多个计算设备组成。
移动计算设备650可以包括处理器652、存储器664、诸如显示器654的输入/输出设备、通信接口666和收发器668以及其他组件。移动计算设备650还可以设置有存储设备,诸如微驱动器或其他设备,以提供附加的存储。处理器652、存储器664、显示器654、通信接口666和收发器668中的每一个可以使用各种总线互连,并且若干组件可以适当地安装在公共主板上或以其他方式安装。
处理器652可以执行移动计算设备650内的指令,包括存储在存储器664中的指令。处理器652可以被实现为包括单独的多个模拟和数字处理器的芯片的芯片组。处理器652可以提供例如移动计算设备650的其他组件的协调,诸如用户接口的控制、由移动计算设备650运行的应用以及由移动计算设备650进行的无线通信。
处理器652可以通过控制接口658和耦接到显示器654的显示接口656与用户通信。显示器654可以是例如TFT(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其他信息的适当电路。控制接口658可以从用户接收命令并将它们转换以提交给处理器652。另外,外部接口662可以提供与处理器652的通信,以便实现移动计算设备650与其他设备的近区域通信。外部接口662可以例如在一些实现中提供有线通信,或者在其他实现中提供无线通信,并且还可以使用多个接口。
存储器664可以存储移动计算设备650内的信息。存储器664能够被实现为一个或更多个计算机可读介质、一个或更多个易失性存储器单元或一个或更多个非易失性存储器单元中的一个或更多个。还可以提供扩展存储器674并通过扩展接口672将其连接到移动计算设备650,其中,扩展接口672可以包括例如SIMM(单列直插存储器模块)卡接口。扩展存储器674可以为移动计算设备650提供额外的存储空间,或者还可以存储用于移动计算设备650的应用或其他信息。具体地,扩展存储器674可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以被提供为用于移动计算设备650的安全模块,并且可以用允许安全使用移动计算设备650的指令来编程。此外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可黑客攻击的方式将识别信息放置在SIMM卡上。
如下所述,存储器可以包括例如闪存和/或NVRAM存储器(非易失性随机存取存储器)。在一些实现中,指令存储在信息载体中。所述指令当由一个或更多个处理设备(例如,处理器652)执行时,优选地执行一种或更多种方法,诸如上述那些方法。所述指令还能够由一个或更多个存储设备存储,诸如一个或更多个计算机或机器可读介质(例如,存储器664、扩展存储器674或处理器652上的存储器)。在一些实现中,可以例如通过收发器668或外部接口662在传播信号中接收指令。
移动计算设备650可以通过通信接口666进行无线通信,其中,通信接口666在必要时可以包括数字信号处理电路。通信接口666可以提供各种模式或协议下的通信,诸如GSM语音呼叫(全球移动通信系统)、SMS(短消息服务)、EMS(增强消息服务)或MMS消息(多媒体消息服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字蜂窝)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线电服务)等。这种通信可以例如通过使用射频的收发器668发生。此外,可以发生短程通信,诸如使用蓝牙、WiFi或其他这样的收发器。另外,GPS(全球定位系统)接收器模块670可以向移动计算设备650提供附加的导航和位置相关的无线数据,其可以由在移动计算设备650上运行的应用适当地使用。
移动计算设备650也可以使用音频编解码器660进行可听通信,其中,音频编解码器660可以从用户接收语音信息并将其转换为可用的数字信息。音频编解码器660同样可以诸如通过扬声器(例如,在移动计算设备650的手机中)为用户生成可听声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在移动计算设备650上操作的应用生成的声音。
如图所示,移动计算设备650可以以多种不同的形式实现。例如,它可以被实现为蜂窝电话680。它还可以被实现为智能电话682、个人数字助理或其他类似移动设备的一部分。
如贯穿本文所使用的,短语“数字组件”是指数字内容或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字组件能够作为单个文件或以文件集合电子地存储在物理存储设备中,并且数字组件能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是一种类型的数字组件。
这里描述的系统和技术的各种实现能够在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件、计算机程序产品和/或其组合中实现。这些各种实现能够包括在可编程系统上可执行和/或可解释的一个或更多个计算机程序中的实现,该可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令发送到存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术能够在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户能够通过其向计算机提供输入的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。也能够使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术能够在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户接口或Web浏览器的客户端计算机,其中,用户能够通过该图形用户接口或Web浏览器与这里描述的系统和技术的实现进行交互),或者包括这种后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
1.一种方法,包括:
由一个或更多个服务器选择要在于客户端设备处运行的应用中呈现的数字组件;
由一个或更多个服务器获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
在选择数字组件并获得数字组件的属性之后,由一个或更多个服务器基于获得的属性来选择配置文件,配置文件指定要由响应于与数字组件的用户交互而呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
2.根据权利要求1所述的方法,还包括:
由报告网络位置处的服务器接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
3.根据权利要求1或2所述的方法,还包括:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
4.根据权利要求3所述的方法,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
5.根据权利要求4所述的方法,其中,附加操作使得客户端设备收集所述配置文件的操作集合没有使得客户端设备收集的视觉元素交互数据,其中,所述视觉元素交互数据是响应于与不是在应用中呈现的数字组件的部分的应用的视觉元素的用户交互而收集的。
6.根据任意前述权利要求所述的方法,其中,所述操作集合包括:
由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作;以及
由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。
7.根据权利要求6所述的方法,其中:
第一操作使得客户端设备响应于与数字组件的第一视图的第一交互来报告数字组件的呈现,数字组件的第一视图在与应用内的数字组件交互之前被呈现;以及
第二操作使得客户端设备报告与数字组件的第二视图的第二交互,数字组件的第二视图在与数字组件的第一视图的第一交互之后被呈现。
8.根据任意前述权利要求所述的方法,其中,选择指定要由呈现数字组件的客户端设备执行的操作集合的配置文件包括:
分析获得的属性以确定数字组件的特定格式;
确定正在由客户端设备运行的应用的版本;以及
从多个不同的配置文件中选择针对数字组件的特定格式和应用的版本的组合定义的特定配置文件。
9.一种系统,包括:
一个或更多个存储设备,存储指令;以及
一个或更多个数据处理装置,被配置为与一个或更多个存储设备交互,并且在执行所述指令时,执行包括以下的操作:
选择要在于客户端设备处运行的应用中呈现的数字组件;
获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
在选择数字组件并获得数字组件的属性之后,由一个或更多个服务器基于获得的属性来选择配置文件,配置文件指定要由响应于与数字组件的用户交互而呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
10.根据权利要求9所述的系统,其中,被配置为与一个或更多个存储设备交互的一个或更多个数据处理装置在执行所述指令时执行还包括以下的操作:
在报告网络位置处接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
11.根据权利要求9或权利要求10所述的系统,其中,被配置为与一个或更多个存储设备交互的一个或更多个数据处理装置在执行所述指令时执行还包括以下的操作:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
12.根据权利要求11所述的系统,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
13.根据权利要求12所述的方法,其中,附加操作使得客户端设备收集所述配置文件的操作集合没有使得客户端设备收集的视觉元素交互数据,其中,所述视觉元素交互数据是响应于与不是在应用中呈现的数字组件的部分的应用的视觉元素的用户交互而收集的。
14.根据权利要求9至13中任一项所述的系统,其中,操作集合包括:
由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作;以及
由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。
15.根据权利要求14所述的系统,其中:
第一操作使得客户端设备响应于与数字组件的第一视图的第一交互来报告数字组件的呈现,数字组件的第一视图在与应用内的数字组件交互之前被呈现;以及
第二操作使得客户端设备报告与数字组件的第二视图的第二交互,梳子组件的第二视图在与数字组件的第一视图的第一交互之后被呈现。
16.根据权利要求9至15中任一项所述的系统,其中,选择指定要由呈现数字组件的客户端设备执行的操作集合的配置文件包括:
分析获得的属性以确定数字组件的特定格式;
确定正在由客户端设备运行的应用的版本;以及
从多个不同的配置文件中选择针对数字组件的特定格式和应用的版本的组合定义的特定配置文件。
17.一种存储指令的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
选择要在于客户端设备处运行的应用中呈现的数字组件;
获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
在选择数字组件并获得数字组件的属性之后,由一个或更多个服务器基于获得的属性来选择配置文件,配置文件指定要由响应于与数字组件的用户交互而呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
在报告网络位置处接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
19.根据权利要求17或权利要求18所述的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
20.根据权利要求19所述的系统,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
虽然上面已经详细描述了一些实现,但是其他修改也是可能的。例如,虽然客户端应用被描述为访问(一个或更多个)委托,但是在其他实现中,(一个或更多个)委托可以被由一个或更多个处理器实现的其他应用(诸如在一个或更多个服务器上执行的应用)采用。另外,附图中描绘的逻辑流程不需要所示的特定顺序或相继顺序来实现期望的结果。另外,可以提供其他动作,或者可以从所描述的流程中消除动作,并且可以将其他组件添加到所描述的系统或从所描述的系统中移除。因此,其他实现在所附权利要求的范围内。
Claims (20)
1.一种方法,包括:
由一个或更多个服务器选择要在于客户端设备处运行的应用中呈现的数字组件,所述客户端设备具有操作能力特征集合;
由一个或更多个服务器确定正在所述客户端设备处运行的应用的版本;
由一个或更多个服务器获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
由一个或更多个服务器分析所获得的属性,以确定数字组件的特定格式;
由一个或更多个服务器基于数字组件的特定格式和应用的版本从多个不同的配置文件中选择配置文件,所述配置文件指定要由呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
2.根据权利要求1所述的方法,还包括:
由报告网络位置处的服务器接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
3.根据权利要求1所述的方法,还包括:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件而不是所述配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
4.根据权利要求3所述的方法,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
5.根据权利要求4所述的方法,其中,附加操作使得客户端设备收集所述配置文件的操作集合没有使得客户端设备收集的视觉元素交互数据,其中,所述视觉元素交互数据是响应于与不是在应用中呈现的数字组件的部分的应用的视觉元素的用户交互而收集的。
6.根据权利要求1所述的方法,其中,所述操作集合包括:
由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作;以及
由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。
7.根据权利要求6所述的方法,其中:
第一操作使得客户端设备响应于与数字组件的第一视图的第一交互来报告数字组件的呈现,数字组件的第一视图在与应用内的数字组件交互之前被呈现;以及
第二操作使得客户端设备报告与数字组件的第二视图的第二交互,数字组件的第二视图在与数字组件的第一视图的第一交互之后被呈现。
8.根据权利要求1所述的方法,其中,选择指定要由呈现数字组件的客户端设备执行的操作集合的配置文件包括:
从多个不同的配置文件中选择针对数字组件的特定格式、客户端设备的操作能力特征集合和应用的版本的组合定义的特定配置文件。
9.一种系统,包括:
一个或更多个存储设备,存储指令;以及
一个或更多个数据处理装置,被配置为与一个或更多个存储设备交互,并且在执行所述指令时,执行包括以下的操作:
选择要在于客户端设备处运行的应用中呈现的数字组件,所述客户端设备具有操作能力特征集合;
确定正在所述客户端设备处运行的应用的版本;
获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
分析所获得的属性,以确定数字组件的特定格式;
基于数字组件的特定格式和应用的版本从多个不同的配置文件中选择配置文件,配置文件指定要由呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
10.根据权利要求9所述的系统,其中,被配置为与一个或更多个存储设备交互的一个或更多个数据处理装置在执行所述指令时执行还包括以下的操作:
在报告网络位置处接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
11.根据权利要求9所述的系统,其中,被配置为与一个或更多个存储设备交互的一个或更多个数据处理装置在执行所述指令时执行还包括以下的操作:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件而不是所述配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
12.根据权利要求11所述的系统,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
13.根据权利要求12所述的系统,其中,附加操作使得客户端设备收集所述配置文件的操作集合没有使得客户端设备收集的视觉元素交互数据,其中,所述视觉元素交互数据是响应于与不是在应用中呈现的数字组件的部分的应用的视觉元素的用户交互而收集的。
14.根据权利要求9所述的系统,其中,操作集合包括:
由客户端设备响应于与数字组件的第一类型的交互而执行的第一操作;以及
由客户端设备响应于与数字组件的第二类型的交互而执行的第二操作。
15.根据权利要求14所述的系统,其中:
第一操作使得客户端设备响应于与数字组件的第一视图的第一交互来报告数字组件的呈现,数字组件的第一视图在与应用内的数字组件交互之前被呈现;以及
第二操作使得客户端设备报告与数字组件的第二视图的第二交互,数字组件的第二视图在与数字组件的第一视图的第一交互之后被呈现。
16.根据权利要求9所述的系统,其中,选择指定要由呈现数字组件的客户端设备执行的操作集合的配置文件包括:
从多个不同的配置文件中选择针对数字组件的特定格式、客户端设备的操作能力特征集合和应用的版本的组合定义的特定配置文件。
17.一种存储指令的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
选择要在于客户端设备处运行的应用中呈现的数字组件,所述客户端设备具有操作能力特征集合;
确定正在所述客户端设备处运行的应用的版本;
获得数字组件的属性,包括数字组件响应于与数字组件的交互而将用户重定向到的目的地网络位置和与数字组件的交互被报告到的报告网络位置中的至少一个或更多个;
分析所获得的属性,以确定数字组件的特定格式;
基于数字组件的特定格式和应用的版本从多个不同的配置文件中选择配置文件,配置文件指定要由呈现数字组件的客户端设备执行的操作集合;以及
向客户端设备发送有效载荷,有效载荷包括指定要在应用中呈现的数字组件的信息和配置文件,配置文件在由客户端设备运行时使得客户端设备执行由配置文件指定的操作集合。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
在报告网络位置处接收配置报告分组,配置报告分组(i)由客户端设备响应于配置文件的运行而生成并且(ii)指定在客户端设备处与数字组件的交互。
19.根据权利要求17所述的非暂时性计算机可读介质,其中,所述指令在由一个或更多个数据处理装置执行时使得所述一个或更多个数据处理装置执行包括以下的操作:
在将有效载荷发送到客户端设备之后,第二次选择要在应用中呈现的数字组件;
基于不同的配置文件被映射到数字组件的属性而不是在有效载荷中发送的配置文件被映射到数字组件的属性,第二次选择所述不同的配置文件而不是所述配置文件,所述不同的配置文件指定与在有效载荷中发送的配置文件不同的操作集合;以及
当数字组件的属性被映射到所述不同的配置文件时,基于对数字组件的选择,向客户端设备发送包括指定数字组件的信息和所述不同的配置文件而不是所述配置文件的不同的有效载荷。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,不同的操作集合包括使得客户端设备执行所述配置文件没有使得客户端设备执行的动作的附加操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310293196.7A CN116483228A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
CN202310294821.XA CN116483463A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/564,298 US11128736B2 (en) | 2019-09-09 | 2019-09-09 | Dynamically configurable client application activity |
US16/564,298 | 2019-09-09 | ||
PCT/US2020/038634 WO2021050151A1 (en) | 2019-09-09 | 2020-06-19 | Dynamically configurable client application activity |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310294821.XA Division CN116483463A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
CN202310293196.7A Division CN116483228A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114402281A CN114402281A (zh) | 2022-04-26 |
CN114402281B true CN114402281B (zh) | 2023-03-24 |
Family
ID=71528024
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080046480.9A Active CN114402281B (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
CN202310293196.7A Pending CN116483228A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
CN202310294821.XA Pending CN116483463A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310293196.7A Pending CN116483228A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
CN202310294821.XA Pending CN116483463A (zh) | 2019-09-09 | 2020-06-19 | 动态可配置的客户端应用活动 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11128736B2 (zh) |
EP (1) | EP3935493A1 (zh) |
JP (1) | JP7286798B2 (zh) |
CN (3) | CN114402281B (zh) |
WO (1) | WO2021050151A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11128736B2 (en) * | 2019-09-09 | 2021-09-21 | Google Llc | Dynamically configurable client application activity |
CN117857525B (zh) * | 2024-03-04 | 2024-05-17 | 上海融和元储能源有限公司 | 一种基于高效传输协议的工业数据系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019146864A1 (ko) * | 2018-01-23 | 2019-08-01 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11316704A (ja) * | 1998-05-01 | 1999-11-16 | Nippon Telegr & Teleph Corp <Ntt> | Htmlページのリンク変換方法及びリンク変換プログラムを格納した記憶媒体 |
US7958457B1 (en) * | 1999-12-20 | 2011-06-07 | Wireless Agents, Llc | Method and apparatus for scheduling presentation of digital content on a personal communication device |
JP4355639B2 (ja) | 2004-09-15 | 2009-11-04 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
WO2010080598A1 (en) * | 2008-12-19 | 2010-07-15 | Nurago Gmbh | Mobile device and method for providing logging and reporting of user-device interaction |
US8332765B2 (en) * | 2009-03-06 | 2012-12-11 | Microsoft Corporation | Problem reporting system based on user interface interactions |
US8719381B2 (en) * | 2010-10-05 | 2014-05-06 | Edgecast Networks, Inc. | Reconfigurable download manager |
US20150170382A1 (en) * | 2010-10-19 | 2015-06-18 | Izenda, Inc. | Systems and methods for automatic interactive visualizations |
CN102752707B (zh) * | 2011-04-19 | 2014-09-17 | 腾讯科技(深圳)有限公司 | 一种上报移动终端位置信息的方法和系统 |
US20140019228A1 (en) * | 2012-07-11 | 2014-01-16 | Char Software, Inc. d/b/a Localytics | System and Method for Performing Application-Level Analytics and Testing to Tailor Actions and Communications to a User's Experience |
US9357272B2 (en) * | 2012-08-03 | 2016-05-31 | Intel Corporation | Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation |
US9432711B2 (en) * | 2012-11-19 | 2016-08-30 | John D. Steinberg | System and method for creating customized, multi-platform video programming |
US9672575B2 (en) * | 2013-04-03 | 2017-06-06 | Salesforce.Com, Inc. | Capturing information regarding an interaction to a database |
US9419845B2 (en) * | 2013-06-27 | 2016-08-16 | Cisco Technology, Inc. | Dynamic content distribution network selection based on context from transient criteria |
US20150035823A1 (en) * | 2013-07-31 | 2015-02-05 | Splunk Inc. | Systems and Methods for Using a Three-Dimensional, First Person Display to Convey Data to a User |
US10965763B2 (en) * | 2014-07-31 | 2021-03-30 | Wells Fargo Bank, N.A. | Web analytics tags |
US20160162277A1 (en) * | 2014-12-05 | 2016-06-09 | Johannes Fenzl | Remote update of software components |
WO2016204815A1 (en) * | 2015-06-16 | 2016-12-22 | Intel IP Corporation | Adaptive video streaming using dynamic radio access network information |
US20160380853A1 (en) * | 2015-06-26 | 2016-12-29 | Qualcomm Incorporated | Reporting media consumption based on service area |
US10264314B2 (en) * | 2016-04-29 | 2019-04-16 | Pccw Vuclip (Singapore) Pte. Ltd. | Multimedia content management system |
WO2017197465A1 (en) * | 2016-05-20 | 2017-11-23 | Metamako General Pty Ltd In Its Capacity As General Partner Of Metamako Technology Lp | Systems for transmitting a data stream and methods for transmitting a data stream |
WO2018004600A1 (en) * | 2016-06-30 | 2018-01-04 | Sophos Limited | Proactive network security using a health heartbeat |
US10536547B2 (en) | 2017-04-03 | 2020-01-14 | Google Llc | Reducing redirects |
JP6843007B2 (ja) | 2017-06-26 | 2021-03-17 | 株式会社三菱Ufj銀行 | アプリケーション生成支援システム |
US10943184B2 (en) * | 2017-09-14 | 2021-03-09 | Amadeus S.A.S. | Machine learning methods and systems for predicting online user interactions |
US11157846B2 (en) * | 2018-08-06 | 2021-10-26 | Sociometric Solutions, Inc. | System and method for transforming communication metadata and sensor data into an objective measure of the communication distribution of an organization |
US11210466B2 (en) * | 2018-12-07 | 2021-12-28 | Hewlett Packard Enterprise Development Lp | Multiple document editing using rules for a restricted language |
US11128736B2 (en) * | 2019-09-09 | 2021-09-21 | Google Llc | Dynamically configurable client application activity |
US11093267B2 (en) * | 2019-11-21 | 2021-08-17 | Zscaler, Inc. | Proxy auto config (PAC) file parser systems and methods |
US20210326018A1 (en) * | 2020-04-16 | 2021-10-21 | Honeywell International Inc. | Systems and methods providing visual affordances for human-machine interfaces |
US11847242B2 (en) * | 2020-05-28 | 2023-12-19 | EMC IP Holding Company LLC | DCF node configuration for device data |
-
2019
- 2019-09-09 US US16/564,298 patent/US11128736B2/en active Active
-
2020
- 2020-06-19 CN CN202080046480.9A patent/CN114402281B/zh active Active
- 2020-06-19 CN CN202310293196.7A patent/CN116483228A/zh active Pending
- 2020-06-19 WO PCT/US2020/038634 patent/WO2021050151A1/en unknown
- 2020-06-19 JP JP2021560657A patent/JP7286798B2/ja active Active
- 2020-06-19 CN CN202310294821.XA patent/CN116483463A/zh active Pending
- 2020-06-19 EP EP20737755.7A patent/EP3935493A1/en active Pending
-
2021
- 2021-08-27 US US17/459,628 patent/US11539802B2/en active Active
-
2022
- 2022-12-23 US US18/088,319 patent/US20230208925A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019146864A1 (ko) * | 2018-01-23 | 2019-08-01 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2021050151A1 (en) | 2021-03-18 |
JP7286798B2 (ja) | 2023-06-05 |
US20210075886A1 (en) | 2021-03-11 |
CN116483228A (zh) | 2023-07-25 |
CN116483463A (zh) | 2023-07-25 |
JP2022537008A (ja) | 2022-08-23 |
US20230208925A1 (en) | 2023-06-29 |
US20210392203A1 (en) | 2021-12-16 |
EP3935493A1 (en) | 2022-01-12 |
CN114402281A (zh) | 2022-04-26 |
US11128736B2 (en) | 2021-09-21 |
US11539802B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924574B2 (en) | Systems and methods for managing loading priority or sequencing of fragments of a web object | |
US20200020019A1 (en) | Systems and Methods for Integrated Recommendations | |
WO2019228059A1 (zh) | 一种数据处理的方法、多云管理系统以及相关设备 | |
US11233841B2 (en) | Systems and methods for configuration-based optimization by an intermediary | |
US9152219B2 (en) | Creation and context-aware presentation of customized emoticon item sets | |
US20130066947A1 (en) | System and Method for Managing Applications for Multiple Computing Endpoints and Multiple Endpoint Types | |
TW201441829A (zh) | 頁面處理方法和裝置以及頁面生成方法和裝置 | |
US20230208925A1 (en) | Dynamically configurable client application activity | |
CA2854142A1 (en) | Launching applications from webpages | |
KR20050091027A (ko) | 컴포넌트 기반의 무선 애플리케이션을 생성하여 통신하는시스템 및 방법 | |
WO2011061390A1 (en) | Method and apparatus for presenting a web application instance to multiple user interfaces | |
US11620143B2 (en) | Interface and mode selection for digital action execution | |
US10558487B2 (en) | Dynamic customization of client behavior | |
KR20110065352A (ko) | 포털 인프라구조에서 포틀릿을 태깅하는 방법, 장치, 데이터 처리 프로그램 및 컴퓨터 프로그램 제품 | |
US20150339679A1 (en) | Contextual information monitoring |
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 | ||
GR01 | Patent grant |