CN114020378B - 用于处理数字组件的方法及*** - Google Patents

用于处理数字组件的方法及*** Download PDF

Info

Publication number
CN114020378B
CN114020378B CN202111202234.0A CN202111202234A CN114020378B CN 114020378 B CN114020378 B CN 114020378B CN 202111202234 A CN202111202234 A CN 202111202234A CN 114020378 B CN114020378 B CN 114020378B
Authority
CN
China
Prior art keywords
request
digital component
response
sdk
client device
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
CN202111202234.0A
Other languages
English (en)
Other versions
CN114020378A (zh
Inventor
C.道森
H.A.加龙
J.贾尔斯
V.V.库马尔
S.R.诺吕姆
G.J.莱维特
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN202111202234.0A priority Critical patent/CN114020378B/zh
Publication of CN114020378A publication Critical patent/CN114020378A/zh
Application granted granted Critical
Publication of CN114020378B publication Critical patent/CN114020378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开涉及一种***、非暂时计算机可读介质以及方法,包括从客户端设备接收由在客户端设备处安装的第一SDK生成的对数字组件的第一请求;在请求的一个或多个数据字段内识别(i)对应于在客户端设备处安装的一组其它SDK的数据和(ii)在由第一SDK生成的第一请求中包括的数据;生成包括从在发起请求的客户端设备处安装的一组其它SDK中指定一个或多个SDK的数据的第二请求;通过网络将第二请求传输到第三方数字组件供应商;从第三方数字组件供应商接收对第二请求的响应;和响应于由SDK生成的第一请求,传输从在客户端设备处安装的一组其它SDK之中指定需要哪个SDK以渲染由对第二请求的响应指定的数字组件的指令。

Description

用于处理数字组件的方法及***
本申请是申请日为2017年2月2日,申请号为201780001377.0,发明名称为“用于处理数字组件的方法及***”的发明专利申请的分案申请。
技术领域
本说明书涉及处理数字组件。
背景技术
因特网促进了跨全球用户之间的信息交换。这种信息交换使得能够处理对诸如数字组件的内容的请求。在某些情况下,内容可以由需求来源调用,以在客户端设备处渲染内容。
发明内容
在一些实现中,本公开的方法包括处理用于在客户端设备处渲染数字组件的请求。例如,这些方法可以包括接收来自安装在客户端设备处的软件开发套件(SDK)的对数字组件的请求。SDK可以是使得能够针对客户端设备的特定平台创建应用的一组软件开发工具。SDK可以包括源代码、开发工具、仿真器、库等,以构建针对特定平台的应用。可以由一个或多个服务器检查请求以识别在客户端设备处发起请求的应用。服务器可以被配置为基于来自SDK的对数字组件的请求生成实时请求。每个实时请求可以包括诸如安装在所识别的应用中的一组其他SDK的信息。实时请求可以在从客户端设备接收到初始请求之后的特定时间量内传输到第三方数字组件供应商。实时请求可以串行、并行或其任何组合地传输到第三方数字组件供应商。此外,初始请求可以指示其中需要向客户端设备提供数字组件的时间量。响应于将对数字组件的实时请求传输到第三方数字组件供应商,服务器可以被配置为接收来自第三方数字组件供应商的响应。服务器还可以被配置为选择特定响应以传输到客户端设备,以便满足来自客户端设备的初始请求。在某些方面,特定响应可以包括数字组件以及指定安装在客户端设备处的某个SDK来渲染数字组件的指令。
在本说明书中描述的主题的一个创新方面体现在方法中,所述方法包括如下动作:从客户端设备接收由安装在客户端设备处的第一软件开发套件(SDK)生成的对数字组件的请求;由一个或多个定制数字组件服务器检查请求的一个或多个数据字段,包括:在一个或多个数据字段内识别指定在客户端设备处发起请求的应用的应用数据;由一个或多个服务器生成多个实时请求,包括:基于数据结构中应用数据到已安装的SDK的映射来识别安装于在应用中的一组SDK,该应用在客户端设备处发起请求;在每个实时请求中包括指定安装于在客户端设备处发起请求的应用中的该组SDK的数据;通过网络由一个或多个服务器将每个实时请求传输到相应的第三方数字组件供应商;以及由一个或多个服务器从相应的第三方数字组件供应商接收对多个实时请求的一组响应;由一个或多个服务器响应于对数字组件的请求,从该组响应中选择要传输到客户端设备的特定响应;以及由一个或多个服务器利用指定需要在客户端设备处安装的哪个SDK来渲染特定响应中包括的数字组件的指令向第一SDK传输该特定响应。
这个和其他方面的其他实现方式包括被配置为执行在计算机存储设备上编码的方法的动作的相应的***、装置和计算机程序。
实现方式可以各自可选地包括以下特征中的一个或多个。例如,所述方法可以包括在一个或多个数据字段内识别由安装在客户端设备处的第二SDK生成的加密数据,并且其中当生成多个实时请求时,加密数据被包括在发送给被授权解密由第二SDK生成的加密数据的特定一个第三方的特定一个实时请求。在这种情况下,所述方法还可以包括将特定的实时请求传输到特定的第三方数字组件供应商而不对加密数据进行解密。
所述方法还可以包括访问应用数据到已安装的SDK的映射,在映射内识别在应用数据中指定的应用以及发起请求的应用的版本,以及识别映射到应用和发起请求的应用的版本的一组SDK。在这种情况下,方法还可以包括从存储在数据结构中的响应日志中识别响应于由应用的版本发起的先前请求而先前提供给应用的版本的先前响应,从先前响应中识别在先前响应中指定的一组多个不同的SDK,并在数据结构中将该组多个不同的SDK中的每个SDK映射到应用的版本。
在某些方面,所述方法可以包括传输指定应用编程接口(API)调用的指令以渲染特定响应中包括的数字组件。所述方法还可以包括:由一个或多个服务器通过网络传输每个实时请求到相应的第三方数字组件供应商,包括将特定实时请求传输到特定的第三方数字组件供应商而不对加密数据解密。在某些方面,所述方法可以包括向特定SDK提供对定制数字组件的呈现的控制。
所述方法还可以包括:向相应的第三方数字组件供应商传输每个实时请求包括不向未被授权解密由第二SDK生成的加密数据的第三方传输特定实时请求,从相应的第三方数字组件供应商接收对多个实时请求的一组响应包括:接收该组中的给定响应,所述给定响应指定需要除了第一SDK之外的特定SDK来渲染所述给定响应中包括的特定数字组件,以及传输给定响应作为特定响应,其中需要特定SDK来渲染所述给定响应中包括的特定数字组件。
有利的实现方式可以包括以下特征中的一个或多个。该方法允许将数字组件请求并行发送到不同的网络,从而减少客户端侧调解所经历的延迟,同时与在实时投标中使用一个SDK相比确保支持多个SDK。换句话说,当客户端设备处的应用发出对数字组件的请求时,可能期望从与多个不同SDK相关联的第三方数字组件供应商接收对该请求的响应。因此,该方法可用于通过利用实时投标的优点来处理对数字组件的请求,同时保留客户端侧调解的属性。此外,SDK可以用于在客户端设备处收集定制的信号并渲染定制数字组件,同时经由具有对诸如定制数字组件的数字组件的并行调用的实时投标进行交易。具体来说,当应用发布对媒体内容的请求时,期望从与不同SDK相关联的第三方接收用于供应数字组件的出价。
在附图和下面的描述中阐述了本发明的一个或多个实施例的细节。从描述、附图和权利要求书,本发明的其他特征和优点将变得显而易见。
附图说明
图1是处理对定制数字组件的请求的示例环境的框图。
图2是用于处理定制数字组件的示例过程的流程图。
图3是用于检查请求的数据字段的示例过程的流程图。
图4是用于生成实时请求的示例过程的流程图。
图5是示出与数字组件供应商的示例通信的框图。
图6是示例计算***的框图。
各附图中的相同附图标记和标号指示相同的元件。
具体实施方式
本文档公开了用于处理对数字组件的请求并且通过网络来选择特定响应以满足请求的方法、***和设备。如下面更详细地讨论的,第一SDK可以生成对数字组件的请求。该请求可以被服务器接收并且被检查以识别与该请求相对应的应用以及可以支持在应用中的数字组件渲染的SDK列表。请求和从请求中提取的信息可以用于由服务器生成实时请求。实时请求可以被传输到多个第三方数字组件供应商。服务器可以从第三方数字组件供应商接收对实时请求的响应。响应可以包括数字组件,诸如需要由特定SDK定制渲染的定制数字组件。响应可以由服务器接收,然后服务器可以被配置为选择响应中的特定响应以满足初始请求。在这种情况下,所选择的响应可以从服务器传输到客户端设备,用于通过指定的SDK渲染与所选择的响应相关联的特定数字组件。
如本文档全文中所使用的,短语“数字组件”是指数字内容或数字信息(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)的离散单元。数字组件可以电子地存储在物理存储设备中作为单个文件或文件集合,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是一种数字组件。通常,数字组件由单个供应商或源(例如,广告商、发布者或其他组件供应商)定义(或由其提供)。数字组件可以被集成(例如,在其中呈现)到由与数字组件供应商不同的电子文档供应商提供的电子文档中。
图1是其中处理对定制数字组件的请求的示例环境100的框图。示例环境100包括网络102,诸如局域网(LAN)、广域网(WAN)、因特网或其任何组合。网络102连接客户端设备106、数字组件服务器110和数字组件供应商114。示例环境100可以包括许多不同的客户端设备106、数字组件服务器110和数字组件供应商114。
客户端设备106是能够通过网络102请求和接收资源(诸如数字组件)的电子设备。示例客户端设备106包括可以通过网络102发送和接收数据的个人计算机、移动通信设备和其他设备。客户端设备106通常包括诸如web浏览器的用户应用,以促进通过网络102发送和接收数据,但由客户端设备106执行的原生应用也可以促进通过网络102发送和接收数据。
客户端设备106可以包括安装在每个客户端设备106处的多个SDK。SDK可以各自对应于能够创建用于客户端设备106的特定平台的应用的一组软件开发工具。SDK可以包括源代码、开发工具、仿真器、库等,以构建用于特定平台的应用。SDK可以用于生成对数字组件的请求112,该请求112通过网络102传输到数字组件服务器110。例如,客户端设备106可以使用安装在客户端设备106处的第一SDK来生成用于定制数字组件的请求112。
请求112可以包括指定特征的数据,这些数据诸如数字组件供应商114的名称(或网络位置)、请求设备(例如,客户端设备106)的名称(或网络位置))和/或数字组件服务器110可以用于响应于请求112来选择要提供的数字组件的信息。客户端设备106将请求112通过网络102(例如,电信网络)传输到一个或更多的数字组件服务器110。请求112还可以包括指定其他特征的数据,该其他特征诸如指示发起请求112的应用的应用数据以及安装在客户端设备106处的一组SDK。
包括一个或多个数字组件服务器的数字组件服务器110响应于检查请求112和/或使用包括在请求112中的信息而为数字组件生成多个实时请求117。例如,数字组件服务器110可以检查请求112的一个或多个数据字段。可以检查数据字段以识别指定在客户端设备106处发起请求112的特定应用的应用数据。此外,数字组件服务器110可以被配置为使用从数据字段提取的信息来生成多个实时请求117。
在一些示例中,数字组件服务器110可以被配置为识别安装在特定应用中的一组SDK,该应用在客户端设备106处发起请求112。具体地,数字组件服务器110可以基于数据结构中应用数据到已安装的SDK的映射来识别该组SDK。例如,数字组件服务器110可以被配置为基于将应用数据组织到特定SDK的数据结构来识别一组已安装的SDK。特别地,数据结构可以存储应用数据到已安装的SDK的映射,所述已安装的SDK安装在客户端设备106处的各种应用中。因此,当数字组件服务器110基于请求112识别应用数据时,数字组件服务器110可以使用诸如查找表的数据结构将应用数据映射到某些SDK。
当应用数据被映射到某些SDK时,数字组件服务器110可以识别哪些SDK被安装在客户端设备106处的一个或多个应用中。数字组件服务器110还可以被配置为在实时请求117中包括指定所识别的一组已安装的SDK的数据。在一些方面,数据结构可以是在初始请求112之前定义并由数字组件服务器110访问的预定数据结构。在其他方面,数字组件服务器110可以被配置为使用应用数据到指定的SDK的映射和应用来生成数据结构。
如图1所示,数字组件服务器110还可以被配置为经由网络102将实时请求117传输到数字组件供应商114。例如,数字组件服务器110可以生成三个实时请求117a-c并且将实时请求117a-c中的每一个并行地传输到特定的数字组件供应商114a-c。在这种情况下,第一实时请求117a可以被传输到第一数字组件供应商114a,第二实时请求117b可以被传输到第二数字组件供应商114b,并且第三实时请求117c可以被提供给数字组件供应商114c。在某些方面,将单个实时请求117传输到多个不同的数字组件供应商114。例如,第一实时请求117a可以并行传输到第一数字组件供应商114a、第二数字组件供应商114b和第三数字组件供应商114c。在这种情况下,诸如第一实时请求117a的单个实时请求117可以被传输到多个数字组件供应商114,以从每个数字组件供应商114接收用于渲染数字组件的投标(bid)。初始请求117可能需要在预定时间段内被提供响应。每个数字组件供应商114可以向请求117提供响应118,该响应118包括针对特定数字组件的投标。因此,单个请求117可以被提供给多个数字组件供应商114,试图在用于响应118的预定时间段内快速地接收与最高投标者相关联的数字组件。在某些方面,对请求117的响应118可以可选地或附加地包括要渲染的数字组件,诸如数字组件标记或到数字组件标记的链接。
数字组件供应商114可以包括一个或多个数字组件供应商,诸如第三方数字组件供应商。数字组件供应商114a-c可以被配置为生成对实时请求117的响应118a-c。响应118可以包括用于在客户端设备106处渲染的数字组件。在一些方面,响应118可以包括一个或更多可能的数字组件用于在客户端设备106处渲染。响应118的数字组件还可以包括定制数字组件。定制数字组件(例如,定制广告)可以包括可以由安装在客户端设备106处的特定SDK渲染的定制创意格式。由此,响应118中包括的定制数字组件可以指示需要由生成原始请求112的第一SDK之外的SDK来渲染定制数字组件。
响应118可以由数字组件服务器110通过网络102接收。数字组件服务器110可以被配置为选择特定响应以满足针对数字组件的请求112。例如,数字组件服务器110可以接收响应于实时请求117a-c的三个响应118a-c。数字组件服务器110可以响应于针对数字组件的初始请求112来选择三个响应118a-c的特定响应以向客户端设备106传输。在一些方面,特定响应可以由数字组件服务器110基于与响应118a-c的每一个相关联的投标来选择。在其他方面,可以基于请求112的指定数字组件特征来选择特定响应。
所选择的响应可以通过网络102从数字组件服务器110传输到客户端设备106。所选择的响应可以作为对数字组件的初始请求112的答复120传输。在某些方面,答复120可被传输到生成请求112的第一SDK。答复120可以包括指定需要安装在客户端设备106处的SDK(除了第一SDK之外)渲染包含在答复120中的数字组件。
在一些方面,客户端设备106执行包括在答复120中的指令。例如,客户端设备106可以使用指令来配置和启用包括在答复120中的特定数字组件的渲染。在另一示例中,指令可以用于配置和使客户端设备106从相应的数字组件供应商114获得特定的数字组件。例如,答复120中的指令可以包括网络位置(例如,统一资源定位符(URL))和脚本,其使得客户端设备106向相应的数字组件供应商114传输服务器请求(SR)121以从数字组件供应商114获得特定的数字组件。响应于请求121,数字组件供应商114可以识别服务器请求121中指定的特定数字组件,并向客户端设备106传输数字组件数据(DC数据)122,其将用于渲染的特定数字组件传输到客户端设备106。
图2是用于处理定制数字组件的示例过程200的流程图。过程200可以由一个或多个服务器或其他计算设备执行。例如,过程200的操作可以由图1的数字组件服务器110执行。过程200的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程200的操作。
在步骤202,数字组件服务器接收由安装在客户端设备处的第一SDK生成的对数字组件的请求。对数字组件的请求可以包括指定特征的数据,该指定特征诸如数字组件供应商的名称(或网络位置)、请求设备(例如,客户端设备)的名称(或网络位置))和/或数字组件服务器可以用于响应于该请求来选择要提供的数字组件的信息。由一个或多个数字组件服务器通过网络(例如,电信网络)接收该请求。该请求还可以包括指定其他特征的数据,该其他特征诸如指定发起请求的应用的应用数据以及安装在客户端设备处的一组SDK。
在步骤204,数字组件服务器检查请求的数据字段。数字组件服务器可以检查请求的一个或多个数据字段。数据字段可以各自包括不同类型的数据,诸如整数、字符串、日期等。在一些方面,数字组件服务器被配置为检查请求的数据字段以识别请求的加密数据。加密数据可以被识别为由安装在客户端设备处的第二SDK生成。加密数据可以包括与先前渲染的数字组件(例如,先前由第二SDK渲染或在包括第二SDK的应用内)对应的专有信号(例如,专有于第二SDK的供应商)。先前渲染的数字组件可以由安装在客户端设备处的特定SDK渲染。表示SDK的信息可以包括多个不同的SDK以及与不同SDK对应的多个不同版本的应用。此外,加密数据可以包括特定于客户端设备的数据。例如,加密数据可以包括表示客户端设备的朝向的加速度计数据、表示客户端设备的移动的加速度计数据、表示客户端设备的地理位置的位置信号等。
在步骤206,数字组件服务器基于对请求的数据字段的检查来生成多个实时请求。实时请求可以包括对一个或多个数字组件的请求。数字组件服务器可以被配置为在实时请求中包括指定被识别的一组已安装SDK的数据。服务器可以被配置为基于来自SDK的对数字组件的请求生成实时请求。每个实时请求可以包括诸如安装在所识别的应用中的一组其他SDK的信息。
在一些方面,加密数据被包括在实时请求中。加密数据可以被包括在准备向数字组件供应商传输的一个或多个实时请求中。加密数据可以被包括在准备向某个数字组件供应商传输的某个实时请求中。该某个数字组件供应商可以是被授权解密该加密数据的数字组件供应商。加密数据可以包括在实时请求中,但是对数字组件服务器保持保密,以仅由被授权的数字组件供应商进行解密。例如,加密数据可以被包括在所有实时请求中,并且仅由被授权的数字组件供应商使用密钥解密。
在步骤208,数字组件服务器将每个实时请求传输到相应的数字组件供应商。例如,数字组件供应商可以是第三方组件供应商。数字组件服务器可以被配置为通过网络将实时请求传输到数字组件供应商。例如,数字组件服务器可以生成三个实时请求,并将每个实时请求传输到三个特定数字组件供应商之一。在从客户端设备接收到初始请求之后的特定时间量内,实时请求可以被传输到数字组件供应商。实时请求可以串行、并行或其任何组合地传输到第三方数字组件供应商。此外,初始请求可以指示其中数字组件服务器需要向客户端设备提供数字组件的时间量。
实时请求可以包括加密数据。例如,包括加密数据的实时请求可以由数字组件服务器生成并且被传输到被授权的数字组件服务器而不对加密数据解密。因此,数字组件服务器可以被配置为准备实时请求并将实时请求指向数字组件供应商,而不会对包括在实时请求中的加密数据的机密性进行让步。此外,数字组件服务器可以被配置为仅将包括加密数据的实时请求传输到被授权的数字组件供应商。
在步骤210,数字组件服务器从相应的第三方数字组件供应商接收对多个实时请求的一组响应。例如,每个第三方数字组件供应商可以向数字组件服务器提供响应。响应可以各自包括用于在客户端设备处渲染的数字组件。在一些方面,响应可以包括用于在客户端设备处渲染的一个或多个可能的数字组件。响应的数字组件可以包括定制数字组件。定制数字组件可以包括可在客户端设备处由特定SDK渲染的定制创意格式。由此,包括在响应中的定制数字组件可以指示定制数字组件需要由生成原始请求的第一SDK之外的SDK渲染。
在步骤212,数字组件服务器响应于对数字组件的请求,从该组响应中选择要传输到客户端设备的特定响应。例如,数字组件服务器可以接收响应于实时请求的三个响应。三个响应中的特定响应可以由数字组件服务器选择以传输到客户端设备。在一些方面,特定响应可以由数字组件服务器基于与每个响应相关联的选择分数(例如,投标或可用于对来自多个不同的可用数字组件之中的数字组件进行排名和/或选择的一些其他值)来选择。在这种情况下,特定响应可以与所有接收到的选择分数中的最高选择分数对应。在某些方面,可以基于请求的指定数字组件特征来选择特定响应。在这种情况下,特定响应可以包括满足来自客户端设备的初始请求的所有标准的数字组件。
在步骤214,数字组件服务器利用指定需要在客户端设备处安装的哪个SDK来渲染特定响应中包括的数字组件的指令,向第一SDK传输特定响应。所选择的响应可以通过网络从数字组件服务器传输到客户端设备。所选择的响应可以作为对数字组件的初始请求的答复来传输。在某些方面,特定响应可以被传输到生成请求的第一SDK。特定响应可以包括指定需要除了第一SDK之外的SDK来渲染包括在特定响应中的数字组件。在这种情况下,除了第一SDK之外的SDK可以是某个SDK,或者是仅仅与生成原始请求的第一SDK不同的SDK。
在某些方面,指令可以指定应用编程接口(API)调用以渲染特定响应中包括的数字组件。API调用可以由客户端设备处指定的SDK实现。API调用可以包括应用调用以执行任务的一组特定操作。由此,API调用可以包括一组操作,以经由客户端设备处的应用的特定SDK渲染数字组件。
在一些方面,指令可以向特定SDK提供对数字组件的呈现的控制。换句话说,可以将特定的SDK配置为在客户端设备处执行数字组件的渲染(例如,使用特定SDK具有的渲染能力,但是客户端设备处安装的其他SDK可能不具有该渲染能力)。
图3是用于检查对数字组件的请求的数据字段的示例过程的流程图。过程300可以包括针对过程200的步骤204的子过程。过程300可以由一个或多个服务器或其他计算设备执行。例如,过程300的操作可以由图1的数字组件服务器110执行。过程300的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程300的操作。
在步骤302,数字组件服务器在数据字段内识别指定发起请求的应用的应用数据。具体地,可以检查数据字段以识别指定在客户端设备处发起请求的特定应用的应用数据。数据字段可以基于请求中包括的数据字段的内容以及数据字段的类型来对应于特定应用。
在步骤304,数字组件服务器被配置为检查请求的数据字段以识别请求的加密数据。加密数据可以被识别为由客户端设备处安装的第二SDK生成。加密数据可以包括与先前渲染的数字组件对应的专有信号。先前渲染的数字组件可以由安装在客户端设备处的特定SDK渲染。由此,表示先前用于渲染数字组件的SDK的信息也可以包括在加密数据中。表示SDK的信息可以包括多个不同的SDK以及与不同的SDK对应的多个不同版本的应用。此外,加密数据可以包括特定于客户端设备的数据。例如,加密数据可以包括表示客户端设备的朝向的加速度计数据、表示客户端设备的移动的加速度计数据、表示客户端设备的地理位置的位置信号等。
图4是用于生成实时请求的示例过程的流程图。过程400可以包括针对过程200的步骤206的子过程。过程400可以由一个或多个服务器或其他计算设备执行。例如,过程400的操作可以由图1的数字组件服务器110执行。过程400的操作也可以被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由一个或多个服务器(或其他计算设备)执行时,指令使一个或多个服务器执行过程400的操作。
在步骤402,数字组件服务器识别安装在特定应用中的一组SDK,该特定应用在客户端设备处发起请求。具体来说,数字组件服务器可以基于数据结构中应用数据到已安装的SDK的映射来识别该组SDK。在一些方面,数字组件服务器可以配置为访问应用数据到已安装的SDK的映射。数字组件服务器还可以被配置为在应用数据的映射内识别在应用数据中指定的应用和发起请求的应用的版本。在这种情况下,数字组件服务器可以识别映射到应用以及发起对数字组件的初始请求的应用的版本的一组SDK。
例如,数字组件服务器可以被配置为基于将应用数据分类到特定SDK的预定数据结构来识别一组已安装的SDK。因此,当数字组件服务器基于请求识别应用数据时,数字组件服务器可以使用诸如查找表的数据结构将应用数据映射到某些SDK。当应用数据映射到某些SDK时,数字组件服务器可以识别在客户端设备处的应用中安装哪些SDK。数字组件服务器可以被配置为包括在实时请求中指定被识别的一组已安装的SDK的数据。
在一些方面,数字组件服务器可以被配置为生成应用数据到已安装的SDK的映射。在这种情况下,数字组件服务器可以响应于由应用的特定版本发起的先前请求,识别先前提供给应用的特定版本的先前响应。可以从存储在数据结构中的响应日志中识别先前响应。数字组件服务器可以被配置为识别在先前响应中指定的一组多个不同的SDK。此外,数字组件服务器可以被配置为将该组多个SDK中的每个SDK映射到数据结构中的该应用的特定版本。
在步骤404,数字组件服务器在每个实时请求中包括指定在应用中安装的在客户端设备处发起请求的一组SDK的数据。实时请求可以彼此独立。在这种情况下,每个实时请求可以对应于特定数字组件供应商。可以基于在客户端设备处发起请求的应用中安装的一组SDK将实时请求发送到特定数字组件供应商。
在步骤406,数字组件服务器将加密数据包括在对被授权解密由第二SDK生成的加密数据的特定数字组件供应商的特定实时请求中。加密数据可以包括在一个或多个实时请求中。加密数据可以针对每个被授权的数字组件供应商相同。在其他方面,加密数据可以对每个数字组件供应商独有,使得数据仅能够被相应的特定数字组件供应商解密。
图5是示出与数字组件供应商的示例通信的框图。如图5中的事件(A)所示,客户端设备510可以向数字组件服务器520提交对数字组件的请求515。请求515可以是对定制数字组件的请求。请求515可以由客户端设备510的特定应用发起并由在客户端设备510处安装的第一SDK生成。第一SDK可以是在客户端设备510处安装的多个SDK之一,并且应用可以是安装在客户端设备510处的多个应用之一。
在事件(B),数字组件服务器520接收请求515并且响应于接收到请求515而生成多个实时请求526。数字组件服务器520可以检查请求515的数据字段以确定请求515的内容以及关于客户端设备510的信息。数字组件服务器520可以被配置为通过检查请求515来识别应用数据521。应用数据521可以被数字组件服务器520使用以识别发起请求515的特定应用。应用数据521还可以被数字组件服务器520使用以在客户端设备510处识别一组已安装的SDK 522。
数字组件服务器520可以生成多个实时请求526来代替由客户端设备510生成的请求515。在这种情况下,数字组件服务器520可以被配置为代表客户端设备510生成多个实时请求526。
在某些方面,数字组件服务器520可以检查请求515以识别由在客户端设备510处安装的第二SDK生成的加密数据。加密数据可以与先前请求515、先前渲染的数字组件、用于渲染数字组件的SDK、生成请求515时收集的数据、生成实时请求526时收集的数据等对应。
数字组件服务器520可以被配置为生成一个或多个实时请求526以提供给数字组件供应商530。在一些方面,针对特定数字组件供应商530a-n指定实时请求526。在这种情况下,实时请求526可以包括授权由某些数字组件供应商530a-n解密的加密数据523a-n。由此,数字组件服务器520可以生成多个实时请求526,每个实时请求526包括与选择的数字组件供应商530a-n对应的加密数据523a-n。
数字组件服务器520可以包括接收和处理对数字组件的请求的一个或多个服务器。例如,数字组件服务器520可以包括接收对数字组件的请求的前端服务器和被配置为处理对数字组件的请求的另一服务器。在这种情况下,前端服务器和该另一服务器可以实现为通过网络进行通信的单独设备。如本领域普通技术人员将认识到的,前端服务器和该另一服务器可以集成为单个硬件设备,诸如单个数字组件服务器520。
在事件(C),数字组件供应商530接收实时请求526并提供对实时请求526的响应535。数字组件供应商530可以被配置为提供数字组件作为对实时请求526的响应535。例如,每个数字组件供应商530a-n可以接收实时请求526,并且向数字组件服务器520提供包括用于在客户端设备510处渲染的数字组件的响应535。
在一些方面,数字组件供应商530接收包括在实时请求526中的加密数据523a-n。加密数据523a-n可以由被授权的数字组件供应商解密。在这种情况下,数字组件供应商530可以使用解密数据532a-n来确定是否提供对实时请求526的响应535、与响应535相关联的投标价格、在响应535中返回哪些数字组件,等等。由此,被授权的数字组件供应商可以被配置为使用每个被授权的数字组件供应商解密的解密数据523a-n来生成对实时请求526的响应535,并将响应535提供给数字组件服务器520。
在事件(D),数字组件服务器520从数字组件供应商530接收响应535,并选择特定响应以传输到客户端设备510。数字组件服务器520可以选择特定响应用于由安装在客户端设备510处的SDK渲染。在一些方面,特定响应可以由数字组件服务器520基于与每个响应535相关联的投标来选择。在其他方面,可以基于初始请求515的指定数字组件特征来选择特定响应。
所选择的响应可以作为数字组件数据528从数字组件服务器520传输到客户端设备510。数字组件数据528可以作为对数字组件的初始请求515的答复来提供。在某些方面,数字组件数据528可以被传输到在客户端设备510处生成请求515的第一SDK。数字组件数据528可以包括指定需要安装在客户端设备510处的除了第一SDK之外的另一SDK渲染与数字组件数据528对应的数字组件的指令。
图6是可以用于执行上述操作的示例性计算***600的框图。***600包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610、620、630和640中的每一个可以例如使用***总线650互连。处理器610能够处理用于在***600内执行的指令。在一个实现方式中,处理器610是单线程处理器。在另一实现方式中,处理器610是多线程处理器。处理器610能够处理存储在存储器620中或存储设备630上的指令。
存储器620存储***600内的信息。在一个实现方式中,存储器620是计算机可读介质。在一个实现方式中,存储器620是易失性存储器单元。在另一实现方式中,存储器620是非易失性存储器单元。
存储设备630能够为***600提供大容量存储。在一个实现方式中,存储设备630是计算机可读介质。在各种不同的实现方式中,存储设备630可以包括例如硬盘设备、光盘设备、通过网络由多个计算设备(例如,云存储设备)共享的存储设备、或一些其他大容量存储设备。
输入/输出设备640为***600提供输入/输出操作。在一个实现方式中,输入/输出设备640可以包括网络接口设备中的一个或多个,例如以太网卡、串行通信设备,例如和RS-232端口,和/或无线接口设备,例如802.11卡。在另一实现方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备(例如,键盘、打印机和显示设备560)的驱动器设备。然而,也可以使用其他实现方式作为移动计算设备、移动通信设备、机顶盒电视客户端设备等。
虽然在图6中已经描述了示例处理***,本说明书中描述的主题和功能性操作的实现方式可以在其他类型的数字电子电路中,或在计算机软件、固件或硬件中,包括在本说明书中公开的结构及其结构上的等同物,或在它们中的一个或多个的组合中实现。
电子文档可以但不一定对应于文件。文档可以存储在保存其他文档的文件的一部分中、存储在专用于所关注文档的单个文件中、或者存储在多个协调文件中。
已经描述了许多实现方式。然而,将理解,在不脱离本公开的主旨和范围的情况下,可以进行各种修改。例如,可以使用如上所示的各种形式的流程,其中重新排序、添加或移除步骤。
本发明的实施例和本说明书中描述的所有功能性操作可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构上的等同物或它们中的一个或多个的组合。本发明的实施例可以被实现为一个或多个计算机程序产品,例如在计算机可读介质上编码的一个或多个计算机程序指令的模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物、或它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,通过示例的方式,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所关注的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***、或者它们中的一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码用于传输到合适的接收器装置的信息。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序不一定对应于文件***中的文件。程序可以存储在文件的保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所关注的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个站点处或者跨多个站点分布并由通信网络互连。
在本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列))或ASIC(专用集成电路)执行,并且装置也可以被实现为专用逻辑电路(例如,FPGA(现场可编程门阵列))或ASIC(专用集成电路)。
适用于执行计算机程序的处理器例如包括通用和专用微处理器两者以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或传输数据到用于存储数据的一个或多个大容量存储设备或两者,大容量存储设备例如磁、磁光盘或光盘。然而,计算机不必要具有这样的设备。此外,计算机可以嵌入另一设备,例如,仅举几例,平板计算机、移动电话、个人数字助理(PDA)、移动音频播放器、全球定位***(GPS)接收器。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指点设备,例如鼠标或轨迹球的计算机上实现,用户可以通过该键盘和指点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
本发明的实施例可以在包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机)的计算***中实现,用户可以通过该图形用户界面或Web浏览器与本发明的实现方式或一个或多个这样的后端、中间件或前端组件的任何组合进行交互。***的组件可以通过数字数据通信(例如通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在各自计算机上运行计算机程序和彼此之间具有客户端-服务器的关系而产生的。
虽然本说明书包含许多细节,但是这些细节不应被解释为对本发明的范围或可以要求保护的内容的限制,而是对本发明特定实施例特有的特征的描述。在单独实施例的环境中,在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的环境中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求如此保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被移除,并且所要求保护的组合可以指向子组合或子组合的变化。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应被理解为要求以所示的特定次序或按顺序次序执行此类操作,或者执行所有所示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或打包成多个软件产品。
在提及HTML文件的每个实例中,可替换为其他文件类型或格式。例如,HTML文件可以被XML、JSON、纯文本或其他类型的文件替代。此外,在提及表或哈希表的情况下,可以使用其他数据结构(诸如,电子表格、关系数据库或结构化文件)。
已经描述了本发明的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所记载的步骤可以以不同的次序执行,并且仍然实现期望的结果。

Claims (20)

1.一种处理数字组件的***,包括:
前端服务器,从客户端设备接收由在所述客户端设备处安装的第一SDK生成的对数字组件的第一请求;以及
定制数字组件服务器,通过执行操作来处理所述第一请求,所述操作包括:
从所述客户端设备接收由在所述客户端设备处安装的所述第一SDK生成的对所述数字组件的所述第一请求;
在请求的一个或多个数据字段内,识别(i)对应于在所述客户端设备处安装的一组其它SDK的数据和(ii)在由所述第一SDK生成的所述第一请求中包括的数据;
生成第二请求,所述第二请求包括从在发起请求的所述客户端设备处安装的所述一组其它SDK中指定一个或多个SDK的数据;
通过网络将所述第二请求传输到第三方数字组件供应商;
从所述第三方数字组件供应商接收对所述第二请求的响应;和
响应于由所述第一SDK生成的所述第一请求,传输从在所述客户端设备处安装的所述一组其它SDK之中指定需要哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令。
2.根据权利要求1所述的***,其中,所述操作还包括:
访问应用数据到安装的SDK的映射;以及
在所述映射内,识别在所述应用数据中指定的应用和发起请求的应用的版本,其中:
识别在所述客户端设备处安装的所述一组其它SDK包括识别映射到应用和发起请求的应用的版本的一组其它SDK。
3.根据权利要求2所述的***,其中,所述操作还包括生成应用数据到安装的SDK的映射,包括:
从存储在数据结构中的响应日志识别响应于由所述应用的版本发起的先前请求而先前提供给所述应用的版本的先前响应;
从所述先前响应识别在所述先前响应中指定的一组多个不同的SDK;以及
在数据结构中将所述一组多个不同的SDK中的每个SDK映射到所述应用的版本。
4.根据权利要求1所述的***,其中,向所述第一SDK传输指定需要在所述客户端设备处安装的哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令包括:传输指定应用编程接口(API)调用来渲染由对所述第二请求的响应指定的所述数字组件的指令。
5.根据权利要求1所述的***,其中,通过网络将所述第二请求传输到所述第三方数字组件供应商包括:将实时请求传输到所述第三方数字组件供应商而不解密对应于在所述客户端设备处安装的一组其它SDK的数据。
6.根据权利要求1所述的***,其中,所述操作还包括:由在所述客户端设备处的电子文档中的特定SDK提供由对所述第二请求的响应指定的定制数字组件用于呈现。
7.根据权利要求1所述的***,其中,从所述第三方数字组件供应商接收对所述第二请求的响应包括:接收指定除了所述第一SDK之外的特定SDK的对所述第二请求的响应,所述特定SDK是渲染由对所述第二请求的响应指定的特定数字组件所需要的。
8.一种存储指令的非暂时计算机可读介质,在执行所述指令时,使一个或多个数据处理装置执行操作,所述操作包括:
从客户端设备接收由在所述客户端设备处安装的第一SDK生成的对数字组件的第一请求;
在请求的一个或多个数据字段内,识别(i)对应于在所述客户端设备处安装的一组其它SDK的数据和(ii)在由所述第一SDK生成的所述第一请求中包括的数据;
生成第二请求,所述第二请求包括从在发起请求的所述客户端设备处安装的所述一组其它SDK中指定一个或多个SDK的数据;
通过网络将所述第二请求传输到第三方数字组件供应商;
从所述第三方数字组件供应商接收对所述第二请求的响应;和
响应于由所述第一SDK生成的所述第一请求,传输从在所述客户端设备处安装的所述一组其它SDK之中指定需要哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令。
9.根据权利要求8所述的非暂时计算机可读介质,其中,所述操作还包括:
访问应用数据到安装的SDK的映射;以及
在所述映射内,识别在所述应用数据中指定的应用和发起请求的应用的版本,其中:
识别在所述客户端设备处安装的所述一组其它SDK包括识别映射到应用和发起请求的应用的版本的一组其它SDK。
10.根据权利要求9所述的非暂时计算机可读介质,其中,所述操作还包括生成应用数据到安装的SDK的映射,包括:
从存储在数据结构中的响应日志识别响应于由所述应用的版本发起的先前请求而先前提供给所述应用的版本的先前响应;
从所述先前响应识别在所述先前响应中指定的一组多个不同的SDK;以及
在数据结构中将所述一组多个不同的SDK中的每个SDK映射到所述应用的版本。
11.根据权利要求8所述的非暂时计算机可读介质,其中,向所述第一SDK传输指定需要在所述客户端设备处安装的哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令包括:传输指定应用编程接口(API)调用来渲染由对所述第二请求的响应指定的所述数字组件的指令。
12.根据权利要求8所述的非暂时计算机可读介质,其中,通过网络将所述第二请求传输到所述第三方数字组件供应商包括:将实时请求传输到所述第三方数字组件供应商而不解密对应于在所述客户端设备处安装的一组其它SDK的数据。
13.根据权利要求8所述的非暂时计算机可读介质,其中,所述操作还包括:由在所述客户端设备处的电子文档中的特定SDK提供由对所述第二请求的响应指定的定制数字组件用于呈现。
14.根据权利要求8所述的非暂时计算机可读介质,其中,从所述第三方数字组件供应商接收对所述第二请求的响应包括:接收指定除了所述第一SDK之外的特定SDK的对所述第二请求的响应,所述特定SDK是渲染由对所述第二请求的响应指定的特定数字组件所需要的。
15.一种处理数字组件的方法,包括:
从客户端设备接收由在所述客户端设备处安装的第一SDK生成的对数字组件的第一请求;
在请求的一个或多个数据字段内,识别(i)对应于在所述客户端设备处安装的一组其它SDK的数据和(ii)在由所述第一SDK生成的所述第一请求中包括的数据;
生成第二请求,所述第二请求包括从在发起请求的所述客户端设备处安装的所述一组其它SDK中指定一个或多个SDK的数据;
通过网络将所述第二请求传输到第三方数字组件供应商;
从所述第三方数字组件供应商接收对所述第二请求的响应;和
响应于由所述第一SDK生成的所述第一请求,传输从在所述客户端设备处安装的所述一组其它SDK之中指定需要哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令。
16.根据权利要求15所述的方法,还包括:
访问应用数据到安装的SDK的映射;以及
在所述映射内,识别在所述应用数据中指定的应用和发起请求的应用的版本,其中:
识别在所述客户端设备处安装的所述一组其它SDK包括识别映射到应用和发起请求的应用的版本的一组其它SDK。
17.根据权利要求16所述的方法,还包括生成应用数据到安装的SDK的映射,包括:
从存储在数据结构中的响应日志识别响应于由所述应用的版本发起的先前请求而先前提供给所述应用的版本的先前响应;
从所述先前响应识别在所述先前响应中指定的一组多个不同的SDK;以及
在数据结构中将所述一组多个不同的SDK中的每个SDK映射到所述应用的版本。
18.根据权利要求15所述的方法,其中,向所述第一SDK传输指定需要在所述客户端设备处安装的哪个SDK来渲染由对所述第二请求的响应指定的数字组件的指令包括:传输指定应用编程接口(API)调用来渲染由对所述第二请求的响应指定的所述数字组件的指令。
19.根据权利要求15所述的方法,其中,通过网络将所述第二请求传输到所述第三方数字组件供应商包括:将实时请求传输到所述第三方数字组件供应商而不解密对应于在所述客户端设备处安装的一组其它SDK的数据。
20.根据权利要求15所述的方法,还包括:由在所述客户端设备处的电子文档中的特定SDK提供由对所述第二请求的响应指定的定制数字组件用于呈现。
CN202111202234.0A 2017-02-02 2017-02-02 用于处理数字组件的方法及*** Active CN114020378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111202234.0A CN114020378B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111202234.0A CN114020378B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***
CN201780001377.0A CN108684205B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***
PCT/US2017/016220 WO2018143990A1 (en) 2017-02-02 2017-02-02 Custom digital components

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780001377.0A Division CN108684205B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***

Publications (2)

Publication Number Publication Date
CN114020378A CN114020378A (zh) 2022-02-08
CN114020378B true CN114020378B (zh) 2023-12-12

Family

ID=58054525

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111202234.0A Active CN114020378B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***
CN201780001377.0A Active CN108684205B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780001377.0A Active CN108684205B (zh) 2017-02-02 2017-02-02 用于处理数字组件的方法及***

Country Status (7)

Country Link
US (4) US10455058B2 (zh)
JP (1) JP6766270B2 (zh)
KR (2) KR102393818B1 (zh)
CN (2) CN114020378B (zh)
DE (1) DE202017106604U1 (zh)
GB (1) GB2564165B (zh)
WO (1) WO2018143990A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102393818B1 (ko) 2017-02-02 2022-05-03 구글 엘엘씨 커스텀 디지털 컴포넌트
WO2019125434A1 (en) 2017-12-20 2019-06-27 James Giles Joint transmission commitment simulation
US11538091B2 (en) * 2018-12-28 2022-12-27 Cloudblue Llc Method of digital product onboarding and distribution using the cloud service brokerage infrastructure
US10917494B2 (en) 2019-02-01 2021-02-09 Google Llc Dynamic application content analysis
JP7013569B2 (ja) 2019-04-26 2022-01-31 グーグル エルエルシー コンテンツ要求に応答する際のコンピューティングリソースの効率的な使用
US11550598B2 (en) * 2019-12-13 2023-01-10 Google Llc Systems and methods for adding digital content during an application opening operation
CN111372132B (zh) * 2020-02-25 2022-03-08 广州华多网络科技有限公司 进行音视频传输的方法、装置、设备及存储介质
US11698822B2 (en) * 2020-06-10 2023-07-11 Snap Inc. Software development kit for image processing
CN111949421B (zh) * 2020-08-12 2023-09-05 北京奇艺世纪科技有限公司 Sdk调用方法、装置、电子设备和计算机可读存储介质
CN112463862B (zh) * 2020-11-05 2024-05-17 深圳市和讯华谷信息技术有限公司 一种基于配置权限的数据采集方法及装置
RU2760625C1 (ru) * 2021-03-12 2021-11-29 Акционерное общество "Лаборатория Касперского" Способ настройки IoT-устройств в зависимости от типа сети
CN115756670A (zh) * 2021-09-01 2023-03-07 北京字跳网络技术有限公司 组件处理方法、装置、电子设备、存储介质和产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081775A (zh) * 2009-11-27 2011-06-01 阿里巴巴集团控股有限公司 一种广告投放方法、***和设备
CN103443781A (zh) * 2010-11-03 2013-12-11 谷歌公司 数据递送
WO2014145905A2 (en) * 2013-03-15 2014-09-18 Brightroll, Inc. Compact data interface for real time bidding in digital video advertisement systems
CN104067274A (zh) * 2012-01-19 2014-09-24 谷歌公司 用于改进对搜索结果的访问的***和方法
WO2015147656A2 (en) * 2014-03-26 2015-10-01 Auckland Uniservices Limited Automatic process and system for software development kit for application programming interface
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
CN105723421A (zh) * 2013-11-15 2016-06-29 谷歌公司 经由应用编程接口使地图内容个性化

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404515B1 (en) * 2000-05-25 2008-07-29 Diebold Self-Service Systems Divison Of Diebold, Incorporated Cash dispensing automated banking machine diagnostic system and method
WO2003009102A2 (en) * 2001-07-19 2003-01-30 Wind River Systems, Inc. Browser having dynamically self-adjusting rendering functionality
JP2003271487A (ja) 2002-03-12 2003-09-26 Nec Corp 通信システム、ゲートウエイ装置、ゲートウエイプログラム
JP2004040209A (ja) 2002-06-28 2004-02-05 Toppan Printing Co Ltd サーバ、icカード、コンテンツの配信方法、コンテンツの取得処理方法およびプログラム
US20070220083A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Estimation of initial dynamic rendering control data
EP2471005A4 (en) * 2009-08-28 2013-04-03 Zynga Inc APPARATUSES, METHODS, AND SYSTEMS FOR A DISTRIBUTED OBJECT RENDERING DEVICE
US8868637B2 (en) * 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
KR101359690B1 (ko) * 2009-12-18 2014-02-10 한국전자통신연구원 온라인 개발환경 서버, 온라인 마켓플레이스 서버, 온라인 개발환경 구성 방법 및 개발된 애플리케이션 서비스 방법
US8682140B2 (en) 2010-03-26 2014-03-25 Panasonic Corporation Playback device, content distribution system, playback method, computer program and integrated circuit
US20110289084A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Interface for relating clusters of data objects
US8843616B2 (en) * 2010-09-10 2014-09-23 Intel Corporation Personal cloud computing with session migration
JP2012064144A (ja) 2010-09-17 2012-03-29 Sharp Corp 中継サーバ、及び広告配信システム
CN102479367B (zh) * 2010-11-30 2016-05-04 百度(中国)有限公司 一种用于确定网络推广资源的保留价格的方法和设备
US20120278185A1 (en) * 2011-05-01 2012-11-01 Vinod Kumar Ramachandran Method to adapt ads rendered in a mobile device based on existence of other mobile applications
CN102222005B (zh) * 2011-07-12 2013-10-30 铜陵玉成软件科技有限责任公司 面向业务模型的软件运行平台、运行方式及一种开发方法
CN102647455B (zh) * 2012-03-23 2015-08-05 华为技术有限公司 移动广告的处理方法、代理服务器及终端
US8887178B1 (en) 2012-10-23 2014-11-11 Google Inc. Method to customize native operating system views using web technologies in mobile devices
WO2014065811A1 (en) * 2012-10-26 2014-05-01 Empire Technology Development Llc Securitization of developer credentials
US8862534B1 (en) * 2012-12-07 2014-10-14 Robust Links, LLC Software service infrastructure indexing user demographics, interests and expertise
DK3011442T3 (da) * 2013-06-18 2021-01-04 Ciambella Ltd Fremgangsmåde og anordning til generering af et brugerdefineret softwareudviklingskit (sdk)
US20150011311A1 (en) * 2013-07-03 2015-01-08 Iswifter, Inc. System and method for experiencing advertised interactive applications
US10643253B2 (en) * 2013-10-24 2020-05-05 Oath Inc. Multi-protocol interactive mobile video advertising
US11521229B2 (en) * 2014-01-09 2022-12-06 Xandr Inc. Systems and methods for mobile advertisement review
US20150213516A1 (en) * 2014-01-25 2015-07-30 Leo Jeremias Computer system for displaying video ads on web pages
US9336538B2 (en) * 2014-04-03 2016-05-10 Vungle, Inc. Systems and methods for providing advertising services to devices with an advertising exchange
US20150310494A1 (en) * 2014-04-23 2015-10-29 Mobile Majority Technology and process for digital, mobile advertising at scale
US20150310495A1 (en) * 2014-04-23 2015-10-29 Mobile Majority Technology and process for digital, mobile advertising at scale
US20150332333A1 (en) * 2014-05-14 2015-11-19 Arfan Chaudhry System and Method for Providing Advertising Slots Before Hyperlink Destination
WO2016049170A1 (en) * 2014-09-23 2016-03-31 Adelphic, Inc. Providing data and analysis for advertising on networked devices
WO2016067103A2 (en) * 2014-10-27 2016-05-06 Yintao Yu Cross device identity matching for online advertising
US10423985B1 (en) * 2015-02-09 2019-09-24 Twitter, Inc. Method and system for identifying users across mobile and desktop devices
US9818134B2 (en) * 2015-04-02 2017-11-14 Vungle, Inc. Systems and methods for dynamic ad selection of multiple ads or ad campaigns on devices
US9743137B2 (en) 2015-04-02 2017-08-22 Yume, Inc. Run-time SDK integration for connected video players
US10146512B1 (en) * 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
US10672026B2 (en) * 2016-01-31 2020-06-02 Assaf Toval System and a method for surveying advertisements in mobile applications
EP3241343B1 (en) * 2016-03-17 2018-11-28 Google LLC Multi-provider data provision with request batching
WO2017205802A1 (en) * 2016-05-27 2017-11-30 App Annie Inc. Advertisement data metric determination within mobile applications
CN106095423B (zh) * 2016-06-02 2020-12-01 腾讯科技(深圳)有限公司 提供浏览服务的方法、终端及服务器
CN106296283B (zh) * 2016-08-08 2020-04-14 时趣互动(北京)科技有限公司 一种基于移动应用的广告播放方法及***
US20180130098A1 (en) * 2016-11-04 2018-05-10 Aki Technologies, Inc. Networked system for processing sensor data and external data for an ad server
KR102393818B1 (ko) * 2017-02-02 2022-05-03 구글 엘엘씨 커스텀 디지털 컴포넌트

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081775A (zh) * 2009-11-27 2011-06-01 阿里巴巴集团控股有限公司 一种广告投放方法、***和设备
CN103443781A (zh) * 2010-11-03 2013-12-11 谷歌公司 数据递送
CN104067274A (zh) * 2012-01-19 2014-09-24 谷歌公司 用于改进对搜索结果的访问的***和方法
WO2014145905A2 (en) * 2013-03-15 2014-09-18 Brightroll, Inc. Compact data interface for real time bidding in digital video advertisement systems
CN105723421A (zh) * 2013-11-15 2016-06-29 谷歌公司 经由应用编程接口使地图内容个性化
WO2015147656A2 (en) * 2014-03-26 2015-10-01 Auckland Uniservices Limited Automatic process and system for software development kit for application programming interface
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
In-Depth Survey of Digital Advertising Technologies;Gong Chen 等;IEEE Communications Surveys & Tutorials;第18卷(第3期);2124-2148 *
Real Time Bidding in Online Digital Advertisement;Shalinda Adikari 等;New Horizons in Design Science:Broadening the Research Agenda;19-38 *
应用于智能移动平台的开发框架;郁伟;中国优秀硕士学位论文全文数据库信息科技辑(第07期);I138-599 *

Also Published As

Publication number Publication date
US20200007657A1 (en) 2020-01-02
GB201717717D0 (en) 2017-12-13
KR102270749B1 (ko) 2021-06-29
KR20190094235A (ko) 2019-08-12
US20180278719A1 (en) 2018-09-27
KR102393818B1 (ko) 2022-05-03
GB2564165B (en) 2021-11-24
CN114020378A (zh) 2022-02-08
CN108684205B (zh) 2021-10-15
GB2564165A (en) 2019-01-09
US20220303353A1 (en) 2022-09-22
US11375044B2 (en) 2022-06-28
US10862999B2 (en) 2020-12-08
DE202017106604U1 (de) 2018-05-15
CN108684205A (zh) 2018-10-19
US10455058B2 (en) 2019-10-22
US20210051214A1 (en) 2021-02-18
KR20210080600A (ko) 2021-06-30
JP2020508505A (ja) 2020-03-19
US11743348B2 (en) 2023-08-29
JP6766270B2 (ja) 2020-10-07
WO2018143990A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
CN114020378B (zh) 用于处理数字组件的方法及***
US10547458B2 (en) Managing and negotiating certificates
US7870224B1 (en) Managing online composite image content
US11586772B2 (en) Method and device for displaying information
US10068283B2 (en) Localization of merchant data
US9160800B1 (en) Integrating web services with a content item
CN103577458A (zh) 一种根据终端类型显示网页的控制方法及相应控制装置
CN108140177B (zh) 优化的数字分量
US20070283281A1 (en) Portlet Communication Arrangements, Portlet Containers, Methods of Communicating Between Portlets, and Methods of Managing Portlet Communication Arrangements Within a Portal
US20060224700A1 (en) Multipart response generation
US10671738B2 (en) Controlled publication of sensitive content
US20160292218A1 (en) Extensible data query scenario definition and consumption
US20200118193A1 (en) Digital content publisher negotiated transactional advertiser
US20230022018A1 (en) Integrating secure watermarks into content
JP7072619B2 (ja) カスタムデジタルコンポーネント
CN109889402B (zh) 用于生成信息的方法和装置
GB2597384A (en) Custom digital components
CN111125501A (zh) 用于处理信息的方法和装置
US12038829B1 (en) Testing for dynamically generated content
CN111291284A (zh) 一种多级页面的重定向方法和装置
CN112308641A (zh) 一种物品展示的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant