CN108738362A - 基于多层级引用符数据生成应用的深度链接 - Google Patents

基于多层级引用符数据生成应用的深度链接 Download PDF

Info

Publication number
CN108738362A
CN108738362A CN201780002011.5A CN201780002011A CN108738362A CN 108738362 A CN108738362 A CN 108738362A CN 201780002011 A CN201780002011 A CN 201780002011A CN 108738362 A CN108738362 A CN 108738362A
Authority
CN
China
Prior art keywords
application
content
reference data
resource
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780002011.5A
Other languages
English (en)
Other versions
CN108738362B (zh
Inventor
贾斯汀·刘易斯
斯科特·戴维斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN202210276676.8A priority Critical patent/CN114722316A/zh
Publication of CN108738362A publication Critical patent/CN108738362A/zh
Application granted granted Critical
Publication of CN108738362B publication Critical patent/CN108738362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供了将引用符数据提供给应用的系统和方法。一种方法包括接收指示从第一资源导航到第二资源的命令的第一组数据分组。第一组数据分组标识第一资源和与第一资源或第一资源上的第一内容项目相关联的二级引用符数据。该方法包括渲染第二资源和在第二资源内提供的第二内容项目。该方法包括接收对第二内容项目的选择。该方法包括生成包括与第二资源或第二内容项目相关联的二级引用符数据和主引用符数据的第二组数据分组。该方法包括将第二组数据分组传送到服务器,接收由服务器生成的深度链接,以及使用深度链接渲染内容界面。

Description

基于多层级引用符数据生成应用的深度链接
背景技术
在诸如互联网的联网环境中,第一方内容提供者可以向用户设备提供信息用于呈现在诸如网页、移动应用、文档、其他应用和/或其它资源的资源上。附加的第三方内容也可以由第三方内容提供者提供用于连同来自第一方内容提供者的信息一起呈现在用户设备上。发布者可以在他或她的资源上提供第一方内容和第三方内容。
在一些实施方式中,资源上的内容的选择可以使得应用在用户设备上打开。例如,内容的选择可以使得包括与所选内容有关的附加内容的应用打开。一个挑战是在应用内提供与用户场境上相关(contextually relevant)的内容。
发明内容
本公开的一个说明性实施方式涉及一种方法。该方法包括在计算设备处接收对第一资源上的第一内容项目的选择。该方法还包括在计算设备处生成一组一个或多个数据分组。数据分组包括与第一内容项目和第一资源中的至少一个相关联的主引用符(referrer)数据以及与在第一应用或第二应用上先前由用户先前查看的第二资源和在第二资源上显示的第二内容项目中的至少一个相关联的二级引用符数据。该方法还包括在计算设备处将该一组数据分组传送到服务器。该方法还包括从计算设备的服务器接收由服务器使用主引用符数据和二级引用符数据两者生成的深度链接。该方法还包括在计算设备处在由深度链接指示的应用内渲染具有根据深度链接生成的内容的内容界面。
在计算设备处生成的一组一个或多个数据分组可以是第二组一个或多个数据分组。该方法可以包括经由计算设备的第一应用接收指示从第二资源导航到第一资源的命令的第一组一个或多个数据分组。第一组数据分组可以标识第一资源和与第二资源或在第二资源上选择的第二内容项目中的至少一个相关联的二级引用符数据以生成第一组数据分组。该方法还可以包括在计算设备的第一应用内渲染第一资源和在第一资源内提供的第一内容项目。可以从第一组一个或多个数据分组提取第二组一个或多个数据分组的二级引用符数据。第一和第二应用可以是相同的应用,或者可以是不同的应用。
在一些实施方式中,深度链接包括部分包括引用符字段的统一资源定位符(URL)或统一资源标识符(URI),引用符字段包括与主引用符数据和二级引用符数据有关的参数。参数可以是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
在一些实施方式中,在由深度链接指示的应用上渲染内容界面包括从服务器下载由深度链接指示的应用。深度链接可以包括引用符标签,该引用符标签包括表示主引用符数据和二级引用符数据的参数。
在一些实施方式中,二级参考数据包括由用户录入的一个或多个搜索词项。二级引用符数据可以包括用于选择在第二资源上呈现的第二内容项目的一个或多个参数。
该方法还可以包括在服务器处:接收第二组数据分组;分析第二组数据分组以识别一个或一个以上参数;确定深度链接指示的应用是否安装在计算设备上;以及响应于确定深度链接指示的应用未安装在计算设备上而提供深度链接指示的应用;以及基于一个或多个参数来确定要在由深度链接指示的应用中显示的内容。
另一个实施方式涉及一种包括可操作地耦合到至少一个存储器的至少一个计算设备的系统。该至少一个计算设备被配置为执行上面阐述的说明性方法。在另一个实施方式中,至少一个计算设备被配置为经由第一应用接收指示从第一资源导航到第二资源的命令的第一组一个或多个数据分组。第一组数据分组标识与用以生成第一组数据分组的所述第一资源或在第一资源上选择的第一内容项目中的至少一个相关联的第二资源和二级引用符数据。至少一个计算设备还被配置为在第一应用内渲染第二资源和在第二资源内提供的第二内容项目。至少一个计算设备还被配置为经由第一应用接收对第二内容项目的选择。至少一个计算设备还被配置为响应于对第二内容项目的选择而生成第二组一个或多个数据分组,该第二组一个或多个数据分组包括从第一组数据分组中提取的二级引用符数据以及与第二资源或第二内容项目中的至少一个相关联的主引用符数据。至少一个计算设备还被配置为将第二组数据分组传输到服务器。至少一个计算设备还被配置为从服务器接收由服务器使用主引用符数据和二级引用符数据二者生成的深度链接。至少一个计算设备还被配置为在由深度链接指示的第二应用内渲染具有根据深度链接生成的内容的内容界面。
在一些实施方式中,深度链接包括部分包括引用符字段的统一资源定位符(URL)或统一资源标识符(URI),引用符字段包括与主引用符数据和二级引用符数据有关的参数。参数可以是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
在一些实施方式中,在第二应用上渲染内容界面包括从服务器下载第二应用。深度链接可以包括包含表示主引用符数据和二级引用符数据的参数的引用符标签。
在一些实施方式中,二级引用符数据包括由用户录入的一个或多个搜索词项。在一些实施方式中,二级引用符数据包括用于选择在第一资源上呈现的第一内容项目的一个或多个参数。
在一些实施方式中,服务器被配置为:接收第二组数据分组,解析第二组数据分组以识别一个或多个参数,确定第二应用是否安装在计算设备上,并且响应于确定第二应用未安装在计算设备上而提供第二应用,并且基于一个或多个参数来确定要在第二应用中显示的内容。
在一些实施方式中,从第三应用的资源接收第一组数据分组。
另一个实施方式涉及一种方法。该方法包括经由计算设备的第一应用接收指示从第一资源导航到第二资源的命令的第一组一个或多个数据分组。第一组数据分组识别与用以生成第一组数据分组的、第一资源或在第一资源上选择的第一内容项目中的至少一个相关联的第二资源和二级引用符数据。该方法还包括在计算设备的第一应用内渲染第二资源和在第二资源内提供的第二内容项目。该方法还包括经由计算设备的第一应用接收对第二内容项目的选择。该方法还包括响应于对第二内容项目的选择,在计算设备处生成第二组一个或多个数据分组,该第二组一个或多个数据分组包括从第一组数据分组提取的二级引用符数据和与第二资源或第二内容项目中的至少一个相关联的主引用符数据。该方法还包括在计算设备处将第二组数据分组传送到服务器。该方法还包括在计算设备处从服务器接收由服务器使用主引用符数据和二级引用符数据两者生成的深度链接。该方法还包括在由深度链接指示的计算设备上的第二应用内渲染具有根据深度链接生成的内容的内容界面。
在一些实施方式中,深度链接包括部分包括引用符字段统一资源定位符(URL)或统一资源标识符(URI),引用符字段包括与主引用符数据和二级引用符数据有关的参数。参数可以是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
在一些实施方式中,在第二应用上渲染内容界面包括从服务器下载第二应用。深度链接包括引用符标签,引用符标签包括表示主引用符数据和二级引用符数据的参数。
在一些实施方式中,二级引用符数据包括由用户录入的一个或多个搜索词项。在一些实施方式中,二级引用符数据包括用于选择在第一资源上呈现的第一内容项目的一个或多个参数。
在一些实施方式中,该方法还包括在服务器处:接收第二组数据分组,解析第二组数据分组以识别一个或多个参数,确定第二应用是否安装在计算设备上,并且响应于确定第二应用未安装在计算设备上而提供第二应用,以及基于一个或多个参数来确定要在第二应用中显示的内容。
在一些实施方式中,从第三应用的资源接收第一组数据分组。
另一个实施方式涉及一种方法。该方法包括在服务器处从计算设备接收一组数据分组。该组数据分组包括与第一资源或在第一资源内提供的第一内容项目中的至少一个相关联的二级引用符数据以及与第二资源或在第二资源内提供的第二内容项目中的至少一个相关联的主引用符数据,在选择第一资源中的第一内容项目之后,计算设备已经从第一资源导航到第二资源。响应于在计算设备上的第二资源中的第二内容项目的选择,在服务器处接收一组数据分组。该方法还包括解析一组数据分组以识别一个或多个参数。该方法还包括基于一个或多个参数来确定要在计算设备上的应用中显示的内容。该方法还包括基于要在应用中显示的内容来生成深度链接。该方法还包括将该深度链接传送到计算设备上的应用。
在一些实施方式中,该方法还包括确定计算设备上是否安装了要在计算设备上打开的应用。响应于确定在用户设备上未安装应用,服务器被配置为提供应用以供计算设备下载或者使得应用商店提供应用以供计算设备下载。
在一些实施方式中,深度链接包括部分包括引用符字段的统一资源定位符(URL)和统一资源标识符(URI)中的一个,引用符字段包括与主引用符数据和二级引用符数据有关的参数。参数可以是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。深度链接可以包括引用符标签,引用符标签包括表示主引用符数据和二级引用符数据的参数。
附图说明
在本说明书中描述的主题的一个或多个实施方式的细节在附图和下面的描述中阐述。主题的其它特征、方面和优点将根据说明书、附图和权利要求书而变得显而易见。
图1是根据说明性实施方式的应用服务器和相关联的环境的框图。
图2是示出根据说明性实施方式的,在用户设备上的多个资源和应用之间传送二级引用符数据和主引用符数据的过程的详细框图。
图3是示出根据说明性实施方式的,用户设备向应用服务器提供二级引用符数据和主引用符数据的过程的详细框图。
图4是根据说明性实施方式的,用于向应用提供二级引用符数据和主引用符数据的过程的流程图。
图5是根据说明性实施方式的,用于向安装在用户设备上的应用提供二级引用符数据和主引用符数据的过程的流程图。
图6是根据说明性实施方式的,用于在用户设备上安装应用并向应用提供二级引用符数据和主引用符数据的过程的流程图。
图7是根据说明性实施方式的计算系统的框图。
具体实施方式
下面是对用于使用计算机网络提供信息的方法、装置和系统相关的各个概念和其实施方式的各个概念的更详细的描述。上面介绍的以及下面更详细讨论的各个概念可以以许多方式中的任何方式来实现,因为所描述的概念不限于任何特定的实施方式。提供具体实施方式和应用的示例主用于说明性目的。
一般地参考附图,描述了各个说明性系统和方法用于当用户从内容项目被引导到应用时在应用服务器处使用引用符数据来生成该应用的深度链接。更具体地,描述了用于向应用服务器提供二级或三级引用符数据作为引用符数据的一部分的系统和方法。
当用户选择在应用或另一个资源(例如,网页)内提供的内容项目时,该选择可以使得与该内容项目相关联的应用在用户的用户设备上打开。当应用在用户设备上打开时该应用可以接收信息,从而允许该应用向该用户呈现相关内容。该信息可以通过从应用服务器接收的使得应用内的特定界面被打开(例如,包括与用户活动有关的特定相关内容的定制界面)的深度链接来提供。深度链接表示主引用符数据(例如,关于显示刚刚选择的内容项目的网页以及内容项目本身的信息)。这允许应用提供与用户正在查看的内容有关的内容(在一些实施方式中,无需应用本身接收主引用符数据)。但是,基于应用服务器用于创建深层链接的有限信息量,此方法可能会受到限制。主引用符数据可能不会捕获将用户引导到原始应用或应用内的资源(例如,用户链接到应用的浏览器页面)的内容。例如,假定用户在搜索引擎内执行了搜索(例如,“乡村音乐”)并且点击第一网页上的导向第二网页的结果,然后在第二网页内选择了将使得特定乡村音乐视频在媒体播放器应用内打开的内容项目。应用服务器在生成会使得视频在应用中与附加内容一起打开的深层链接时,将不会了解该搜索,因为没有机制为应用服务器提供除了仅主引用数据(关于第二网页的数据)之外的更多的引用符数据。因此,当使用视频启动应用时,由于深度链接不是使用关于该搜索的信息(或导致选择内容项目的其他附加场境)创建的,因此呈现的其他内容可能与用户较不相关。在一些实施方式中,不同于向生成应用的深度链接的应用服务器提供或除了向该应用服务器提供之外,可以将主引用符数据提供给用户设备上的客户端侧应用,并且客户端应用可以基于该数据来生成/定制应用内的界面元素。
本公开大体涉及提供用于向应用或应用服务器提供多层级引用符数据的机制,从而允许应用/应用服务器在应用内产生场境上更相关的用户体验(例如,允许应用服务器提供深度链接,其提供场境上更相关的用户体验)。这允许应用提供与用户更相关的内容,并且更多地表示用户在打开应用之前采取的多个步骤。在一些实施方式中,可以在选择内容项目时向应用服务器提供附加层级的引用符数据(例如,二级引用符数据)。
应用服务器通常可以在选择使用设备上的内容项目时从用户设备接收包括主引用符数据和二级引用符数据的引用符数据。在各个实施方式中,基于在用户设备上是否已经安装了要在用户设备上启动的应用,可以存在提供指向用户设备上的应用的深度链接的不同方法。在任何一种情况下,都可以使用深度链接技术来将二级引用符数据中继到要启动的应用。深度链接技术允许目的地应用(或其他资源,诸如网页)接收关于引用资源的信息,从而加速由应用提供内容。通过这种方式,深度链接允许通过减少执行附加的搜索的需要或在目的地应用内跟循进一步的链接来更高效地导航到由目的地应用提供的特定资源。因此,深度链接可以提高触达与用户相关的内容的效率,并且减少用以触达期望的内容的用户设备上的计算资源,因为内容在单个步骤中被呈现,而不是经由用户在应用内的一系列交互。此外,由于减少了响应于多个用户交互来检索期望内容而在用户设备和服务器之间传送的内容请求和响应的数目,所以深度链接可以帮助减少网络利用并增加可用带宽。
在一些实施方式中,对于提供指向应用的深度链接的应用服务器,应用可能已经被安装在用户设备上。深度链接的端点可以由应用服务器构建。在一些这样的实施方式中,例如,使用CGI参数或具有用于参数的键-值对映射的意图,该端点由具有自定义方案的URL来表示。该参数可以表示二级引用符数据和主引用符数据二者。应用使用该端点来加载该应用内与用户相关的内容。
在一些实施方式中,对于向应用提供深度链接的应用服务器,该应用可以不安装在用户设备上。在这样的实施方式中,应用服务器使用引用符标签来提供与二级引用符数据有关的信息。可以通过应用商店(例如,可以由用户设备下载应用的位置)将引用符标签提供给应用。引用符标签通常可以用于识别什么活动导致安装应用(例如,引用符标签通常可以包括从识别诸如下载按钮的选择的活动的用户设备接收到的主引用符数据)。然而,如在本公开中所描述的,可以在引用符标签内表示附加数据,诸如二级引用符数据(以及如果适用的话,另外的主引用符数据)。应用服务器可以修改引用符标签以包括二级引用符数据的表示。在用户设备上安装应用之后,应用服务器或应用商店可以传递修改后的引用标记,并且应用可以在加载应用内的内容时将该标签视为导航端点。另外地或者替选地,应用服务器或者引用应用可以使得应用被安装在设备上,并且应用服务器可以随后基于接收到的主引用符数据和二级引用符数据来生成深度链接,并且将该深度链接传送到应用。
在任何一种情况下,在应用从应用服务器接收到导航端点之后,该端点被用于利用内容来填充应用。应用将来自端点的变量传递给内容服务器。内容服务器可以使用该端点来一般地识别用户如何触达原始应用。例如,内容服务器通常可以使用端点来识别用户是否经由非常特定的或狭窄的话题搜索触达原始应用。然后,内容服务器可以用适当的内容(例如,与用户搜索的非常特定的话题有关的内容,或者涉及非常广泛的话题搜索的更一般的内容)进行响应。这可能会导致在资源上选择相同的内容项目的不同用户的若干不同的体验。如果用户最初搜索特定音乐视频,则服务器可以提供与特定音乐视频或音乐视频的艺术家有关的内容。如果用户进行了通用音乐视频搜索,则服务器可以提供来自相同流派的不同艺术家的不同音乐视频。
对于本文讨论的系统收集和/或利用关于用户的个人信息或者可以使用个人信息的情形,可以向用户提供机会来控制节目或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好、用户的当前位置等),或者控制是否和/或如何从内容管理系统接收可能与用户更相关的内容。另外,某些数据在被存储或使用之前可以以一种或多种方式匿名化,使得当生成参数(例如,人口统计参数)时移除个人可识别信息。例如,用户的身份可以是匿名的,使得无法确定用户的个人可识别信息,或者在获得位置信息的情况下可以将用户的地理位置泛化(诸如至城市、邮政编码或州级),使得用户的特定位置无法被确定。因此,用户可以控制关于他或她的信息如何被收集并由内容服务器使用。此外,个人用户信息本身并不呈现给内容提供者,所以内容提供者无法辨别与特定用户相关联的交互。
现在参考图1,并且总的来说,根据说明性实施方式示出了应用服务器150和相关联的环境100的框图。用户可以使用一个或多个用户设备104来执行各个动作和/或访问各个类型的内容,其中一些可以通过网络102(例如,互联网、LAN、WAN等)提供。例如,用户设备104可以用于访问网页(例如,使用互联网浏览器)、媒体文件和/或任何其他类型的内容。内容管理系统108可以被配置为选择用于在资源(例如,网页、应用等)内向用户显示的内容,并且通过网络102将内容项目112从内容数据库110提供给用户设备104以用于在资源内显示。内容管理系统108从中选择的内容项目可以由一个或多个内容提供者经由网络102使用一个或多个内容提供者设备106来提供。在一些实施方式中,内容管理系统108可以从来自多个内容提供者的多个内容项目当中选择来自的一个或多个内容提供者的一个或多个内容项目。在这样的实施方式中,内容管理系统108可以至少部分地基于内容项目或内容提供者的度量或其它特性来确定要在用户设备104上所示的资源(例如,网页、应用等)的一个或多个内容界面中发布的内容。
应用服务器150可以被配置为从用户设备104接收引用符数据。引用符数据通常可以包括与用户的活动有关的信息,诸如由用户执行的搜索,用户正在查看的网页的话题或主题等等。引用符数据可以包括主引用符数据(例如,来自用户正在查看的当前资源的数据)和二级引用符数据(例如,与用户在查看当前资源之前先前查看的一个或多个资源有关的数据)。应用服务器150基于引用符数据生成深度链接。深度链接通常是链接到应用内的特定位置(例如,媒体应用所派发的内容和/或内容界面的特定片段,浏览器应用内的特定网页等)的链接。例如,可以使用深度链接基于该深度链接来识别要在应用中呈现的内容。在一些实施方式中,所识别的内容可以是由提供内容的内容资源可搜索或索引的。然后应用检索、格式化并显示来自内容资源的内容。
作为应用服务器150活动的一个示例,引用符数据可以涉及在网页上查看乡村音乐视频的用户活动。引用符数据可以标识歌曲或艺术家,并且还可以标识导致用户查看乡村音乐视频的用户的活动(例如,搜索特定艺术家或音乐视频)。应用服务器150可以接收引用符数据并且生成引用特定音乐视频、歌曲或艺术家的深度链接。深度链接可以进一步参考用户在触达乡村音乐视频中执行的搜索或其他活动。可以通过用户设备104上的应用从应用服务器150接收深度链接,并且应用可以使用深度链接来访问最终与原始用户活动相关的内容。然后内容被格式化并显示在用户设备104上的应用上。内容可以经由网络102从任何资源提供。
更详细地参考图1,用户设备104和/或内容提供者设备106可以是任何类型的计算设备(例如,具有处理器和存储器或其他类型的计算机可读存储介质),诸如电视机和/或机顶盒、移动通信设备(例如,蜂窝电话、智能电话等)、计算机和/或媒体设备(台式计算机、膝上型或笔记本计算机、上网本计算机、平板设备、游戏系统等)或任何其他类型的计算设备。在一些实施方式中,一个或多个用户设备104可以是用于与电视机一起使用的机顶盒或其他设备。在一些实施方式中,内容可以经由基于web的应用和/或驻留在用户设备104上的应用来提供。在一些实施方式中,用户设备104和/或内容提供者设备106可以被设计为使用各个类型的软件和/或操作系统。在各个说明性实施方式中,用户设备104和/或内容提供者设备106可以配备有一个或多个用户输入设备(例如,键盘、鼠标、遥控器、触摸屏等)和/或一个或多个显示设备(例如,电视机、显示器、CRT、等离子、LCD、LED、触摸屏等)和/或与一个或多个用户输入设备(例如,键盘、鼠标、遥控器、触摸屏等)和/或与一个或多个显示设备(例如,电视机、显示器、CRT、等离子、LCD、LED、触摸屏等)相关联。
用户设备104和/或内容提供者设备106可以被配置为使用网络102从各个资源接收数据。在一些实施方式中,网络102可以包括用户设备104和/或内容提供者设备106可以经由任何类型的网络连接(例如,有线的,诸如以太网、电话线、电力线等,或无线的,诸如WiFi、WiMAX、3G、4G、卫星等)连接到的计算网络(例如,LAN、WAN、互联网等)。在一些实施方式中,网络102可以包括媒体分发网络,诸如被配置为分发媒体节目和/或数据内容的电缆(例如,同轴金属电缆)、卫星、光纤等。
内容管理系统108可以被配置为选择要在资源上呈现的第三方内容项目。例如,内容管理系统108可以进行竞拍或竞价过程。可以选择竞拍或竞价过程的一个或多个获胜者的一个或多个内容项目以用于在资源上显示。内容管理系统108可以进一步在内容项目的选择的过程期间使用质量分值(即,用户设备104的用户有多可能与内容项目交互或者采取与内容项目有关的转化动作的度量)或其他度量。在一些实施方式中,内容提供者可以创建内容宣传活动(content campaign),或者可以以其他方式向内容管理系统108提供各个设置或指导方针。这样的设置或指导方针可以管制内容提供者如何参与内容项目选择过程(例如,在给定的竞拍中竞价多少,内容提供者的总预算(每周、每日或其他)等)。这样的设置或指导方针可以基于内容项目的各个度量来设置,诸如每闪现(impression)成本或每千次闪现成本(CPM),每点击成本(CPC)或每取得成本(CPA)或每转化成本。这样的设置或指导方针可以进一步基于应当提供内容项目的平台的类型(例如,移动、桌面等)来设置、在其上应当提供内容项目的什么类型的资源(例如,搜索结果页面)、显示资源的用户设备的地理位置等来设置。
用户可以能够与在用户设备104上的资源上呈现的内容项目交互。这样的交互可以包括点击、双击、在触摸屏上的触摸或者指示内容项目的选择的任何其他类型的交互。在一些实施方式中,内容项目的选择可以使得用户设备104被引导来打开设备上的应用。在其它实施方式中,内容项目的选择可以使得用户设备104向应用服务器150(在下面描述)提供引用符数据,并且从应用服务器150接收回的深度链接可以使得应用在用户设备104上打开。然后应用可以检索与用户和内容项目相关的内容,并在应用内显示内容。在一些实施方式中,内容项目可以与应用相关联。例如,如果用户当前正在查看与音乐相关联的网页,则内容项目可以与被配置为回放音乐的应用相关联,以允许用户查看可以被用户消费的歌曲的列表等等。
如上所述,应用服务器150被配置为从用户设备104接收引用符数据。当用户选择使得应用在用户设备104上打开的内容项目时,应用服务器150可以接收对来自用户设备104的内容项目和附加信息(例如,引用符数据)的选择的指示。应用服务器150可以生成深度链接,该深度链接可以被发送到用户设备104并且被应用使用来检索与用户相关的内容。
示出应用服务器150包括引用符数据子系统152。引用符数据子系统152可以从用户设备104接收引用符数据并且识别在生成深度链接期间可以使用的数据。例如,如果引用符数据包括与用户执行的搜索有关的数据,则引用符数据子系统152可以识别搜索的搜索词项。作为另一个示例,引用符数据可以包括关于在其上呈现内容项目的网页的信息,并且引用符数据子系统152可以识别可以用于构建深度链接的网页内的特定内容。
示出应用服务器150包括深度链接生成子系统154。深度链接生成子系统154可以被配置为基于引用符数据生成深度链接。在一些实施方式中,深度链接可以是具有使用引用符数据构建的端点的统一资源定位符(URL)或统一资源标识符(URI)。例如,对于网页的URL http://www.example.com,可以为URL构建端点(例如,“/path/page”)以创建深度链接。端点可以使得内容服务器访问与该端点有关的索引内容,因此允许通过端点经由应用向用户呈现相关内容。
在一些实施方式中,端点可以由深度链接生成子系统154使用公共网关接口(CGI)参数来构建。使用CGI参数,被配置为响应来自web浏览器的网页请求的web服务器可以基于所识别的参数来提供内容(例如,具有相关内容的新网页)。在一些实施方式中,可以使用键值对映射来构建端点。键值对通常可以是包括密钥(例如,标识符)和值(例如,标识引用符数据的值)的链接数据组。为应用提供内容的web服务器可以使用具有键值对的查找表来确定要在应用上呈现的内容。
在一些实施方式中,当用户选择内容项目以引导应用在用户设备104上打开时,应用可以已经被安装在用户设备上。在这样的情况下,用户设备104可以将引用符数据提供给应用服务器150,并且该应用可以接收来自应用服务器150的响应中的深度链接。然后深度链接用于从web服务器检索内容以在应用内显示。
在一些实施方式中,要在用户设备上打开的应用可以不安装在用户设备上。在这样的实施方式中,应用可以从应用服务器150下载。应用服务器150被示出为包括应用安装子系统156,其被配置为促进在用户设备104上安装应用162。应用162可以从本地或远程数据库160检索。
如果应用要下载到用户设备104,则可以由应用服务器150以引用符标签的形式将深度链接提供给应用。应用服务器150被示出为包括引用符标签子系统158,其被配置为生成引用符标签(或修改现有的引用符标签)。引用符标签通常可以是由应用服务器150生成的标签,以表示关于什么导致应用162在用户设备104上安装的信息。引用符标签通常可以包括例如主引用符数据。然而,引用符标签子系统158可以被配置为还包括由标签内的应用服务器150接收的二级引用符数据。当在用户设备104上安装和打开应用162时,可以使用引用符标签来确定要在应用内初始呈现的内容。
在各个实施方式中,应用服务器150的活动可以跨多个服务器分开。例如,用户设备104可以被配置为从应用服务器150之外的另一个资源下载要加载到用户设备上的应用,但是仍然可以从应用服务器150接收修改的引用符标签。应当理解的是,图1所示的配置不是限制性的,并且与用户设备104上的应用的呈现有关的各个活动可以由应用服务器150或连接在环境100内的另一个系统提供给用户设备104。
参考图2,根据一个说明性实施方式,示出说明了将二级引用符数据从第一资源中继到第二资源的过程的详细框图。如上所述,二级引用符数据连同主引用符数据可以被用于生成深度链接。主引用符数据通常可以涉及当前资源(例如,用户当前正在查看的当前网页),而二级引用符数据通常可以涉及先前资源(例如,用户在触达当前网页之前正在查看的先前网页)。具体参考图2,更详细地描述了将二级引用符数据从先前资源传递到当前资源的过程。
用户可以在用户设备104上的第一应用204上查看第一资源202。第一资源202可以包括通常在资源上发现的任何数目的内容项目206、链接、图片、文本和其他内容。用户设备104可以从用户接收使得第二应用214上的第二资源212被呈现在用户设备104上的选择。该选择可以是例如致使新应用打开的对内容项目206的选择,或对用以在相同应用中打开新的网页的链接的选择。可以在第二应用214上呈现第二资源212,其中基于第一资源上的用户选择呈现任何数目的内容项目216、链接、图片、文本和其他内容。
应当理解的是,虽然第一资源202和第二资源212以及第一应用204和第二应用214在图2中彼此区分,但是第一资源202和第二资源212可以是相同的资源,并且第一应用204和第二应用214可以是相同的应用。换言之,在用户选择后没有新的应用可以被打开,或者没有新的资源加载。图2中所示的实施方式被示出为区分这两个资源和应用,以便于在加载新的资源或应用的情形下的解释,但是这里描述的系统和方法不限于这样的情况。
当从第一资源202导航到第二资源212时,二级引用符数据220可以被传递到第二资源212和第二应用214。二级引用符数据220通常可以包括与第一资源202有关的信息。例如,如果第一资源202是搜索结果网页,并且用户选择是搜索结果的选择,则二级引用符数据220可以标识由用户录入的、致使生成搜索结果的搜索词项。作为另一个示例,如果用户选择是对内容项目206的选择,则二级引用符数据220可以包括与提供内容项目206以用于在第一资源202上显示的决策有关的数据。如果内容项目206被提供作为内容项目宣传活动的一部分,则二级引用符数据220可以标识与宣传活动有关的信息,由此指示可能与查看第一资源202的用户相关的信息。
二级引用符数据220通常用于捕获导致在第二应用214上加载第二资源212的用户的意图。使用上面使用的乡村音乐示例,在第一示例中,用户可以已经执行了对乡村音乐的一般搜索,然后从作为搜索结果提供的歌曲列表选择特定歌曲。二级引用符数据220可以用于标识用户对乡村音乐而不是针对特定歌曲进行了一般搜索。在第二示例中,用户可以已经对所有类型的音乐进行了一般搜索,并且然后从搜索结果列表选择了特定的乡村音乐歌曲。一般而言,二级引用符数据220可以用于标识用户仅对音乐感兴趣。在第三示例中,用户可以已经执行了对特定歌曲的搜索,并且然后选择了指向该歌曲的链接。二级引用符数据220可以用于标识用户对特定歌曲或歌曲的艺术家的兴趣。
作为另一个示例,用户可以经由第一资源202购物,并且可以被呈现与可用于购买的项目有关的多个内容项目。如果用户正在购物(例如,用于夹克),则二级引用符数据220可以标识由用户录入的一个或多个搜索参数(例如,夹克的类型、夹克的颜色等)。当发生用户选择(例如,对内容项目的选择)时,基于由用户录入的用于发起购物过程的参数来生成二级引用符数据220。
二级引用符数据220可以进一步用于标识感兴趣的其他信息,诸如用户是否打算进行购买,用户如何触达第一资源202和第一应用204等。二级引用符数据220可以从多个用户选择和导航继承,即,可以跨多个资源和应用上的多个用户选择来确定用户信息。
在各个实施方式中,可以在第二资源212、第二应用214和/或内容项目216内表示二级引用符数据220。例如,如果第二资源212或第二应用214与第一资源202或第一应用204相同,则二级引用符数据220可以被存储在资源或应用内。作为另一个示例,如果资源和/或应用改变,则二级引用符数据220可以与新的资源和/或应用相关联,或者可以与内容项目216相关联。
现在参考图3,根据说明性实施方式,示出示说明了向应用服务器传送二级引用符数据和主引用符数据的过程的详细框图。在图3中,用户已经触达第二应用214上的第二资源212。第二资源212可以包括通常在资源上找到的任何数目的内容项目216、链接、图片、文本和其他内容。用户设备104可以从用户接收对内容项目216的选择。内容项目216的选择通常可以使得第三应用224在用户设备104上打开,其中第三资源222和新内容226在资源内显示。
内容项目216可以是具体地与第三应用224相关联的内容项目。例如,参考上面的购物示例,内容项目216可以具体地与允许用户购买夹克的基于购物的应用相关联。作为另一个示例,参考上面的音乐示例,内容项目216可以具体地与被配置为在用户设备104上回放音乐的音乐应用相关联。
内容项目216的用户选择可以使得第三应用224被启动或者安装在用户设备104上。如果第三应用224已经被安装,则应用可以被启动,并且从应用服务器150接收的深度链接232(下面详细描述)用于生成用于在应用内显示的内容。如果第三应用224未安装在用户设备104上,则可以下载应用(例如,从应用服务器150或另一个服务器)并安装在用户设备104上。由应用服务器150或另一个服务器提供的伴随下载的引用符标签234然后用于检索在应用首次启动时在应用内显示的内容。
当用户选择内容项目216时,通过用户设备104将引用信息提供给应用服务器150。引用信息包括如上所述的从先前的应用和由用户查看的资源中继的二级引用符数据220。引用信息还包括与第二资源212、第二应用214和被选择的内容项目216直接有关的主引用符数据230。例如,主引用符数据230可以包括与用于显示在第二资源212上的内容项目216的选择有关的信息。作为另一个示例,主引用符数据230可以包括关于在第二资源212上显示的其他内容的信息(例如,使用乡村音乐示例,主引用符数据230可以标识正在回放的特定歌曲或歌曲的艺术家)。作为又一个示例,主引用符数据230可以标识用于查看内容的资源的类型(例如,特定的网页链接)或应用(例如,浏览器)的类型。
如上所述,应用服务器150接收主引用符数据230和二级引用符数据220并且可以被配置为基于引用符数据生成第三应用224的深度链接232。在一些实施方式中,应用服务器150可以确定第三应用224是否已经安装在用户设备104上,并且如果用户设备104尚未安装应用,则可以提供用于下载的应用。
如果用户设备104已经安装了第三应用224,则应用服务器150可以被配置为通过构建URL或URI的端点来生成深度链接232。例如,参考购物示例,如果引用符数据指示用户正在购买所有类型的夹克,则端点可以引用夹克(例如,“/夹克”或“/服装/夹克”)。作为另一个示例,参考乡村音乐示例,如果引用符数据指示用户对特定歌曲感兴趣,则端点可以引用特定歌曲。作为又一个示例,如果引用符数据指示对音乐的普遍兴趣,则端点可以一般引用音乐内容,而不将乡村音乐识别为特定流派。在一些实施方式中,端点可以使用CGI参数来构建。在其他实施方式中,可以使用键值对映射来构建端点。在又一其他实施方式中,可以使用生成深度链接的端点的任何方法。第三应用224可以接收深度链接232并使用深度链接232来检索与用户相关的内容。
如果用户设备104没有安装第三应用224,则应用服务器150(或另一个系统)可以提供该应用以供用户设备下载。此外,应用服务器150可以被配置为生成针对应用的引用符标签234(或者修改伴随着下载的现有引用符标签)。引用符标签234通常可以包括指示导致在用户设备104上安装应用的一个或多个动作的信息。例如,引用符标签234可以标识由用户选择以发起该过程的特定内容项目216。引用符标签234还可以包括关于用于在第二资源212上显示的内容项目216的选择的信息。换言之,引用符标签234可以包括通常被包括为主引用符数据230的一部分的信息。
应用服务器150可以进一步使用引用符标签234来向第三应用224提供与二级引用符数据220有关的信息。例如,引用符标签234通常可以包括关于在第一应用204的第一资源202中选择一个或多个内容项目206的信息。此外,引用符标签234可以标识第一资源202的话题或其他内容或者用户所查看的先前内容的话题或其他内容。
应用服务器150可以将引用符标签234传送给用户设备104。在用户设备104上第一次启动时,第三应用224可以接收引用符标签234并且使用该标签来确定要在应用内显示的内容。引用符标签234可以是任何格式。例如,引用符标签234可以是HTTP报头字段。
第三应用224可以被配置为在接收到深度链接232或引用符标签234后检索用于在应用上显示的内容。所检索的内容的类型可以基于经由深度链接232或引用符标签234标识的引用符数据而变化。例如,使用乡村音乐视频示例,第三应用224可以提供特定音乐视频作为应用主页上的首要推荐。特定音乐视频可以基于由深度链接232或引用符标签234标识的一个或多个特定歌曲或艺术家来选择,或者可以基于由深度链接232或引用标签234标识的更一般搜索词项来选择。作为另一个示例,第三应用224可以提供音乐视频的列表(例如,推荐的播放列表),基于由深度链接232或引用符标签234标识的信息来选择列表中的每个音乐视频。列表中的一些项目可以涉及主引用符数据(例如,特定的艺术家或歌曲),而列表中的其他项目可以涉及二级引用符数据(例如,其他乡村音乐艺术家和歌曲,或来自可以与乡村音乐有关的其他流派的歌曲)。作为又一个示例,第三应用224可以打开频道页面,该频道涉及特定的艺术家或流派。
现在参考图4,示出了用于向应用提供二级引用符数据和主引用符数据的过程400的流程图。如上所述,过程400可以由将信息传送给应用服务器150的用户设备104执行。
过程400包括在用户设备上的第一应用处接收指示从第一资源导航到第二资源的命令的第一组一个或多个数据分组(405)。该命令可以识别与在第一资源上选择的第一资源或第一内容项目中的至少一个相关联的第二资源和二级引用符数据,以生成第一组数据分组。例如,第一资源可以是第一网页,并且命令可以基于对第一网页上的特定内容项目或链接的选择来识别由用户选择的第二网页。在这样的示例中,二级引用符数据可以指代第一网页的内容和该用户在查看第一网页时的意图。例如,如果用户执行了搜索,则二级引用符数据可以引用由用户录入的搜索词项。作为另一个示例,如果一个或多个内容项目被选择用于在第一网页上显示,则二级引用符数据可以指代用于选择内容项目的参数。二级引用符数据可以经由任何方法从第一网页传递到第二网页。在一些实施方式中,二级引用符数据可以经由用于导航到第二网页的HTTP地址的HTTP报头字段来传递。在一些实施方式中,二级引用符数据可以与显示在第二网页上的内容相关联。在一些实施方式中,二级引用符数据可以被本地存储在浏览器上。
过程400包括渲染在第二资源内提供的第二资源和第二内容项目(410)。第二资源和第二内容项目可以在用户设备的第一应用(例如,浏览器或其他用户应用)内渲染。显示在第二资源上的第二内容项目和其他内容可以基于用户从第一资源的选择来选择。在一些实施方式中,第二内容项目可以与第二应用相关联。例如,第二应用可以是诸如媒体播放器、浏览器、通信软件、文字处理器、数据库软件、电子表格软件、电子邮件程序、演示软件、数据库软件等的应用。
过程400包括接收对第二内容项目(415)的选择。在各个实施方式中,第二内容项目的选择可以是点击、双击、悬停事件、触摸屏上的触摸,或与第二内容项目上的用户动作有关的任何其他类型的事件。
过程400包括响应于对第二内容项目的选择而生成第二组一个或多个数据分组(420)。第二组数据分组可以包括在框405处识别的二级引用符数据连同与第二资源或第二内容项目中的至少一个相关联的主引用符数据。主引用符数据通常可以标识例如与第二资源(例如,与显示在第二资源上的特定内容)有关的信息。主引用符数据还可以涉及对用于显示在第二资源上的特定第二内容项目的选择。
过程400包括将第二组数据分组传送到服务器(425)。服务器通常可以被配置成基于第二组数据分组中的引用数据来生成深度链接。服务器可以接收第二组数据分组并解析第二组数据分组以识别一个或多个参数(例如,主引用符数据和二级引用符数据)。服务器可以使用所述参数来生成深度链接。
过程400包括接收由服务器(430)生成的深度链接并且在用户设备上的第二应用内渲染具有根据深度链接生成的内容的内容界面(435)。渲染内容界面通常可以包括使用深度链接的端点来从远程资源检索索引的内容以在第二应用上显示。
现在参考图5,示出了用于向应用提供二级引用符数据和主引用符数据的过程500的流程图。在图5的示例中,应用已经安装在用户的用户设备上。如上所述,过程500可以由应用服务器150执行。
过程500包括从用户设备接收一组数据分组(505)。该组数据分组可以包括主引用符数据和二级引用符数据,并且可以在选择应用中的内容项目后由用户设备的应用生成,如上所述。过程500包括解析该组数据分组以识别一个或多个参数(510)。在各个实施方式中,参数可以标识要包括在深度链接中的主引用符数据和二级引用符数据。
过程500还包括基于用户对内容项目的选择来确定要在用户设备上启动的应用(515)。过程500还包括确定应用是否已经安装在用户设备上(520)。在验证应用被安装在用户设备上后,过程500包括基于一个或多个参数来生成应用的深度链接(525)并将深度链接提供给用户设备(530)。然后深度链接可以被应用用来检索与主引用符数据和二级引用符数据相关的内容。
现在参考图6,示出了用于向应用提供二级引用符数据和主引用符数据的过程600的流程图。在图6的示例中,该应用未安装在用户的用户设备上。如上所述,过程600可以由应用服务器150执行。
过程600包括从用户设备接收一组数据分组(605)。该组数据分组可以包括主引用符数据和二级引用符数据,并且可以在选择应用中的内容项目后由用户设备的应用生成,如上所述。过程600包括解析该组数据分组以识别一个或多个参数(610)。在各个实施方式中,参数可以标识要包括在深度链接中的主引用符数据和二级引用符数据。
过程600还包括基于用户对内容项目的选择来确定要在用户设备上启动的应用(615)。过程600还包括确定应用是否已经安装在用户设备上(620)。在验证应用未安装在用户设备上后,过程600包括提供应用以供用户设备下载(625)。
过程600还包括基于一个或多个参数(630)生成应用的引用符标签并将引用符标签提供给用户设备(635)。然后,应用可以使用引用符标签来检索与主引用符数据和二级引用符数据有关的内容。
图7图示了可以用于例如实现说明性用户设备104、说明性内容管理系统108、说明性内容提供者设备106、说明性应用服务器150和/或在本公开中描述的各个其他说明性系统的计算系统700的描绘。计算系统700包括用于传送信息的总线705或其他通信组件和耦合到总线705用于处理信息的处理器710。计算系统700还包括耦合到总线705的用于存储信息以及待由处理器710执行的指令的主存储器715,诸如随机存取存储器(RAM)或其他动态存储设备。主存储器715还可以用于存储位置信息、临时变量或在由处理器710执行指令期间的其他中间信息。计算系统700还可以包括耦合到总线705以用于存储用于处理器710的静态信息和指令的只读存储器(ROM)1220或其他静态存储设备。诸如固态设备、磁盘或光盘的存储设备725被耦合到总线705以用于持久地存储信息和指令。
计算系统700可以经由总线705耦合到诸如液晶显示器或有源矩阵显示器的显示器735以用于向用户显示信息。诸如包括字母数字键和其它键的键盘的输入设备730可以耦合到总线705以用于向处理器710传送信息和命令选择。在另一个实施方式中,输入设备730具有触摸屏显示器735。输入设备730可以包括诸如鼠标、轨迹球或光标方向键的光标控制,其用于向处理器710传送方向信息和命令选择,并用于控制显示器735上的光标移动。
在一些实施方式中,计算系统700可以包括通信适配器740,诸如网络适配器。通信适配器740可以耦合到总线705并且可以被配置为实现与计算或通信网络745和/或其他计算系统的通信。在各个说明性实施方式中,可以使用通信适配器740——诸如有线(例如,经由以太网)、无线(例如,经由等)、预先配置的、ad-hoc、LAN、WAN等——来实现任何类型的联网配置。
根据各个实施方式,响应于处理器710执行包含在主存储器715中的指令的布置,通过计算系统700可以实现实施这里描述的说明性实施方式的过程。这样的指令可以从诸如存储设备725的另一个计算机可读介质被读入主存储器715。包含在主存储器715中的指令的布置的执行使得计算系统700执行在此描述的说明性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器715中的指令。在替选实施方式中,可以使用硬连线电路来代替软件指令或与软件指令组合来实现说明性实施方式。因此,实施方式不限于硬件电路和软件的任何特定组合。
如本公开中所描述的系统和方法可以对于任何类型的第三方内容项目(即,针对要在资源上显示的任何类型的内容项目)是可实现的。在一个实施方式中,内容项目可以包括广告。在一个实施方式中,内容项目可以包括由第三方提供的用于在第一方内容提供者的资源上显示的任何文本、图像、视频、故事(例如,新闻报道)、社交媒体内容、链接或任何其他类型的内容。本文方法用于的内容项目的类型不是限制性的。
虽然在图7中已经描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以使用其他类型的数字电子电路或者在计算机软件、固件或硬件——包括本说明书中公开的结构及其结构等同物——或在它们中的一个或多个的组合中执行。
在本说明书中描述的主题和操作的实施方式可以使用数字电子电路或者在有形介质、固件或者硬件——包括本说明书中公开的结构及其结构等同物——上实现的计算机软件中来实现或在它们中的一个或多个的组合中执行。在本说明书中描述的主题的实施方式可以被实现为一个或多个计算机程序,即计算机程序指令的一个或多个子系统,其编码在一个或多个计算机存储介质上以用于由数据处理装置执行或控制数据处理装置的操作。替选地或另外地,程序指令可以被编码在人工生成的传播信号——例如机器生成的电、光或电磁信号——上,所述信号被生成以编码用于传输到合适的接收器装置以供数据处理装置执行的信息。计算机存储介质可以是以下或者可以被包括在其中:计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备,或者它们中的一个或多个的组合。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的组件或介质(例如,多个CD、盘或其他存储设备)或被包括在其中。因此,计算机存储介质既是有形的也是非暂时的。
在本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理装置”或“计算设备”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括一个或多个可编程处理器、计算机、片上系统或前述的组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或它们中一个或多个的组合的代码。装置和执行环境可以实现各个不同的计算模型基础设施,诸如Web服务、分布式计算和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言来编写,包括编译或解释的语言、声明性或过程性语言,并且其可以以任何形式被部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子程序、对象或其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个子系统、子程序或代码部分的文件)。计算机程序可以被部署以在一个计算机上或多个计算机上执行,其位于一个站点或跨站点分布并由通信网络互连。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。处理和逻辑流程也可以由专用逻辑电路——例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)——来执行,并且装置也可以被实现为专用逻辑电路。
通过示例,适用于执行计算机程序的处理器包括通用和专用微处理器二者以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备——例如磁盘、磁光盘或光盘,或可操作地耦合以从其接收数据或向其传送数据,或者两者。然而,计算机不一定有这样的设备。此外,可以将计算机嵌入到另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者并入专用逻辑电路中。
为了提供与用户的交互,可以将在本说明书中所描述的主题的实现方式实现在具有下述的计算机上:用于向用户显示信息的诸如CRT(阴极射线管)、等离子体、或LCD(液晶显示器)监视器的显示设备;及键盘和指示设备,例如鼠标或轨迹球,用户可以通过其来向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户交互;例如通过响应于从网络浏览器接收到请求,将网页传送到用户的客户端设备上的网络浏览器。
本说明书中描述的主题的实施方式可以使用包括后端组件——例如作为数据服务器——或者包括中间件组件——例如应用服务器——或者包括前端组件——例如具有通过其用户可以与本说明书中描述的主题的实施方式交互的图形用户界面或网络浏览器的客户端计算机——,或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统来执行。系统的组件可以通过数字数据通信(例如通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网间网络(例如互联网)和对等网络(例如,自组对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过运行在各个计算机上并且彼此具有客户端-服务器关系的计算机程序生成的。在一些实施方式中,服务器将数据(例如,HTML页面)传送到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从该用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
在一些说明性实施方式中,本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,其可以包括处理电路,该处理电路被配置为将互联网连接与更传统的电视节目源集成(例如,经由电缆、卫星、空中或其他信号接收)。智能电视模块可以被物理地结合到电视机中,或者可以包括诸如机顶盒、蓝光或其他数字媒体播放器、游戏控制台、酒店电视系统和其他伴随设备的分离设备。智能电视模块可以被配置为允许观众搜索和查找在web上、在本地有线电视频道上、在卫星电视频道上或存储在本地硬盘驱动器上的视频、电影、照片和其他内容,。机顶盒(STB)或机顶单元(STU)可以包括信息电器设备,其可以包含调谐器并连接到电视机和外部信号源,将信号调谐成内容,其然后显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供包括多个不同应用——诸如web浏览器和多个流媒体服务、连接的电缆或卫星媒体源、其他web“频道”等的图标的主屏幕或顶级屏幕。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在替选实施方式中,特征可以在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持式计算机、平板计算机或其他计算设备上实现。
尽管本说明书包含许多具体的实施方式细节,但是这些不应当被解释为对任何发明或可以要求保护的范围的限制,而是作为特定于特定发明的特定实施方式的特征的描述。本说明书中在单独实施方式的场境中描述的某些特征也可以组合或在单个实施方式中执行。相反地,在单个实施方式的场境中描述的各个特征也可以在多个实施方式中、单独地或者以任何合适的子组合来执行。此外,虽然特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变化。另外,关于特定标题描述的特征可以关于和/或与其他标题下描述的说明性实施方式组合使用;所提供的标题仅仅是为了可读性的目的而被包括,并且不应被解释为限制关于这些标题提供的任何特征。
类似地,尽管在附图中以特定的顺序描述了操作,但是这不应当被理解为要求以所示出的特定次序或按顺序执行这样的操作,或者所有示出的操作都被执行以实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。而且,上述实施方式中的各个系统组件的分离不应理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到实施在有形媒体上的多个软件产品中。
因此,已经描述了主题的特定实施方式。其他实施方式在所附权利要求书的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示出的特定次序或顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可以是有利的。

Claims (20)

1.一种方法,包括:
经由计算设备的第一应用接收指示从第一资源导航到第二资源的命令的第一组一个或多个数据分组,所述第一组数据分组标识与用以生成所述第一组数据分组的所述第一资源或在所述第一资源上选择的第一内容项目中的至少一个相关联的所述第二资源和二级引用符数据;
在所述计算设备的所述第一应用内渲染所述第二资源和在所述第二资源内提供的第二内容项目;
经由所述计算设备的所述第一应用接收对所述第二内容项目的选择;
响应于对所述第二内容项目的选择,在所述计算设备处生成第二组一个或多个数据分组,所述第二组一个或多个数据分组包括从所述第一组数据分组提取的所述二级引用符数据以及与所述第二资源或所述第二内容项目中的至少一个相关联的主引用符数据;
在所述计算设备处将所述第二组数据分组传送到服务器;
在所述计算设备处从所述服务器接收由所述服务器使用所述主引用符数据和所述二级引用符数据两者生成的深度链接;以及
在由所述深度链接指示的所述计算设备上的第二应用内渲染具有根据所述深度链接生成的内容的内容界面。
2.根据权利要求1所述的方法,其中,所述深度链接包括部分地包括引用符字段的统一资源定位符(URL)和统一资源标识符(URI)中的一个,所述引用符字段包括与所述主引用符数据和所述二级引用符数据有关的参数。
3.根据权利要求2所述的方法,其中,所述参数是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
4.根据权利要求1所述的方法,其中,在所述第二应用上渲染内容界面包括从所述服务器下载所述第二应用;并且其中,所述深度链接包括引用符标签,所述引用符标签包括表示所述主引用符数据和所述二级引用符数据的参数。
5.根据权利要求1所述的方法,其中,所述二级引用符数据包括由用户录入的一个或多个搜索词项。
6.根据权利要求1所述的方法,其中,所述二级引用符数据包括用于选择在所述第一资源上呈现的所述第一内容项目的一个或多个参数。
7.根据权利要求1所述的方法,进一步包括在所述服务器处:
接收所述第二组数据分组;
解析所述第二组数据分组以识别一个或多个参数;
确定所述第二应用是否安装在所述计算设备上,并且响应于确定所述第二应用未安装在所述计算设备上而提供所述第二应用;以及
基于所述一个或多个参数来确定要在所述第二应用中显示的内容。
8.根据权利要求1所述的方法,其中,所述第一组数据分组是从第三应用的资源接收的。
9.一种系统,包括:
至少一个计算设备,能够操作地耦合到至少一个存储器并且被配置为:
经由第一应用接收指示从第一资源导航到第二资源的命令的第一组一个或多个数据分组,所述第一组数据分组标识与用以生成所述第一组数据分组的所述第一资源或在所述第一资源上选择的第一内容项目中的至少一个相关联的所述第二资源和二级引用符数据;
在所述第一应用内渲染所述第二资源和在所述第二资源内提供的第二内容项目;
经由所述第一应用接收对所述第二内容项目的选择;
响应于对所述第二内容项目的选择,生成第二组一个或多个数据分组,所述第二组一个或多个数据分组包括从所述第一组数据分组提取的所述二级引用符数据以及与所述第二资源或所述第二内容项目中的至少一个相关联的主引用符数据;
将所述第二组数据分组传送到服务器;
从所述服务器接收由所述服务器使用所述主引用符数据和所述二级引用符数据两者生成的深度链接;以及
在由所述深度链接指示的第二应用内渲染具有根据所述深度链接生成的内容的内容界面。
10.根据权利要求9所述的系统,其中,所述深度链接包括部分地包括引用符字段的统一资源定位符(URL)和统一资源标识符(URI)中的一个,所述引用符字段包括与所述主引用符数据和所述二级引用符数据有关的参数。
11.根据权利要求10所述的系统,其中,所述参数是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
12.根据权利要求9所述的系统,其中,在所述第二应用上渲染内容界面包括从所述服务器下载所述第二应用;并且其中,所述深度链接包括引用符标签,所述引用符标签包括表示所述主引用符数据和所述二级引用符数据的参数。
13.根据权利要求9所述的系统,其中,所述二级引用符数据包括由用户录入的一个或多个搜索词项。
14.根据权利要求9所述的系统,其中,所述二级引用符数据包括用于选择在所述第一资源上呈现的所述第一内容项目的一个或多个参数。
15.根据权利要求9所述的系统,其中,所述服务器被配置为:
接收所述第二组数据分组;
解析所述第二组数据分组以识别一个或多个参数;
确定所述第二应用是否安装在所述计算设备上,并且响应于确定所述第二应用未安装在所述计算设备上而提供所述第二应用;以及
基于所述一个或多个参数来确定要在所述第二应用中显示的内容。
16.根据权利要求9所述的系统,其中,所述第一组数据分组是从第三应用的资源接收的。
17.一种方法,包括:
在服务器处从计算设备接收一组数据分组,所述一组数据分组包括:
与第一资源或在所述第一资源内提供的第一内容项目中的至少一个相关联的二级引用符数据;以及
与第二资源或在所述第二资源内提供的第二内容项目中的至少一个相关联的主引用符数据,在选择所述第一资源中的所述第一内容项目之后所述计算设备已经从所述第一资源导航到所述第二资源,响应于在所述计算设备上的所述第二资源中的所述第二内容项目的选择而在所述服务器处接收所述一组数据分组;
解析所述一组数据分组以识别一个或多个参数;
基于所述一个或多个参数来确定要在所述计算设备上的应用中显示的内容;
基于要在所述应用中显示的所述内容来生成深度链接;以及
将所述深度链接传送到所述计算设备上的所述应用。
18.根据权利要求17所述的方法,进一步包括:
确定在所述计算设备上是否安装了要在所述计算设备上打开的应用;
其中,所述服务器响应于确定在所述用户设备上未安装所述应用而被配置为提供所述应用以供所述计算设备下载或者使得应用商店提供所述应用以供所述计算设备下载。
19.根据权利要求17所述的方法,其中,所述深度链接包括部分地包括引用符字段的统一资源定位符(URL)和统一资源标识符(URI)中的一个,所述引用符字段包括与所述主引用符数据和所述二级引用符数据有关的参数;
其中,所述参数是公共网关接口(CGI)参数和从键值对映射生成的参数中的一个。
20.根据权利要求18所述的方法,其中,所述深度链接包括引用符标签,所述引用符标签包括表示所述主引用符数据和所述二级引用符数据的参数。
CN201780002011.5A 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接 Active CN108738362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210276676.8A CN114722316A (zh) 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/017970 WO2018151722A1 (en) 2017-02-15 2017-02-15 Generating deeplinks for applications based on multi-level referrer data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210276676.8A Division CN114722316A (zh) 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接

Publications (2)

Publication Number Publication Date
CN108738362A true CN108738362A (zh) 2018-11-02
CN108738362B CN108738362B (zh) 2022-04-08

Family

ID=58228561

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210276676.8A Pending CN114722316A (zh) 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接
CN201780002011.5A Active CN108738362B (zh) 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210276676.8A Pending CN114722316A (zh) 2017-02-15 2017-02-15 基于多层级引用符数据生成应用的深度链接

Country Status (5)

Country Link
US (4) US10795741B2 (zh)
CN (2) CN114722316A (zh)
DE (2) DE212017000297U1 (zh)
GB (1) GB2565609B (zh)
WO (1) WO2018151722A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534771A (zh) * 2019-07-17 2021-03-19 谷歌有限责任公司 在基于声学的数字助理应用中验证触发关键字的系统和方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE212017000297U1 (de) 2017-02-15 2019-10-25 Google Llc Erzeugen von Deeplinks für Anwendungen auf Basis von mehrstufigen Verweisdaten

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096603A2 (en) * 2006-02-21 2007-08-30 Instant Access Technologies Limited Delivering/accessing information
CN103425705A (zh) * 2012-05-24 2013-12-04 阿里巴巴集团控股有限公司 一种否定关键词的获取方法及装置和搜索方法及装置
CN103778156A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 数据搜索的方法和装置以及用于数据搜索的服务器
US20150156061A1 (en) * 2013-12-02 2015-06-04 Yahoo! Inc. Deep linking to mobile applications
US20150199442A1 (en) * 2014-01-16 2015-07-16 International Business Machines Corporation Providing relevant information to a user based upon monitored user activities in one or more contexts
CN105450516A (zh) * 2015-12-25 2016-03-30 精硕世纪科技(北京)有限公司 链接路由方法、电子系统及其电子设备和服务器
US9491223B2 (en) * 2013-02-17 2016-11-08 Onavo Mobile Ltd. Techniques for determining a mobile application download attribution

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600014B2 (en) * 2000-11-16 2009-10-06 Symantec Corporation Method and system for monitoring the performance of a distributed application
US7069562B2 (en) * 2001-12-12 2006-06-27 Sun Microsystems, Inc. Application programming interface for connecting a platform independent plug-in to a web browser
US20110239103A1 (en) 2010-03-23 2011-09-29 Microsoft Corporation Detecting virality paths and supporting referral monetization
US9195477B1 (en) 2012-10-09 2015-11-24 Sencha, Inc. Device profiles, deep linking, and browser history support for web applications
DE102013017085A1 (de) 2012-10-15 2014-04-17 Wixpress Ltd. System für eine tiefe Verknüpfung und Suchmaschinenunterstützung für Webseiten, in die eine Drittanwendung und Komponenten integriert sind
US10510093B2 (en) 2015-04-02 2019-12-17 Vungle, Inc. Systems and methods for providing advertising services to devices with dynamic ad creative deep linking
DE212017000297U1 (de) 2017-02-15 2019-10-25 Google Llc Erzeugen von Deeplinks für Anwendungen auf Basis von mehrstufigen Verweisdaten

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096603A2 (en) * 2006-02-21 2007-08-30 Instant Access Technologies Limited Delivering/accessing information
CN103425705A (zh) * 2012-05-24 2013-12-04 阿里巴巴集团控股有限公司 一种否定关键词的获取方法及装置和搜索方法及装置
CN103778156A (zh) * 2012-10-24 2014-05-07 阿里巴巴集团控股有限公司 数据搜索的方法和装置以及用于数据搜索的服务器
US9491223B2 (en) * 2013-02-17 2016-11-08 Onavo Mobile Ltd. Techniques for determining a mobile application download attribution
US20150156061A1 (en) * 2013-12-02 2015-06-04 Yahoo! Inc. Deep linking to mobile applications
US20150199442A1 (en) * 2014-01-16 2015-07-16 International Business Machines Corporation Providing relevant information to a user based upon monitored user activities in one or more contexts
CN105450516A (zh) * 2015-12-25 2016-03-30 精硕世纪科技(北京)有限公司 链接路由方法、电子系统及其电子设备和服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534771A (zh) * 2019-07-17 2021-03-19 谷歌有限责任公司 在基于声学的数字助理应用中验证触发关键字的系统和方法
CN112534771B (zh) * 2019-07-17 2024-04-19 谷歌有限责任公司 在基于声学的数字助理应用中验证触发关键字的系统和方法

Also Published As

Publication number Publication date
US10795741B2 (en) 2020-10-06
GB2565609A (en) 2019-02-20
US11442797B2 (en) 2022-09-13
GB2565609B (en) 2022-06-15
DE112017000039T5 (de) 2018-10-25
DE212017000297U1 (de) 2019-10-25
GB201721012D0 (en) 2018-01-31
WO2018151722A1 (en) 2018-08-23
CN114722316A (zh) 2022-07-08
US20230418698A1 (en) 2023-12-28
US20210019204A1 (en) 2021-01-21
US20230008181A1 (en) 2023-01-12
US20190278641A1 (en) 2019-09-12
CN108738362B (zh) 2022-04-08
US11782776B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
US9645797B2 (en) Development system and method for providing external functionality
JP6806894B2 (ja) クライアントデバイス上で実行されるアプリケーションによるコンテンツアイテムの提示の不適切な実施を検出するためのシステムおよび方法
JP5876043B2 (ja) 広告プライバシ管理
US10560760B2 (en) Methods and systems for multimedia content
US20070204010A1 (en) Remote Module Syndication System and Method
US20120233235A1 (en) Methods and apparatus for content application development and deployment
US20170060966A1 (en) Action Recommendation System For Focused Objects
US10452731B2 (en) Method and apparatus for generating a recommended set of items for a user
US20150206177A1 (en) Using content selection urls
US20160085516A1 (en) Dynamic Entity Inference for Developer Integration of Entity-Based External Functionality
US11620143B2 (en) Interface and mode selection for digital action execution
US10120951B2 (en) Bifurcated search
US20230418698A1 (en) Generating Deeplinks for Applications Based on Multi-Level Referrer Data
CN106233284B (zh) 生成用于主要内容的稳定标识符的方法和系统
US9288280B1 (en) Viral flow of the media content across client devices
GB2605885A (en) Generating deeplinks for applications based on multi-level referrer data
US10970358B2 (en) Content generation
EP3147804A1 (en) Method and apparatus for generating a recommended set of items for a user

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