在应用启动器中显示广告的制作方法

文档序号:14204050阅读:173来源:国知局
在应用启动器中显示广告的制作方法

相关申请的交叉引用

本申请是2015年8月20日提交的美国专利申请第14/831,512号的pct国际申请。上面所引用的申请的全部公开内容通过引用并入。

本公开涉及在应用启动器中显示广告。



背景技术:

移动计算设备可安装并执行软件应用。被安装在移动计算设备上的软件应用常常被称为本机应用。虽然一些本机应用可从数字应用商店购买,但是许多本机应用是免费的。免费的本机应用的软件开发者常常使用广告来产生收入。显示广告的常见做法是在本机应用内显示条幅广告。



技术实现要素:

本公开的一个方面提供一种移动计算设备,所述移动计算设备包括触摸屏显示器、存储本机应用的存储器、收发器、传感器和计算处理器。所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器经由应用启动器在所述触摸屏显示器上显示与所述本机应用对应的图标。所述应用启动器将所述本机应用启动到所述本机应用的第一状态(例如,默认状态)。所述图标包括与所述本机应用相关联的第一图像(例如,默认图标图像)。所述移动计算设备可以捕获指示所述计算设备的情境的情境数据。所述情境数据可以包括来自所述传感器的传感器测量结果、指示由所述移动计算设备进行的搜索的搜索历史和/或标识所述本机应用的应用标识符(id)。

所述移动计算设备产生表示广告请求的第一数据容器。所述广告请求可以包括所述情境数据。所述移动计算设备经由所述收发器发送所述广告请求。响应于发送所述广告请求,所述移动计算设备接收表示广告对象的第二数据容器。所述广告对象包括与广告有关的信息。所述广告可以指示所述本机应用的所述应用id和标识所述本机应用的第二状态(例如,所广告的状态)的状态id。所述第二状态与所述广告相关联。所述移动计算设备确定第二图像(例如,广告图像)。所述第二图像表示正在被广告的所述第二状态。所述移动计算设备通过用所述第二图像(例如,广告图像)替换所述第一图像(例如,默认图像)来修改所述图标,并且经由所述应用启动器将经修改的图标显示在所述触摸屏显示器上。

本公开的另一方面提供一种服务器(例如,广告服务器)。所述服务器包括网络通信设备、存储设备和处理设备。所述存储设备存储与广告有关的信息。所述处理设备执行计算机可读指令,所述计算机可读指令当由所述处理设备执行时,使所述处理设备接收表示广告请求的第一数据容器。所述广告请求可以包括指示客户端计算设备的情境的情境数据。所述情境数据可以包括标识安装在所述客户端计算设备处的本机应用的应用标识符(id)。所述服务器确定与安装在所述客户端计算设备上的所述本机应用的状态对应的广告。对于与所述本机应用的状态对应的每个广告,所述服务器基于所述客户端计算设备的所述情境来确定用于指示所述广告的相关性的相关性分数。

所述服务器基于所述广告的所述相关性分数来选择阈值数量的所述广告。对于每个选择的广告,所述服务器确定表示与所述广告对应的所述状态的图标大小的图像。所述服务器也可以确定表示与所述广告对应的所述状态的图标大小的字符串。此外,所述服务器可以确定可由所述客户端计算设备上的应用启动器用来将所述本机应用启动到与所述广告对应的所述状态(例如,所广告的状态)中的状态访问机制。所述服务器产生表示广告对象的第二数据容器。所述广告对象包括所选择的广告的所述图标大小的图像、所述图标大小的字符串和所述状态访问机制。所述服务器经由所述网络通信设备将所述第二数据容器发送到所述客户端计算设备。

本公开的另一方面提供一种移动计算设备,所述移动计算设备包括触摸屏显示器、存储本机应用的存储器、收发器、传感器和计算处理器。所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器经由应用启动器在所述触摸屏显示器上显示与所述本机应用对应的图标。所述应用启动器将所述本机应用启动到所述本机应用的第一状态(例如,默认状态)。所述图标包括与所述本机应用相关联的第一图像(例如,默认图像)。所述移动计算设备可以捕获指示所述计算设备的情境的情境数据。所述情境数据可以包括来自所述传感器的传感器测量结果、指示由所述移动计算设备进行的搜索的搜索历史和/或标识所述本机应用的应用标识符(id)。

所述移动计算设备产生表示广告请求的第一数据容器。所述广告请求可以包括所述情境数据。所述移动计算设备经由所述收发器发送所述广告请求。响应于发送所述广告请求,所述移动计算设备接收表示广告对象的第二数据容器。所述广告对象包括与广告有关的信息。所述广告指示所述本机应用的所述应用id和标识所述本机应用的第二状态(例如,所广告的状态)的状态id。所述第二状态与所述广告相关联。所述移动计算设备包括用于在所述应用启动器中显示所述广告的工具。

在一些实现中,所述用于显示所述广告的工具包括所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器确定表示正在被广告的所述第二状态的第二图像。所述计算处理器通过用所述第二图像替换所述第一图像来修改所述图标,并且经由所述应用启动器将经修改的图标显示在所述触摸屏显示器上。在一些情况下,所述用于显示所述广告的工具可以包括所述计算处理器连续地修改所述图标以在所述第一图像与所述第二图像之间循环。

在一些实现中,所述用于显示所述广告的工具包括所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器确定表示正在被广告的所述第二状态的文本字符串。所述计算处理器通过将所述文本字符串叠加到所述第一图像上来修改所述图标,并且经由所述应用启动器将经修改的图标显示在所述触摸屏显示器上。

在一些实现中,所述用于显示所述广告的工具包括所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器确定表示正在被广告的所述第二状态的文本字符串。所述计算处理器通过用所述文本字符串替换与所述第一图像相邻显示的图标标记来修改所述图标,并且经由所述应用启动器将经修改的图标显示在所述触摸屏显示器上。

在一些实现中,所述移动计算设备包括用于在正在被广告的所述第二状态下启动所述本机应用的工具。所述用于在所述第二状态下启动所述本机应用的工具可以包括所述计算处理器执行计算机可读指令,所述计算机可读指令当由所述计算处理器执行时,使所述计算处理器在接收到对所述图标的用户选择时将所述应用启动器配置为在所述第二状态下启动所述本机应用。所述计算处理器接收对所述图标的所述用户选择,并且在所述本机应用的所述第二状态下启动所述本机应用。

在附图和下面的描述中阐述了本公开的一个或多个实现的细节。其它方面、特征和优点将从描述和附图并从权利要求书显而易见。

附图说明

图1是例示了移动计算设备的常规主屏幕的图。

图2是例示了经由应用启动器显示广告的示例移动计算设备的图。

图3是可以用于在应用启动器中显示广告的示例系统的示意图。

图4是经由应用启动器显示广告的示例移动计算设备的框图。

图5是移动计算设备可以用来经由应用启动器显示广告的示例方法的框图。

图6是确定可由移动计算设备在应用启动器中显示的广告的示例广告服务器的框图。

图7a至图7e例示了广告服务器可以用来确定可在应用启动器中显示的广告的示例方法的框图。

图8a和图8b是例示了移动计算设备通过在阈值时间量之后改变广告来在应用启动器中显示广告的图。

图9a和图9b是例示了移动计算设备通过垂直地或水平地滚动广告图像来在应用启动器中显示广告的图。

图10a和图10b是例示了移动计算设备通过基于搜索查询而用广告图像替换图标图像来在应用启动器中显示广告的图。

图11a和图11b是例示了移动计算设备基于在主屏幕之前正在移动计算设备上显示的本机应用的状态来在应用启动器中显示广告的图。

图12a和图12b是例示了移动计算设备通过水平地或垂直地滚动广告来在应用启动器中显示广告的图。

在各个附图中相似的附图标记指示相似的元件。

具体实施方式

移动计算设备可安装并执行本机应用。本机应用可以指在执行时使得移动计算设备执行功能的软件产品(例如,软件程序)。虽然一些本机应用有价格,但是可免费下载许多本机应用。许多免费的本机应用显示广告以产生收入。一些用户欣赏广告,因为广告常常涉及相关产品和服务。但是为了查看并作用于广告,用户不得不首先启动本机应用。因此,如果本机应用未启动,则用户和应用开发者都不能从本机应用显示条幅广告的能力受益。

本公开提供一种除了启动本机应用之外还显示广告的应用启动器。该应用启动器可以通过修改图标图像和/或图标标题来显示广告。在应用启动器中显示广告使用户和应用开发者均受益。用户可直接从主屏幕查看并作用于相关广告。类似地,即使应用开发者的本机应用尚未启动,应用开发者也有机会产生广告收入。

图1例示了包括各种本机应用(未示出)的移动计算设备100。移动计算设备100可以包括应用启动器(未示出)。应用启动器可以包括由移动计算设备100执行来启动本机应用的一组计算机可读指令。应用启动器可以被包括在移动计算设备100的操作系统中。或者,应用启动器可以由第三方开发者提供并且可由移动计算设备100的用户安装。换句话说,应用启动器本身可以是本机应用。启动本机应用可以指从移动计算设备100的存储器中检索与本机应用相对应的计算机可读指令并且在计算处理器处执行这些计算机可读指令。

应用启动器可以显示主屏幕102,所述主屏幕102显示与本机应用相对应的各种图标110、120、130、140、150、160、170。每个图标可以包括图标图像112、122、132、142、152、162、172并且一些图标可以包括图标标题114、124、134、144、154。移动计算设备100可以接收对特定图标的用户选择并且响应于该用户选择而启动与图标相对应的本机应用。例如,移动计算设备100可以接收对图标130的用户选择并启动本机食品应用。每个本机应用可以包括可能涉及不同实体的几个状态。移动计算设备100可以将本机应用启动到本机应用的默认状态中。

图2例示了经由应用启动器显示广告的移动计算设备100′。应用启动器可显示包括图标110′、120′、130′、140′、150′、160′、170′的主屏幕102′。应用启动器可以通过修改或替换图标来显示广告。例如,应用启动器可以通过用替换图标标题114′替换图1中示出的原始图标标题114来显示比萨店(例如,glopizza)的广告。在图标110′的示例中,替换图标标题114′包括所广告的实体的名称。或者,应用启动器可以通过附加所广告的实体的名称来修改原始图标标题。参考图标120′,应用启动器通过附加所广告的实体的名称来将图1中的原始图标标题124修改成经修改的图标标题124′。在图标120′的示例中,所广告的实体的名称被显示在本机应用的名称下面。

移动计算设备100′可以通过替换或修改图标图像来显示广告。在图标130′的示例中,应用启动器用替换图标图像132′替换图1中的原始图标图像132。替换图标图像132′与所广告的实体对应。或者,应用启动器可以通过叠加表示所广告的实体的文本字符串来修改原始图标图像。在图标140′的示例中,应用启动器将文本字符串146叠加到图标图像142上。类似地,在图标170′的示例中,应用启动器将文本字符串174叠加到图标图像172上。文本字符串146、176可以包括所广告的实体的名称。

应用启动器可修改图标以显示来自本机应用的所广告的状态的信息。在图标140′的示例中,应用启动器显示指示所广告的实体的评级的指示符148。应用启动器可以例如通过进行应用编程接口(api)调用来确定评级。例如,应用启动器可以从本机评论应用内的与glopizza相对应的特定状态中检索评级。或者,移动计算设备100′可以随着广告而接收评级。

应用启动器可以修改图标110′,……,170′,使得本机应用直接启动到所广告的状态而不是默认状态中。例如,在接收到对图标140′的用户选择时,应用启动器将本机评论应用启动到显示对glopizza的评论的状态而不是本机评论应用的默认状态中。类似地,在接收到对图标170′的用户选择时,应用启动器将本机电话应用启动到指定glopizza的电话号码的状态而不是需要输入电话号码的默认状态中。

图3例示了向应用启动器递送广告的系统300。系统300包括客户端计算设备400(例如,图2中示出的移动计算设备100′)和广告服务器600。系统300可以包括使得能实现客户端计算设备400与广告服务器600之间的电子通信的网络310。网络310可以包括无线网络(例如,蜂窝网络)和/或有线网络(例如,以太网)。

在操作中,客户端计算设备400向广告服务器600发送广告请求470。广告服务器600接收广告请求470并且基于广告请求470来确定广告672。广告服务器600在广告对象670中将广告672发送到客户端计算设备400。客户端计算设备400从广告服务器600接收广告对象670并且在应用启动器中显示广告672。

广告请求470可以包括指示客户端计算设备400的情境的情境数据472。情境数据472可以包括由客户端计算设备400的传感器捕获的传感器测量结果474。示例传感器测量结果474包括客户端计算设备400的位置474-1或客户端计算设备400的时区474-2。情境数据472可以包括搜索历史476,所述搜索历史476包括通过客户端计算设备400进行的搜索(例如,所有搜索或在特定时间段内(例如,在最后1-24小时内)的搜索的历史)。情境数据472可以包括标识安装在客户端计算设备400处的本机应用的本机应用标识符(id)422。情境数据472可以包括标识当前活动(例如,正被使用)的本机应用的活动应用id422a。情境数据472可以包括屏幕上信息478(例如,当前正在显示或在一时间段(例如,最后5分钟)内显示的信息)。除了情境数据472之外或者作为情境数据472的替换物,广告请求470还可以包括包含一个或多个搜索项的搜索查询480。

广告服务器600从客户端计算设备400接收广告请求470并且基于广告请求470确定广告672。广告服务器600可以使用任何适合的技术来确定广告672。例如,广告服务器600可以采用实体出价方法,所述实体出价方法使得登广告者能够对搜索项中的实体和/或由情境数据472指示的实体出价。附加地或可替代地,广告服务器600可以采用基于预订标签的定向广告方法。在美国专利申请14/259,873、14/575,615、14/575,485和14/810,160中公开了用于广告服务器600选择广告672的示例技术,这些美国专利申请的内容通过引用整体地并入本文。此外,广告服务器600可以确定在客户端计算设备400的位置474-1附近相关的广告。而且,广告服务器600可以确定基于客户端计算设备400的时区474-2中的当前时间相关的广告。

广告服务器600可以选择与安装在客户端计算设备400处的本机应用的状态相对应的广告。例如,广告服务器600可以将广告672限于与通过本机应用id422指示的本机应用的状态对应的广告。在选择与本机应用id422对应的广告时,广告服务器600可以对广告进行排名(例如,评分)。在对广告进行排名时,广告服务器600可以将排名相对较高的广告(例如,前1-5条广告)包括在广告对象670中,而将排名相对较低的广告(例如,不在前5当中的广告)排除于广告对象670之外。

广告对象670可以是包括与由广告服务器600确定的广告672有关的信息的数据容器(例如,javascript对象表示法(json)文件、xml文件等)。对于每个广告672,广告对象670可以包括与广告672对应的本机应用id422。附加地,广告对象670可以包括标识由本机应用id422标识的本机应用内的正在被广告的特定状态的状态标识符(id)436。广告对象670可以包括广告文本678。广告文本678可以是正在通过广告672被广告的状态的名称或标题。广告对象670可以包括广告图像680。广告图像680可以是表示正在通过广告672被广告的状态的图像。最后,广告对象670可以包括提供对所广告的状态的直接访问的状态访问机制(am)442(例如,状态访问机制)。状态访问机制442可以包括引用所广告的状态(即,通过状态id436标识的状态424)的字符串。状态访问机制442可以指定可由客户端计算设备400执行的操作。例如,状态访问机制442可以通过包括标识所广告的状态并提供对其的访问的应用资源标识符(ari)或统一资源定位符(url),引用所广告的状态。或者,状态访问机制442可以是将本机应用从默认状态重定向到所广告的状态的脚本。

客户端计算设备400从广告服务器600接收广告对象670并且在应用启动器中显示广告672。客户端计算设备400可以通过将广告文本678显示为代替原始图标标题或除了原始图标标题之外附加的图标标题,显示广告672。附加地或可替代地,客户端计算设备400可以通过将广告(ad)图像680显示为代替原始图标图像或者除了原始图标图像之外附加的图标图像,显示广告672。如果存在涉及相同的本机应用(app)id422的多个广告672,则客户端计算设备400可以显示两个广告672的广告(ad)图像680-1、680-2代替原始图标图像。客户端计算设备400可以每t秒(例如,每5秒)在广告图像680-1、680-2之间切换。或者,客户端计算设备400可以显示广告图像680-1、680-2,使得广告图像680-1、680-2连续地滚动(例如,垂直地或水平地滚动)。

图4是移动计算设备400的示例框图。移动计算设备400可以包括扬声器402、话筒404、触摸屏显示器406、存储器410和计算处理器450。存储器410存储被安装在移动计算设备400上的本机应用420。每个本机应用420可以包括标识本机应用420的本机应用id422(在下文中称为应用id422)。每个本机应用420可以包括各种应用状态424(在下文中称为状态424)。每个状态424可以与不同的实体对应并且显示与该实体有关的信息。例如,本机评论应用内的特定状态可以与比萨店实体对应并且可以显示比萨店的来自群众的评论。本机应用420可以将状态424中的一种标识为当本机应用420被启动时显现(例如,显示)的默认启动状态424-d。本机应用420可以包括可被用作默认图标图像的应用图像426和可被用作默认图标标题的应用名称428。

在一些情况下,存储器410可以存储用于存储关于本机应用420的状态424的信息的状态数据仓库430。状态数据仓库430包括与本机应用420的状态424对应的状态记录434。每个状态记录434可以包括标识对应状态424的状态id436。状态记录434可以包括状态名称438。状态名称438可以是与状态424相关联的实体的名称。状态名称438可以是通过状态424显示的标题。状态记录434可以包括状态图像440。状态图像440可以是状态424的屏幕截图或状态424的一部分。或者,状态图像440可以是表示状态424的图像(例如,所广告的实体的徽标)。

状态记录434可以包括可用于将本机应用420启动到状态424中的状态访问机制442。状态访问机构442可用于在不通过本机应用420的默认状态导航的情况下直接访问状态424。状态访问机制442可以包括引用本机应用420和状态424的字符串。附加地,状态访问机制442可以指示移动计算设备400可执行的一个或多个操作。例如,状态访问机制442可以是标识状态424并提供对其的访问的应用资源标识符(ari)或统一资源定位符(url)。或者,状态访问机制442可以是将本机应用从默认状态424-d重定向到状态424的脚本。作为存储状态数据仓库430的替代方案,移动计算设备400可以从存储状态数据仓库430的服务器(例如,应用服务器)请求有关状态的信息。

存储器410可以存储应用启动器460。应用启动器460启动本机应用420。应用启动器460可以是本机应用420。或者,应用启动器460可以是操作系统或其一部分。应用启动器460显示本机应用420的图标。图标包括图标图像和图标标题。应用启动器460可以将应用图像426用作默认图标图像并且将应用名称428用作默认图标标题。在接收到对图标的用户选择时,应用启动器460可以将本机应用420启动到默认启动状态424-d中。

计算处理器450可以包括一个或多个传感器452、收发器454、显示电路456和一个或多个cpu458。参考传感器452,示例传感器452包括确定移动计算设备400的位置的位置传感器。该位置传感器可以使用全球定位系统(gps)和/或全球导航卫星系统(glonass)。传感器452可以包括加速计、磁力计、陀螺仪、温度计、指纹读取器等。传感器452捕获传感器测量结果。传感器452可以周期性地和/或响应于请求而捕获传感器测量结果。计算处理器450可以将由传感器452捕获的传感器测量结果存储在存储器410中。计算处理器450可以在稍后的时间从存储器410中检索所存储的传感器测量结果并且使用所检索到的传感器测量结果。例如,计算处理器450可以将传感器测量结果包括在广告请求470中。

显示电路456使触摸屏显示器406显示信息。显示电路456可以从触摸屏显示器406接收用户输入(例如,用户选择)。显示电路456可以包括显示驱动器。显示驱动器可以驱动触摸屏显示器406。例如,显示电路456可以包括可以驱动led显示器的发光二极管(led)驱动器。显示电路456可以驱动立体显示器(例如,自动立体3d显示器)。

收发器454使得能实现与广告服务器600的电子通信。收发器454可以包括蜂窝收发器,例如,lte收发器、高级lte收发器或5g(第五代移动网络)收发器。收发器454可以包括无线保真(wi-fi)收发器。收发器454可以包括zigbee收发器、蓝牙收发器(例如,低功耗蓝牙收发器)、近场通信(nfc)收发器等。收发器454可以经由有线通信与广告服务器600进行通信。例如,收发器454可以经由以太网电缆、usb电缆等与广告服务器600进行通信。

收发器454可以使得移动计算设备400能够与接近于移动计算设备400的电子设备进行通信。当移动计算设备400可经由短距离通信(例如,wi-fi、nfc、蓝牙、zigbee等)与电子设备进行通信时电子设备可以被称为与移动计算设备400接近。附加地或可替代地,当移动计算设备400与电子设备之间的距离小于阈值距离(例如,大约100英尺)时电子设备可以被称为与移动计算设备400接近。示例电子设备包括电器(例如,冰箱、电炉、烤箱、微波炉、咖啡机、烤面包机等)、家庭自动化设备(例如,恒温器、烟雾检测器、安全系统等)和自动车(例如,汽车、卡车、摩托车等)。在一些情况下,移动计算设备400可以经由与移动计算设备400接近的电子设备中的一个接收广告对象670。

cpu458能够执行使cpu458执行本机应用420和应用启动器460的计算机可读指令。cpu458可以基于精简指令集计算(risc)体系结构(例如,arm处理器)。或者,cpu458可以基于复杂指令集计算(cisc)体系结构(例如,x86处理器)。cpu458可以基于其它体系结构模型(例如,量子计算)。cpu458可以指单个cpu或指多个cpu(例如,双核、四核或八核)。cpu458可以包括通用cpu或专用cpu,例如,专用集成电路(asic)。cpu458可以执行本机应用420和应用启动器460。正在由cpu458执行的本机应用可以被称为活动本机应用420a并且它们的应用id可以被称为活动应用id422a。

应用启动器460启动本机应用420。应用启动器460响应于移动计算设备400接收到启动本机应用420的用户选择(例如,在接收到对与本机应用420对应的图标的用户选择时)而启动本机应用420。为了启动本机应用420,应用启动器460可以指示操作系统的内核启动本机应用420的进程。为了启动进程,内核可以分配用于管理操作的存储器,然后加载(例如,检索)与本机应用420对应的计算机可读指令。

应用启动器460可以包括请求广告672的广告请求器461。广告请求器461可以通过产生广告请求470并且经由收发器454将广告请求470发送到广告服务器600来请求广告672。广告请求器461可以捕获情境数据472(例如,通过从存储器410中检索情境数据472)。情境数据472的示例包括由传感器452取得的传感器测量结果、本机应用id422、活动应用id422a、搜索历史和由触摸屏显示器406显示的信息(例如,屏幕上信息)。可替代地或附加地,广告请求器461可以经由使得移动计算设备400的用户能够输入搜索查询480的搜索框接收搜索查询480。广告请求器461可通过创建(例如,实例化)包括情境数据472和/或搜索查询480的数据容器(例如,json文件、xml文件等)来产生广告请求470。

应用启动器460接收广告对象670。应用启动器460可以响应于发送广告请求470而接收广告对象670。或者,应用启动器460可以在没有发送广告请求470(例如,广告被推送给应用启动器460)的情况下接收广告对象670。应用启动器460显示包括在广告对象670中的广告672。应用启动器460可通过修改或替换用于启动本机应用422的图标的图标标题和/或图标图像来显示广告672。

应用启动器460可以包括确定被显示在图标内的图标图像的图标图像确定器462。图标图像确定器462可以通过检索由本机应用420指示的应用图像426来确定图标的图标图像。图标图像确定器462可以对应用图像426进行格式化。例如,图标图像确定器462可以将应用图像426的大小调整为适合于用作图标图像的大小。

图标图像确定器462可以替换或修改图标图像以显示广告672。如果广告672指定广告图像680,则图标图像确定器462可将广告图像680用作图标图像。为了将广告图像680用作图标图像,图标图像确定器462可以用广告图像680替换应用图像426。或者,图标图像确定器462可以通过每t秒(例如,每5秒)在广告图像680与应用图像426之间交替来显示广告图像680和应用图像426。或者,图标图像确定器462可同时显示广告图像680和应用图像426。例如,图标图像确定器462可以将广告图像680叠加到应用图像426的一部分上。在一些情况下,广告672可以不包括广告图像680。如果广告672包括状态id436,则图标图像确定器462可以将与状态id424相关联的状态图像440用作图标图像。

图标图像确定器462可以通过将广告文本678叠加到图标图像上来修改图标图像。作为替换当前图标图像的替代方案,图标图像确定器462可以将广告文本678叠加到图标图像上。例如,图标图像确定器462可以继续将应用图像426用作图标图像并且将广告文本678叠加到应用图像426上。图标图像确定器462可以除了替换当前图标图像之外还将广告文本678叠加到图标图像上。

应用启动器460可以包括确定在图标内显示的图标标题的图标标题确定器464。图标标题可以显示为与图标图像相邻(例如,在图标图像下面)。图标标题确定器464可以通过检索本机应用420的应用名称428来确定图标的图标标题。图标标题确定器464可以对应用名称428进行格式化。例如,图标标题确定器464可以将应用名称428截短为适合于用作图标标题的大小(例如,少于阈值数量的字符,例如少于10个字符)。

图标标题确定器464可以替换或修改图标标题以显示广告672。如果广告672指定广告文本678,则图标标题确定器464可以将广告文本678用作图标标题。为了将广告文本678用作图标标题,图标标题确定器464可以用广告文本678替换应用名称428。或者,图标标题确定器464可以通过每t秒(例如,每5秒)在广告文本678与应用名称428之间交替来显示广告文本678和应用名称428。在此类实现中,图标标题确定器464可以利用对秒进行计数的计数器来确定t秒的周期何时已经过。或者,图标标题确定器464可同时显示广告文本678和应用名称428。例如,图标标题确定器464可以将广告文本678显示为与应用名称428相邻(例如,在应用名称428下面)。在一些情况下,广告672可以不包括广告文本678。如果广告672包括状态id436,则图标标题确定器464可以将与状态id424相关联的状态名称438用作图标标题。

应用启动器460可以包括确定本机应用420被启动到的状态424的启动状态确定器466。启动状态确定器466可以将默认启动状态424-d用作本机应用420被启动到的状态424。启动状态确定器466可以将本机应用420启动到通过广告672标识的状态424中。如果广告672包括对所广告的状态的状态访问机制442,则启动状态确定器466可以将本机应用420直接启动到所广告的状态而不是默认启动状态424-d中。如果广告672不包括状态访问机制442,则启动状态确定器466可以使用通过广告672指示的状态id436从状态数据仓库430中检索状态访问机制442。

应用启动器460可以包括呈现(例如,显示)图标的图标呈现器468。图标呈现器468通过显示由图标图像确定器462确定的图标图像和由图标标题确定器464确定的图标标题来呈现图标。图标呈现器468可以检测对图标的用户选择并且响应于检测到用户选择而启动所对应的本机应用。图标呈现器468将本机应用420启动到由启动状态确定器466确定的状态424中。例如,图标呈现器468可以将本机应用420启动到默认启动状态424-d中。或者,图标呈现器468可以将本机应用启动到通过包括在广告672中的状态id436标识的所广告的状态中。

图5是可由移动计算设备(例如,客户端计算设备)执行以在应用启动器中显示广告的示例方法500的框图。方法500可以被实现为由移动计算设备的计算处理器执行的一组计算机可读指令。在一些情况下,方法500的一部分可以由服务器(例如,广告服务器)处的处理设备来执行。在510,移动计算设备经由应用启动器显示本机应用的图标。图标包括图标图像和/或图标标题。图标图像可以是与本机应用相关联的图像。例如,图标图像可以包括与本机应用相关联的商标。图标标题可以是与本机应用相关联的文本字符串。例如,图标标题可以包括与本机应用相关联的商标名称。图标标题可以包括本机应用的名称。应用启动器可以在接收到对图标的用户选择时将本机应用启动到本机应用的默认状态中。本机应用可能会指示其默认状态。

在520,移动计算设备向广告服务器请求广告。请求广告可以包括捕获情境数据(在522)或接收搜索查询(在524)。捕获情境数据可以包括捕获移动计算设备的传感器取得的传感器测量结果。示例传感器测量结果包括移动计算设备的位置、移动计算设备的时区、加速计读数、磁力计读数、陀螺仪读数等。捕获情境数据可以包括检索安装在移动计算设备处的本机应用的应用id。附加地或可替代地,捕获情境数据可以包括检索当前活动应用的应用标识符。以这种方式,情境数据可以标识当前活动(例如,当前正由移动计算设备的计算处理器执行)的本机应用的应用id。在一些实现中,情境数据进一步指示用于指示当前正由活动应用访问的应用的一个或多个状态的状态信息。在这些实现中的一些中,情境数据可以包括或指示屏幕上信息(例如,当前被显示在移动计算设备的触摸屏显示器上的信息)。

关于524,移动计算设备可以经由移动计算设备的用户可在其中输入搜索项的搜索框接收搜索查询。或者,移动计算设备可以经由移动计算设备的话筒接收作为来自用户的音频输入的搜索查询。应用启动器可以将搜索框连同本机应用的图标一起显示在移动计算设备的主屏幕上。

在526,移动计算设备使新的广告请求实例化。该广告请求可以包括移动计算设备可使用情境数据、搜索查询和/或任何其它适合的数据来参数化(例如,填充)的未参数化变量(例如,未填充变量)。移动计算设备可产生表示广告请求的数据容器。数据容器可以是json文件、xml文件或可用于传输数据的任何其它适合的数据对象。广告请求可以包括在522捕获的情境数据和/或在524接收到的搜索查询。

在528,移动计算设备将广告请求发送到广告服务器。移动计算设备经由移动计算设备的收发器发送广告请求。移动计算设备可以周期性地发送广告请求。可替代地或附加地,移动计算设备可以响应于检测到触发而发送广告请求。例如,移动计算设备可以响应于移动计算设备显示主屏幕而发送广告请求。移动计算设备可以响应于移动计算设备接收到搜索查询而发送广告请求。

在530,移动计算设备从广告服务器接收广告。移动计算设备可以响应于将广告请求发送到广告服务器而接收广告。或者,移动计算设备可以不管广告请求都接收广告。移动计算设备可以在表示广告对象的数据容器(例如,json文件、xml文件等)中接收广告。广告对象可以包括与广告有关的信息。例如,广告可以标识与该广告相关联的本机应用。广告也可以通过指示本机应用内的特定状态来标识所广告的状态。广告可以包括提供对所广告的状态的直接访问的状态访问机制(例如,访问url、脚本或宏)。广告可以包括可用于修改与广告相关联的本机应用的图标图像的广告图像。类似地,广告可以包括可用于修改与该广告相关联的本机应用的图标标题的广告文本。

在540,移动计算设备在应用启动器中显示广告。移动计算设备可以使用各种技术来在应用启动器中显示广告。例如,在550,移动计算设备可以通过用广告图像替换当前图标图像来显示广告。附加地或可替代地,在560,移动计算设备可以通过用广告文本替换当前图标标题来显示广告。不是替换当前图标图像,而是移动计算设备可以基于广告修改图标图像(在570)。类似地,不是替换当前图标标题,而是移动计算设备可以基于广告修改当前图标标题(在580)。

参考550,移动计算设备基于广告确定广告图像(在552)。移动计算设备可以通过从广告对象中检索广告图像来确定广告图像。或者,如果广告对象不包括广告图像,则移动计算设备可以从数据仓库中检索与本机应用的所广告的状态对应的图像(例如,状态图像)。或者,如果广告对象不标识所广告的状态,则移动计算设备可以标识广告对象中的广告文本并且将该广告文本转换成图像格式(例如,转换成jpeg、gif、位图等)。

在554,移动计算设备用在552确定的广告图像替换当前图标图像(例如,默认图标图像)。移动计算设备可以替换特定图标(例如,与广告相关联的本机应用的图标)的当前图标图像。或者,移动计算设备可以替换多个图标(例如,甚至可能不与广告相关联的本机应用的图标)的当前图标图像。

在556,移动计算设备显示经修改的图标。经修改的图标可以静态地显示在552确定的广告图像。或者,经修改的图标可以动态地显示广告图像。例如,如果存在多个广告图像,则经修改的图标可以通过在不同的广告图像之间交替(例如,通过滚动广告图像或每t秒(例如,每5秒)改变广告图像)来显示多个广告图像。动态地显示广告图像的另一示例是在默认图标图像与广告图像之间交替(例如,通过每t秒在默认图标图像与广告图像之间切换,例如通过滚动默认图标图像和广告图像)。

参考560,移动计算设备基于广告确定广告文本(在562)。移动计算设备可以通过从广告对象中检索广告文本来确定广告文本。或者,如果广告对象不包括广告文本,则移动计算设备可以从数据仓库(例如,存储关于本机应用的状态的信息的状态数据仓库)中检索本机应用的所广告的状态的名称(例如,状态名称)。

在564,移动计算设备用在562确定的广告文本替换当前图标标题(例如,默认图标标题)。移动计算设备可以替换特定图标(例如,与广告相关联的本机应用的图标)的当前图标标题。或者,移动计算设备可以替换多个图标(例如,甚至可能不与广告相关联的本机应用的图标)的当前图标标题。

在566,移动计算设备显示经修改的图标。经修改的图标可以静态地显示在562确定的广告文本。或者,经修改的图标可以动态地显示广告文本。例如,如果存在多个广告文本字符串,则经修改的图标可以通过在不同的广告文本字符串之间交替(例如,通过滚动广告文本字符串或每t秒(例如,每5秒)改变广告文本字符串)来显示多个广告文本字符串。动态地显示广告文本的另一示例是在默认图标标题与广告文本之间交替(例如,通过每t秒在默认图标标题与广告文本之间切换,例如通过滚动默认图标标题和广告文本)。

参考570,移动计算设备可以通过修改当前图标图像而不是用广告图像替换当前图标图像来显示广告。例如,移动计算设备可以将广告文本(在562确定)叠加到当前图标图像上(在574)。移动计算设备可以确定广告文本的大小和/或位置,使得当前图标图像的主要部分仍然是可见的且可辨认的。例如,移动计算设备可以调整广告文本的大小,使得广告文本覆盖小于当前图标图像的阈值百分比(例如,小于25%)。此外,移动计算设备可以将广告文本定位到当前图标图像的底部或顶部,使得广告文本不遮蔽通常是图标图像的更特殊的部分的当前图标图像的中心部分。

在576,移动计算设备显示具有叠加到当前图标图像上的广告文本的经修改的图标。移动计算设备可以以静态方式显示广告文本。例如,广告文本可以保持被显示在相同位置中。或者,移动计算设备可以动态地显示广告文本。例如,广告文本可以动来动去(例如,在当前图标图像内跳动)。或者,移动计算设备可以显示广告文本,使得广告文本从右向左或从左向右滚动。

参考570,在一些实现中,移动计算设备可通过减小(例如,收缩)当前图标图像并在先前被该图标图像占据的区域中显示广告图像,修改当前图标图像(例如,默认图标图像)。换句话说,移动计算设备可同时显示广告图像和默认图标图像。移动计算设备可以在接收到对广告图像的用户选择时将本机应用启动到所广告的状态中。此外,移动计算设备可以在接收到对默认图标图像的缩小版本的用户选择时将本机应用启动到默认状态中。有利地,移动计算设备可使得移动计算设备的用户能够通过按压图标的一个部分来将本机应用启动到所广告的状态中或者通过按压图标的另一部分来将本机应用启动到默认状态中。

参考580,移动计算设备可以通过修改图标标题而不是替换图标标题来显示广告。例如,在584,移动计算设备可以在当前图标标题下面显示广告文本(在562确定)。如果存在与不同的广告对应的多个广告文本字符串,则移动计算设备可以通过在这些广告文本字符串之间交替来显示广告文本字符串。例如,移动计算设备可以每t秒(例如,5秒)显示不同的广告文本字符串。

在586,移动计算设备显示具有显示在当前图标标题(例如,默认图标标题)下面的广告文本的经修改的图标。移动计算设备可以以静态方式显示广告文本。例如,移动计算设备可以显示广告文本,使得该广告文本保持不动。或者,移动计算设备可以以动态方式显示广告文本(例如,使得广告文本移动)。例如,移动计算设备可以显示广告文本,使得该广告文本从右向左或从左向右滚动。

显示广告(在540)也可以包括修改本机应用的启动状态。移动计算设备可以将本机应用启动到的状态从默认启动状态改变为所广告的状态。如果广告包括指向所广告的状态的状态访问机制(例如,访问url、脚本或宏),则移动计算设备可以通过使用由该广告指定的状态访问机制来启动本机应用而修改启动状态。如果广告对象未指定对所广告的状态的状态访问机制,则移动计算设备可以从数据仓库(例如,状态数据仓库)中检索对所广告的状态的状态访问机制。

显示广告(在540)也可以包括在应用启动器中显示通过本机应用的所广告的状态显示的信息。移动计算设备可以检索本机应用的所广告的状态显示的某些信息并且在应用启动器中显示该信息。移动计算设备可以通过将信息叠加到图标图像上来显示该信息。例如,如果本机评论应用的所广告的状态显示对glopizza的评级,则移动计算设备可以检索该评级并通过将该评级叠加到图标图像上来显示评级。移动计算设备可以从广告服务器接收通过所广告的状态显示的信息(例如,作为广告对象的一部分)。或者,移动计算设备可以通过对如下各项进行api调用来检索通过所广告的状态显示的信息:托管本机应用的应用服务器;与本机应用相关联的网站;或在移动计算设备上执行的本机应用的实例。

图6是广告服务器600的示例框图。广告服务器600从移动计算设备400接收广告请求470并且响应于广告请求470而提供广告672。广告服务器600可以包括网络通信设备610、存储设备620和处理设备640。广告服务器600可以由云计算平台来实现。云计算平台可以包括远程计算服务的集合。云计算平台可以包括计算资源(例如,处理设备640)。计算资源可以包括服务器(例如,物理服务器或虚拟服务器)。云计算资源可以包括存储资源(例如,存储设备620)。存储资源可以包括支持nosql、mysql、oracle、sqlserver等的数据库服务器。云计算平台可以包括联网资源(例如,网络通信设备610)。例如,联网资源可以将传入的对事件通知的请求分配到多个虚拟专用服务器。示例云计算平台包括amazonwebgooglecloudmicrosoftazuretm和alibabaaliyuntm。广告服务器600可以是为本机应用服务的应用服务器的一部分。广告服务器600可以是为多个本机应用服务的第三方服务提供者的一部分。广告服务器600可以是提供搜索结果的搜索引擎的一部分。

网络通信设备610与网络(例如,图3中示出的网络310)进行通信。网络通信设备610可以包括执行有线通信(例如,经由以太网、通用串行总线(usb)或光缆)的通信接口。网络通信设备610可以执行无线通信(例如,经由wi-fi、蓝牙、低功耗蓝牙(ble)、nfc、zigbee、蜂窝网络或卫星)。网络通信设备610可以包括收发器。收发器可以依照电气与电子工程师协会(ieee)规范(例如,ieee802.3或ieee802.11)来操作。收发器可以依照第三代合作伙伴计划(3gpp)规范(例如,码分多址(cdma)、长期演进(lte)或高级lte)来操作。收发器可以依照通用串行总线(usb)规范(例如,经由usb端口)来操作。

存储设备620存储数据。存储设备620可以包括一个或多个计算机可读存储介质。例如,存储设备620可以包括固态存储器设备、硬盘存储器设备、光盘驱动器、只读存储器和/或基于纳米管的存储设备。存储设备620可以经由总线和/或网络连接到处理设备640。存储设备620内的不同的存储介质可以位于相同的物理位置(例如,在相同的数据中心、相同的机架或相同的机壳中)。存储设备620的不同的存储介质可以是分布式的(例如,在不同的数据中心、不同的机架或不同的机壳中)。存储设备620可以实现(例如,存储)广告数据仓库622。

广告数据仓库622存储与广告672对应的广告记录624。广告记录624可以包括标识与广告记录624对应的本机应用的本机应用id422。广告记录624可以包括标识正在被广告的本机应用的状态(例如,所广告的状态)的状态id436。广告记录624可以包括广告文本678。广告文本678可以包括包含字母数字字符的字符串。例如,广告文本678可以是商品名称(例如,品牌名称)。广告记录624可以包括广告图像680。广告图像680可以是商标(例如,品牌图像)。广告图像680可以是jpeg、gif、位图或任何其它适合的图像格式。广告图像680可以包括形成广告视频的图像序列。

广告记录624可以包括提供对所广告的状态(例如,通过状态id436所标识的状态)的直接访问的状态访问机制442。状态访问机制442可以包括引用所广告的状态的字符串。状态访问机制442可以指示移动计算设备可执行的操作。状态访问机制442可以通过包括标识所广告的状态并提供对其的访问的应用资源标识符(ari)或统一资源位置(url)来引用所广告的状态。或者,状态访问机制442可以包括在本机应用被启动之后自动地将本机应用从默认状态导向所广告的状态的脚本或宏。状态访问机制442可以使用其它适合的技术来提供对所广告的状态的访问。广告记录624可以包括与广告记录624相关联的位置684。位置684可以指示与广告记录624对应的广告672可能相关的地理区域。广告记录624可以包括指示与广告记录624对应的广告672可能相关的特定时间或持续时间的时间686。广告数据仓库622可以包括一个或多个数据库、索引(例如,倒排索引)、表、查找表(lut)、文件或其它数据结构。

处理设备640可以包括执行计算机可读指令的一个或多个计算处理器的集合。处理设备640的计算处理器可以独立地或以分布方式操作。计算处理器可以经由总线和/或网络连接。计算处理器可以位于相同的物理设备(例如,相同的机壳)中。计算处理器可以位于不同的物理设备(例如,例如在分布式计算系统中的不同的机壳)中。计算处理器可以包括物理中央处理器(pcpu)。pcpu可以执行计算机可读指令以实现虚拟中央处理器(vcpu)。处理设备640可以执行与广告选择器642、广告评分器646和广告对象确定器650对应的计算机可读指令。

广告选择器642基于广告请求470从广告数据仓库622中选择广告记录624。广告选择器642可以选择与安装在移动计算设备400上处的本机应用对应的广告记录624。广告选择器642可以利用将本机应用id422标引到广告记录624的倒排索引。广告选择器642可以使用包括在广告请求470中的其它信息来选择广告记录624。例如,广告选择器642可以使用被包括在广告请求470中的移动计算设备400的位置来选择在该位置处可能相关的广告记录624。广告选择器642可以利用将位置684标引到广告记录624的倒排索引。

类似地,广告选择器642可以使用移动计算设备400的时区中的当前时间来选择在当前时间可能相关的广告记录624。广告选择器642可以利用将时间686标引到广告记录624的倒排索引。例如,广告选择器642可以利用数据项(例如,位置、时间、关键词等)查询倒排索引,并且倒排索引可通过提供标识广告记录624的广告记录标识符来标识广告记录624。或者,广告选择器642可以例如通过搜索满足通过情境数据472所指示的时间约束的广告记录624,使用基于约束的搜索。广告选择器642可以使用位置和时间的组合来选择广告记录624。例如,如果广告请求470指示移动计算设备400在星期一至星期五上午11:45与下午12:45之间正在移动并且在glopizza店的3个街区内,则广告选择器642可选择与glopizza对应的广告记录624。广告选择器642可以使用任何其它适合的技术来选择广告记录624(例如,实体出价、基于预订标签的定向广告等)。

广告评分器646可以对所选择的广告记录进行评分以确定每个所选择的广告记录的相关性分数。广告评分器646可以在对所选择的广告记录进行评分时使用各种评分特征。例如,广告评分器646可以将位置用作评分特征。与更靠近移动计算设备400的位置684相关联的广告记录与具有离移动计算设备400较远的位置684的广告记录相比可以接收到较高的分数。类似地,广告评分器646可以将时间用作评分特征。与更靠近移动计算设备400处的当前时间的时间686相关联的广告记录624与具有离移动计算设备400的当前时间较远的时间686的广告记录624相比可以接收到较高的分数。广告评分器646可以使用任何其它适合的评分特征来对所选择的广告记录进行评分。广告评分器646可以使用利用评分特征的组合的评分函数或评分模型。例如,评分模型可以使用位置、时间和任何其它适合的评分特征的组合。

广告对象确定器650产生表示广告对象670的数据容器。广告对象确定器650从广告数据仓库622中检索所选择的广告记录的信息并将该信息包括在广告对象670中。广告对象确定器650可以将来自所有所选择的广告记录的信息包括在广告对象670中。或者,广告对象确定器650可以将评分最高的广告记录的信息包括在广告对象670中。例如,广告对象确定器650可以包括评分高于分数阈值的广告记录624的信息。对于每个广告672,广告对象确定器650可以包括本机应用id422、状态id436、广告文本678、广告图像680和状态访问机制442。广告对象确定器650使用网络通信设备610来将广告对象670发送到移动计算设备400。

图7a是可以由服务器(例如,广告服务器、应用服务器等)用来确定可由客户端计算设备经由应用启动器来显示的广告的示例方法700的框图。方法700可以被实现为由服务器的处理设备执行的一组计算机可读指令。

在710,广告服务器接收广告请求。广告服务器可以直接从客户端计算设备或通过伙伴计算系统(例如,互联网搜索提供者、社交网络平台、蜂窝服务提供者等)接收广告请求。广告请求可以包括搜索查询和/或指示客户端计算设备的情境的情境数据。情境数据可以包括标识安装在客户端计算设备处的本机应用的应用id。附加地,情境数据可以包括由客户端计算设备的传感器捕获的传感器测量结果。示例传感器测量结果可以包括客户端计算设备的位置、客户端计算设备的时区、加速计读数、磁力计读数、陀螺仪读数等。情境数据也可以指示安装在客户端计算设备处的本机应用中的哪些当前是活动的或先前是活动的(例如,当前在被执行或者先前在被执行)。此外,情境数据可以包括屏幕上信息(例如,当前或先前在客户端计算设备处显示的信息)。

在720,广告服务器确定与安装在客户端计算设备处的本机应用的状态对应的广告。广告服务器可以利用将应用id标引到广告数据仓库中的广告记录的倒排索引。例如,广告服务器可以基于情境数据选择广告记录。在一些情况下,广告服务器可以选择与客户端计算设备的位置对应的广告记录。在其它情况下,广告服务器可以选择与客户端计算设备的时区中的当前时间对应的广告记录。例如,对glopizza的广告记录在午餐时间(例如,下午12点至下午2点)期间或在晚餐时间(例如,下午6点至下午8点)期间可能是更相关的。例如,如果客户端计算设备的时区中的当前时间是下午12:15,则广告服务器可选择对glopizza的广告记录,因为当前时间在与广告记录相关联的时间范围内。广告服务器可以使用其它各种技术以从广告数据仓库中选择广告记录(例如,实体出价、基于预订标签的定向广告等)。

在730,广告服务器对所选择的广告记录进行评分以确定每个所选择的广告记录的相关性分数。广告服务器可以使用各种特征来确定相关性分数。在一些示例中,广告服务器在对广告记录进行评分时将位置用作特征。例如,广告服务器可以向与更靠近客户端计算设备的位置对应的广告记录赋予较高的分数,而向与离客户端计算设备较远的位置对应的广告记录赋予较低的分数。在其它示例中,广告服务器可以在对广告记录进行评分时将时间用作特征。例如,广告服务器可以向与更靠近客户端计算设备处的当前时间的时间对应的广告记录赋予较高的分数,而向与离客户端计算设备处的当前时间较远的时间对应的广告记录赋予较低的分数。广告服务器可以使用任何其它适合的特征来对广告记录进行评分。广告服务器可以使用机器学习排名器来确定所选择的广告记录的相关性分数,所述机器学习排名器使用考虑多个特征(例如,所有特征)的模型(例如,非线性模型)。图7b例示了广告服务器可用来确定相关性分数的示例技术。

在740,广告服务器基于相关性分数选择阈值数量的广告记录(例如,前1-5个)。广告服务器可以选择具有最高相关性分数的阈值数量的广告记录。或者,广告服务器可以选择具有高于阈值分数的相关性分数的广告记录。阈值数量和/或阈值分数可以由广告服务器和/或客户端计算设备来设定。

对于被选择的每个广告记录,广告服务器确定表示所广告的状态的图标图像(例如,广告图像)(在750)。广告服务器也可以确定表示所广告的状态的图标标题(例如,广告文本)(在760)并且确定用于访问所广告的状态的状态访问机制(在770)。图7c至图7e分别例示了广告服务器可以用来确定图标图像、图标标题和状态访问机制的示例技术。

在780,广告服务器产生(例如,实例化)表示广告对象的数据容器。广告对象包括广告服务器在740选择的各种广告。广告对象也可以包括广告服务器为每个广告所确定的图标图像、图标标题和状态访问机制。数据容器可以是json文件、xml文件或任何其它适合的数据交换格式。

在790,广告服务器将广告对象发送到客户端计算设备。广告服务器可以将广告对象直接发送到客户端计算设备。或者,广告服务器可以经由伙伴计算系统将该广告对象发送到客户端计算设备。在一些情况下,即使客户端计算设备最近可能尚未发送广告请求,广告服务器也可以将广告对象发送到客户端计算设备。在这种情况下,广告服务器可以基于先前的广告请求(例如,一天前或一周前发送的广告请求等)来确定广告对象中的广告。

图7b是例示了广告服务器可以用来确定相关性分数的示例技术的框图。参考732,广告服务器可以基于位置确定广告记录的相关性分数。广告记录可能与位置相关联。例如,对glopizza的广告记录可能与glopizza周围2平方英里的区域相关联。

在732-1,广告服务器标识客户端计算设备的位置。广告服务器可以基于从客户端计算设备接收到的情境数据中包括的传感器测量结果,标识客户端计算设备的位置。或者,广告服务器可以向蜂窝基础设施中的网络节点(例如,归属位置寄存器(hlr))请求客户端计算设备的位置。

在732-2,广告服务器基于客户端计算设备的位置和与广告记录相关联的位置来确定广告记录的相关性分数。广告服务器可以计算客户端计算设备的位置到与广告记录相关联的位置的距离。该距离表示用户离所广告的位置的距离。广告服务器可以基于该距离向广告记录赋予相关性分数。例如,广告服务器可以将该距离包括在由评分模型(例如,机器学习评分模型)用来计算广告记录的相关性分数的特征向量中。

参考734,广告服务器可基于时间确定广告记录的相关性分数。广告记录可以与特定时间或时间段相关联。例如,与餐馆对应的广告记录和与夜总会对应的广告记录相比在午餐时间附近可能是更相关的。

在734-1,广告服务器标识客户端计算设备处的当前时间。广告请求可以指示客户端计算设备处的当前时间。或者,广告请求可以指示客户端计算设备的时区并且广告服务器可以向互联网时间服务器查询客户端计算设备的时区中的当前时间。

在734-2,广告服务器基于客户端计算设备处的当前时间和与广告记录相关联的时间来确定广告记录的相关性分数。如果与广告记录相关联的时间和客户端计算设备处的当前时间在阈值时间差内,则广告服务器可向广告记录赋予相对较高的分数。否则,如果与广告记录相关联的时间和客户端计算设备处的当前时间相距超过阈值时间差,则广告服务器可向广告记录赋予相对较低的分数。

参考736,广告服务器可基于实体比较确定广告记录的相关性分数。广告记录可以与不同的实体相关联。在736-1,广告服务器可标识与广告请求相关联的实体。例如,广告服务器可以标识搜索查询的搜索项内的实体。或者,广告服务器可以基于屏幕上信息标识实体。

在736-2,广告服务器可向与和广告请求中的实体匹配的实体相关联的广告记录赋予较高的分数。类似地,广告服务器可向与和广告请求中的实体不匹配的实体相关联的广告记录赋予较低的分数。广告服务器可以使用二元评分特征来指示广告记录是否包括和广告请求中的实体匹配的实体。例如,如果广告记录和广告请求共享公共实体,则广告服务器可以将二元评分特征设定为值“1”。类似地,如果广告记录和广告请求不共享公共实体,则广告服务器可以将二元评分特征设定为值“0”。广告服务器可以将二元评分特征包括在由评分模型用来计算广告记录的相关性分数的特征向量中。广告服务器可以使用任何适合的技术来辨认广告请求中的实体。

图7c是例示了广告服务器可用来确定用于表示所广告的状态的图标图像的示例技术的框图。参考752,广告服务器可以访问存储与本机应用的状态相关联的图像的数据仓库(例如,状态数据仓库)(在752-1)。广告服务器可以利用将状态id标引到状态图像的倒排索引。在752-2,广告服务器从状态数据仓库中检索所广告的状态的状态图像。广告服务器可以调整状态图像的大小,使得状态图像可被显示为图标图像。例如,如果状态图像比典型图标图像大得多,则广告服务器可以按比例缩小状态图像。

参考754,如果广告服务器未存储所广告的状态的图像,则广告服务器可进行api调用以请求图像(在754-1)。广告服务器可将api调用导向托管本机应用的应用服务器。或者,广告服务器可对与本机应用相关联的网站或者对当前正在执行的本机应用的实例进行api调用。在754-2,广告服务器响应于api调用而接收所请求的图像。广告服务器可以将所接收到的图像用作表示所广告的状态的图标图像。

参考756,如果不能从数据仓库或者通过api调用获得图标图像,则广告服务器可以产生图标图像。在756-1,广告服务器可以启动本机应用的实例。广告服务器可以在对客户端计算设备仿真的仿真器中启动本机应用。一旦本机应用被启动,本机应用就可以启动到本机应用的默认状态中。

在756-2,广告服务器导航到本机应用的所广告的状态。广告服务器可以通过选择本机应用中的特定图形用户界面(gui)元素来导航到所广告的状态。或者,广告服务器可以将本机应用直接启动到所广告的状态中(例如,通过使用对所广告的状态的状态访问机制)。在756-3,广告服务器通过捕获屏幕截图来产生表示所广告的状态的图标图像。广告服务器可以捕获所广告的状态的一部分的屏幕截图。或者,广告服务器可以捕获整个所广告的状态的屏幕截图。

图7d是例示了广告服务器可以用来确定用于表示本机应用的所广告的状态的图标标题的示例技术的框图。参考762,广告服务器可以访问存储本机应用的状态的名称的数据仓库(例如,状态数据仓库)(在762-1)。广告服务器可以利用将状态id标引到状态名称的倒排索引。在762-2,广告服务器从状态数据仓库中检索所广告的状态的状态名称。广告服务器可以修改状态名称,使得状态名称可被显示为图标标题。例如,如果状态名称比阈值数量的符数长,则广告服务器可以截短状态名称。

参考764,如果广告服务器未存储所广告的状态的名称,则广告服务器可进行api调用以请求名称(在764-1)。广告服务器可将api调用导向托管本机应用的应用服务器。或者,广告服务器可以对与本机应用相关联的网站或者对当前正在执行的本机应用的实例进行api调用。在764-2,广告服务器响应于api调用而接收所请求的名称。广告服务器可以将所接收到的名称用作表示所广告的状态的图标标题。

参考766,如果不能从数据仓库或者通过api调用获得图标标题,则广告服务器可以产生图标标题。广告服务器可以通过爬行和抓取本机应用和/或与本机应用相关联的网站来产生图标标题。在766-1,广告服务器可以启动本机应用的实例。在766-2,广告服务器导航到本机应用的所广告的状态。广告服务器可以通过选择本机应用中的特定图形用户界面(gui)元素来导航到所广告的状态。或者,广告服务器可以将本机应用直接启动到所广告的状态中(例如,通过使用对所广告的状态的状态访问机制)。在766-3,广告服务器通过捕获所广告的状态的标题来产生表示所广告的状态的图标标题。广告服务器可以通过标识使用模式词汇表(例如,schema.org)的元标签以指示该元标签内封装有标题来捕获标题。

图7e是例示了广告服务器可以用来确定用于访问本机应用的所广告的状态的状态访问机制的示例技术的框图。参考772,广告服务器可以访问存储对本机应用的状态的访问机制的数据仓库(例如,状态数据仓库)(在772-1)。广告服务器可以利用将状态id标引到访问机制的倒排索引。在772-2,广告服务器从状态数据仓库中检索所广告的状态的状态访问机制。状态访问机制可以包括标识所广告的状态并提供对其的访问的应用资源标识符(ari)或url。或者,状态访问机制可以包括将本机应用从默认状态重定向到所广告的状态的脚本。

参考774,如果广告服务器未存储对所广告的状态的状态访问机制,则广告服务器可进行api调用以请求状态访问机制(在774-1)。api调用可以包括标识所广告的状态的状态id。附加地,api调用可以指示移动计算设备的操作平台(例如,操作系统版本等)。广告服务器可以将api调用导向托管本机应用的应用服务器。或者,广告服务器可以对与本机应用相关联的网站或者对当前正在执行的本机应用的实例进行api调用。在774-2,广告服务器响应于api调用而接收所请求的访问机制。广告服务器可以使用所接收到的访问机制将本机应用直接启动到所广告的状态而不是默认状态中。

参考776,如果不能从数据仓库或者通过api调用获得状态访问机制,则广告服务器可以产生状态访问机制。在776-1,广告服务器可以启动本机应用的实例。在776-2,广告服务器导航到本机应用的所广告的状态。广告服务器可以通过选择本机应用中的特定图形用户界面(gui)元素来导航到所广告的状态。在766-3,广告服务器通过捕获所广告的状态的访问url来产生对所广告的状态的状态访问机制。或者,广告服务器可以通过产生可将客户端计算设备从本机应用的默认状态重定向到本机应用的所广告的状态的脚本(例如,通过记录宏),产生对所广告的状态的状态访问机制。

图8a和图8b是例示了移动计算设备800通过在阈值时间量(例如,t秒,例如5秒)之后改变广告来在应用启动器中显示广告的图。移动计算设备800(例如,应用启动器)可以确定阈值时间量(例如,基于用户输入)。或者,广告服务器可以指定阈值时间量(例如,经由广告对象)。移动计算设备800可以通过改变图标图像、图标标题和/或叠加在图标图像之上的信息来改变在应用启动器中显示的广告。

在图标810和810′的示例中,移动计算设备800通过将图标标题814修改为图标标题814′并且通过用叠加的信息816′替换叠加的信息816来改变广告。然而,移动计算设备800可以不改变图标图像812。在图标820和820′的示例中,移动计算设备800通过将图标标题824修改为图标标题824′来改变广告。然而,移动计算设备800不改变图标图像822。在图标830和830′的示例中,移动计算设备800通过用图标图像832′替换图标图像832并且通过将图标标题834修改为图标标题834′来改变广告。在图标840的示例中,移动计算设备800不改变通过图标840所显示的广告。

图9a和图9b是例示了移动计算设备900通过垂直地或水平地滚动广告图像来在应用启动器中显示广告的图。参考图9a,移动计算设备900(例如,应用启动器)显示图标(例如,图标910,……,940)。每个图标显示图标图像(例如,图标图像912,……,942)。图标图像通过在由箭头950指示的一个方向上(例如,向上或向下)滚动广告图像(例如,广告图像912-1,912-2,……,942-2)来显示广告。参考图9b,移动计算设备900显示通过在由箭头950′指示的一个方向上(例如,从右向左或从左向右)滚动广告图像912-1,……,942-2来显示广告的图标910′,……,940′。

图10a和图10b是例示了移动计算设备1000通过基于搜索查询用广告图像替换图标图像来在应用启动器中显示广告的图。移动计算设备1000包括使得用户能够通过在搜索框1002中输入搜索查询1004来搜索本机应用的应用启动器。应用启动器可以使用搜索查询1004来进行本地搜索(例如,设备上搜索)和互联网搜索。对于互联网搜索,应用启动器可以基于搜索查询1004显示建议1006。对于本地搜索,应用启动器显示基于搜索查询1004显示一个或多个图标1010的应用托盘1008。图标1010包括图标图像1012和图标标题1014。应用启动器可以响应于图标标题1014和搜索查询1004匹配而将图标1010显示在应用托盘1008中。

参考图10b,移动计算设备1000(例如,应用启动器)可以通过图标1010′在应用托盘1008中显示广告。例如,应用启动器可以用广告图像1012′替换图标图像1012。附加地,应用启动器可以将广告文本1016叠加到广告图像1012′上。尽管在图10b的示例中,图标标题1014保持不变,然而应用启动器可以用广告文本1016替换图标标题1014。

图11a和图11b是例示了移动计算设备1100基于在主屏幕之前正在移动计算设备上显示的本机应用的状态来在应用启动器中显示广告的图。参考图11a,移动计算设备1100正在显示本机应用的状态1102。在图11a的例子中,状态1102正在显示对名为“avengers:ageofultron”的电影的评论。显示状态1102的本机应用可以是显示对各种实体(例如,电影、餐馆、商业等)的评论(例如,来自群众的评论或专家评审的评论)的本机评论应用。

参考图11b,当移动计算设备1100切换到显示主屏幕1104时,移动计算设备1100可以在应用启动器中显示广告。移动计算设备1100通过图标1110,……,1150中的一个或多个来显示广告。广告可基于移动计算设备1100在显示主屏幕1104之前正在显示的状态1102。例如,用于启动本机出租车应用的图标1110显示用于请求到电影院的出租车的广告。类似地,用于启动本机地图应用的图标1120显示用于获得到电影院的引导的广告。此外,用于启动本机售票应用的图标1150显示用于购买在电影院观看“avengers”电影的门票的广告。

图12a和图12b是例示了移动计算设备1200通过水平地或垂直地滚动广告来在应用启动器中显示广告的图。移动计算设备显示图标1210,……,1240。在接收到对图标1210,……,1240的用户选择时,移动计算设备1200将它们相应的本机应用启动到默认状态中。移动计算设备1200可通过显示经修改的图标1210′,……,1240′来显示广告。经修改的图标1210′,……,1240′中的每一个可以与在它们相应的本机应用内可能与默认状态不同的所广告的状态相关联。在接收到对经修改的图标1210′,……,1240′的用户选择时,移动计算设备1200将所对应的本机应用直接启动到所广告的状态中。参考图12a,移动计算设备1200可以通过在由箭头1250指示的一个方向上(例如,从右向左或从左向右)滚动经修改的图标1210′,……,1240′来显示广告。参考图12b,移动计算设备1200可以通过在由箭头1250′指示的一个方向上(例如,向上或向下)滚动经修改的图标1210′,……,1240′来显示广告。

这里所描述的系统和技术的各种实现可用数字电子和/或光电路、集成电路、专门地设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实现可包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,所述可编程系统包括:至少一个可编程处理器,可以是专用或通用的,被耦合以从存储系统接收数据和指令,并且向存储系统发送数据和指令;至少一个输入设备;和至少一个输出设备。

这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可用高级过程化和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指用于向可编程处理器提供机器指令和/或数据的任何信号。

本说明书中所描述的主题和功能操作的实现可用数字电子电路或者用计算机软件、固件或硬件(包括本说明书中所公开的结构及其结构等同物)或者用它们中的一个或多个的组合来实现。此外,本说明书中所描述的主题可被实现为一个或多个计算机程序产品,即,在计算机可读介质上编码以由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、实现机器可读传播信号的物质成分或它们中的一个或多个的组合。术语“数据处理装置”、“计算设备”和“计算处理器”包含用于对数据进行处理的所有装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置除了包括硬件之外还可以包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工产生的信号,例如机器产生的电、光或电磁信号,所述信号被产生以对信息进行编码以便于传输到适合的接收器装置。

计算机程序(也被称为应用、程序、软件、软件应用、脚本或代码)可用包括编译或解释语言的任何形式的编程语言来编写,并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。可在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中或者在多个协调的文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。可将计算机程序部署为在一个计算机上或者在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。

本说明书中所描述的过程和逻辑流程可通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并产生输出来执行功能而被执行。过程和逻辑流程也可由专用逻辑电路来执行,并且装置也可被实现为专用逻辑电路,所述专用逻辑电路例如为fpga(现场可编程门阵列)或asic(专用集成电路)。

作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机也将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或者操作地耦合以从/向所述一个或多个大容量存储设备接收/传送数据,或者兼而有之。然而,计算机不必具有此类设备。此外,可将计算机嵌入在另一设备中,所述另一设备例如移动电话机、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器等等,仅举几例。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例包括:半导体存储设备,例如,eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可由专用逻辑电路来补充,或者被并入专用逻辑电路。

为了提供与用户的交互,可将本公开的一个或多个方面实现在计算机上,所述计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏)以及可选地具有用户可用来向该计算机提供输入的键盘和定位设备(例如,鼠标或跟踪球)。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向用户使用的设备发送文档并且从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的万维网浏览器接收到的请求而向万维网浏览器发送网页。

可在计算系统中实现本公开的一个或多个方面,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可用来与本说明书中所描述的主题的实现交互的图形用户界面或万维网浏览器的客户端计算机),或者包括一个或多个此类后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,因特网)和对等网络(例如,自组织对等网络)。

计算系统可包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络来交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实现中,服务器向客户端设备发送数据(例如,html页面)(例如,为了向与客户端设备交互的用户显示数据并且从与客户端设备交互的用户接收用户输入)。可在服务器从客户端设备接收在客户端设备产生的数据(例如,用户交互的结果)。

虽然本说明书包含许多细节,但是这些细节不应被解释为对本公开的范围或可能要求保护的范围的限制,而宁可被解释为对本公开的具体实现特定的特征的描述。也可在单个实现中组合地实现在本说明书中在单独的实现的上下文中描述的某些特征。相反地,也可在多个实现中单独地或按照任何适合的子组合实现在单个实现的上下文中描述的各种特征。此外,尽管特征可能在上面被描述为按照某些组合起作用甚至最初像这样要求保护,但是来自要求保护的组合的一个或多个特征在一些情况下可被从该组合中删去,并且要求保护的组合可以针对子组合或子组合的变型。

类似地,虽然在附图中按照特定次序描绘了操作,但是这不应当被理解为要求这些操作按照所示出的特定次序或按照顺序次序执行或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中要求这种分离,并且应当理解的是,所描述的程序组件和系统通常可被一起集成在单个软件产品中或者被封装到多个软件产品中。

已经对许多实现进行了描述。然而,应理解的是,可在不脱离本公开的精神和范围的情况下作出各种修改。因此,其它实现在以下权利要求的范围内。例如,权利要求中记载的动作可按照不同的次序被执行并仍然实现所希望的结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1