会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 印象 / 位置印象应用编程接口

位置印象应用编程接口

申请号 CN201780092797.4 申请日 2017-11-17 公开(公告)号 CN110892397A 公开(公告)日 2020-03-17
申请人 谷歌有限责任公司; 发明人 M.L.雅各比;
摘要 本公开提供了用于确定位置点质量的系统和方法。在一个示例中,提供了一种计算机实施的方法,其包括由一个或多个计算设备获取位置点的一个或多个位置点报告。该方法还包括由一个或多个计算设备基于一个或多个位置点报告来生成该位置点的位置点得分修改符。该方法还包括由一个或多个计算设备提供位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。
权利要求

1.一种确定位置点质量的计算机实施的方法,所述方法包括:

由一个或多个计算设备获取位置点的一个或多个位置点报告;

由所述一个或多个计算设备基于一个或多个位置点报告,生成所述位置点的位置点得分修改符;以及由所述一个或多个计算设备提供所述位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。

2.根据权利要求1所述的计算机实施的方法,其中,所述一个或多个位置点报告是经由应用编程接口调用获取的。

3.根据权利要求1所述的计算机实施的方法,其中,位置点的一个或多个位置点报告包括用户反馈报告。

4.根据权利要求1所述的计算机实施的方法,其中,位置点的一个或多个位置点报告包括位置印象记录。

5.根据权利要求1所述的计算机实施的方法,其中,由所述一个或多个计算设备生成所述位置点的位置点得分修改符包括:将所述位置点添加到黑名单中。

6.根据权利要求1所述的计算机实施的方法,其中,由所述一个或多个计算设备生成所述位置点的位置点得分修改符包括:生成可以用于修改位置点得分的乘数,其中,所述位置点得分反映所述位置点用于生成基于位置的应用内容的适用性。

7.根据权利要求1所述的计算机实施的方法,还包括:在基于一个或多个位置点报告生成所述位置点的位置点得分修改符之前,由所述一个或多个计算设备基于滥用测量删除一个或多个位置点报告。

8.一种计算设备,包括:

一个或多个处理器;和

一个或多个存储指令的非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时使得所述计算设备执行操作,所述操作包括:获取位置点的一个或多个位置点报告;

基于一个或多个位置点报告,生成所述位置点的位置点得分修改符;以及提供所述位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。

9.根据权利要求8所述的计算设备,其中,所述一个或多个位置点报告是经由应用编程接口调用获取的。

10.根据权利要求8所述的计算设备,其中,位置点的一个或多个位置点报告包括用户反馈报告。

11.根据权利要求8所述的计算设备,其中,位置点的一个或多个位置点报告包括位置印象记录。

12.根据权利要求8所述的计算设备,其中,生成所述位置点的位置点得分修改符包括:将所述位置点添加到黑名单中。

13.根据权利要求8所述的计算设备,其中,生成所述位置点的位置点得分修改符包括:生成可以用于修改位置点得分的乘数,其中,所述位置点得分反映所述位置点用于生成基于位置的应用内容的适用性。

14.根据权利要求8所述的计算设备,其中,所述指令还使得所述计算设备在基于一个或多个位置点报告生成所述位置点的位置点得分修改符之前,基于滥用测量删除一个或多个位置点报告。

15.一个或多个存储指令的非暂时性计算机可读介质,所述指令在由计算系统的一个或多个处理器执行时使得所述计算系统执行操作,所述操作包括:获取位置点的一个或多个位置点报告:

基于一个或多个位置点报告,生成所述位置点的位置点得分修改符;以及提供所述位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。

16.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,所述一个或多个位置点报告是经由应用编程接口调用获取的。

17.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,位置点的一个或多个位置点报告包括用户反馈报告。

18.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,位置点的一个或多个位置点报告包括位置印象记录。

19.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,生成所述位置点的位置点得分修改符包括:将所述位置点添加到黑名单中。

20.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,生成所述位置点的位置点得分修改符包括:生成可以用于修改位置点得分的乘数,其中,所述位置点得分反映所述位置点用于生成基于位置的应用内容的适用性。

21.根据权利要求2所述的计算机实施的方法,其中,所述应用编程接口调用是从用户设备上的API接收的,所述API由也安装在所述用户设备上的软件应用调用,其中,在从所述软件应用接收到一个或多个位置点报告时,所述API作用于向数据提供者提供所述一个或多个位置点报告,以用于生成位置点得分修改符。

22.一种用于获取在安装在用户设备上的软件应用中使用的候选位置的计算机实施的方法,所述用户设备被配置为与远程数据提供者通信,所述远程数据提供者被配置为获取位置点的一个或多个位置点报告,基于一个或多个位置点报告生成所述位置点的位置点得分修改符,以及提供所述位置点得分修改符以用于确定候选位置点以生成基于位置的应用内容,所述方法包括:由所述软件应用生成与基于位置的应用内容相关联的位置点的一个或多个位置点报告;

由所述软件应用调用安装在所述用户设备上的API,以向所述远程数据提供者提供所述一个或多个位置点报告;以及由所述API向所述远程数据提供者提供所述一个或多个位置点报告,以用于生成位置点得分修改符。

23.根据权利要求1、2、21或22中任一项所述的计算机实施的方法,其中,位置点的一个或多个位置点报告包括用户反馈报告。

24.根据权利要求1、2或21至23中任一项所述的计算机实施的方法,其中,位置点的一个或多个位置点报告包括位置印象记录。

25.根据权利要求1、2或21至24中任一项所述的计算机实施的方法,其中,由所述一个或多个计算设备生成所述位置点的位置点得分修改符包括:将所述位置点添加到黑名单中。

26.根据权利要求1、2或21至25中任一项所述的计算机实施的方法,其中,由所述一个或多个计算设备生成所述位置点的位置点得分修改符包括:生成可以用于修改位置点得分的乘数,其中,所述位置点得分反映所述位置点用于生成基于位置的应用内容的适用性。

27.根据权利要求1、2或21至26中任一项所述的计算机实施的方法,还包括:在基于一个或多个位置点报告生成所述位置点的位置点得分修改符之前,由所述一个或多个计算设备基于滥用测量删除一个或多个位置点报告。

28.一种计算设备,包括:

一个或多个处理器;和

一个或多个存储指令的非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时,使得所述计算设备执行根据权利要求1、2或21至27中任一项所述的方法。

29.一个或多个存储指令的非暂时性计算机可读介质,所述指令在由计算系统的一个或多个处理器执行时,使得所述计算系统执行根据权利要求1、2或21至27中任一项所述的方法。

说明书全文

位置印象应用编程接口

技术领域

[0001] 本公开一般涉及用于提供地理信息反馈的应用编程接口。

背景技术

[0002] 在诸如移动计算设备(例如,智能电话、平板电脑、智能手表等)之类的计算设备上实施的应用已经出于各种目的而被开发,包括商业、社交、健康以及其他目的。这些应用可以提供用于向用户呈现信息以及允许用户与应用交互的用户界面(例如,图形用户界面)。移动计算设备的流行应用包括使各种地理信息对用户可用的应用。
[0003] 应用编程接口可以允许在计算设备上实施的应用与各种服务交互以向用户提供信息和功能。应用编程接口可以为开发者提供工具来轻松地将信息、编程、服务、框架和结构嵌入到应用中以供用户访问。

发明内容

[0004] 本公开的实施例的方面和优点将在下面的描述中部分地阐述,或者可以从描述中获知,或者可以通过实践实施例而获知。
[0005] 本公开的一个示例方面针对一种用于确定位置质量的计算机实施的方法。该方法可以包括由一个或多个计算设备获取位置点的一个或多个位置点报告。该方法还可以包括由一个或多个计算设备基于一个或多个位置点报告来生成该位置点的位置点得分修改符。该方法还可以包括由一个或多个计算设备提供位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。
[0006] 本公开的另一示例方面针对一种计算设备。该计算设备包括一个或多个处理器以及一个或多个存储指令的非暂时性计算机可读介质。这些指令在由一个或多个处理器执行时,使得计算设备执行操作。这些操作包括获取位置点的一个或多个位置点报告。这些操作还包括基于一个或多个位置点报告来生成该位置点的位置点得分修改符。这些操作还包括提供位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。
[0007] 本公开的另一示例方面针对一个或多个存储指令的非暂时性计算机可读介质,这些指令在由计算系统的一个或多个处理器执行时,使得计算系统执行操作。这些操作包括获取位置点的一个或多个位置点报告。这些操作还包括基于一个或多个位置点报告来生成该位置点的位置点得分修改符。这些操作还包括提供位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。
[0008] 本公开的其他示例方面针对与应用编程接口相关联的系统、装置、有形非暂时性计算机可读介质、用户界面、存储器设备和电子设备,用于例如向基于位置的游戏应用的开发者提供地理信息。
[0009] 参考以下描述和所附权利要求,将更好地理解各种实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的实施例,并且与说明书一起用于说明相关原理。

附图说明

[0010] 在说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其参考了以下附图,其中:
[0011] 图1描绘了根据本公开的示例实施例的用于使用应用编程接口将位置印象服务(location impression service)实施为软件应用的一部分的示例系统的概述;
[0012] 图2描绘了根据本公开的示例实施例的实施软件应用的示例用户设备的框图;
[0013] 图3描绘了根据本公开的示例实施例的示例位置印象系统的框图;
[0014] 图4描绘了根据本公开的示例实施例的用于获取位置印象服务的位置点反馈的示例操作的流程图;和
[0015] 图5描绘了根据本公开的示例实施例的用于从用户设备获取位置点反馈的示例操作的流程图。

具体实施方式

[0016] 现在将详细参考实施例,在附图中示出了其一个或多个示例。以说明实施例而不是限制本公开的方式来提供每个示例。实际上,对于本领域技术人员将显而易见的是,在不脱离本公开的范围或精神的情况下,可以对实施例进行各种修改和变型。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,本公开的各个方面旨在涵盖这样的修改和变型。
[0017] 本公开的示例方面针对应用编程接口(application programming interface,“API”),用于从在一个或多个计算设备上实施的软件应用(诸如,在浏览器中实施的基于web的软件应用、本地存储的软件应用和其他应用)获取关于地理信息的反馈。在一些实施例中,API可以允许应用开发者在他们的软件应用中提供关于由地理数据提供者或其他源提供的地理信息的反馈。例如,地理数据提供者可以为应用开发者提供在应用(诸如,基于位置的游戏应用)中使用的真实世界点(real world point)。API可以允许开发者提供关于此类位置点的反馈,例如,报告由于各种原因可能不适合在应用中使用的点(诸如,属性受限的点、不安全的点、访问不畅的点等等)。然后,反馈可以用于更新由地理数据提供者提供给应用开发者的地理信息数据集,诸如通过将点列入黑名单和/或调整点得分。尽管本文描述的一些实施例和示例与基于位置的游戏应用有关,但是实施例不限于此。实施例可以适用于游戏之外的各种移动服务,并且可以用于开发安全、社交和身临其境的移动应用。
[0018] 更具体地,当由在计算设备上实施的软件应用调用时,API可以被配置为用于经由通信接口(例如,通过诸如互联网的网络)将关于在软件应用内使用的地理信息的报告(例如,关于点的显式用户反馈、印象记录等等)提交给数据提供者。例如,在一些实施例中,API可以与应用开发者的可玩性服务相关联。可玩性服务可以用于生成区域的候选位置的列表或数据集。可玩性服务可以为应用开发者提供包括一个或多个候选位置的候选位置数据集,以在应用内使用,诸如用于在基于位置的游戏应用内放置游戏内对象。在一些实施例中,应用可以生成关于在该应用内使用的一个或多个位置点的质量和/或适用性的报告。API可以用于将这些报告提交给数据提供者,使得可以使用报告来更新由可玩性服务提供的候选位置数据集。
[0019] 根据本公开的示例方面,在一些实施例中,API可以提供位置印象服务,用于获取关于在应用内使用的由可玩性服务提供的地理信息(例如,位置点)的反馈(例如,报告),诸如获取关于基于位置的游戏应用内的游戏对象位置质量的反馈。API可以获取报告数据,报告数据包括显式用户反馈和/或向用户呈现的位置的应用内记录。API可以用于将这些报告提交给印象服务。印象服务可以汇总和分析提交的报告,以用于更新由数据提供者维护的位置数据,例如,通过修改位置点的得分和/或将位置点添加到黑名单中。
[0020] 在一些实施例中,报告可以包括显式用户反馈,其中应用用户可以报告正在应用中呈现的不合适的位置。用户可以生成反馈报告,该反馈报告包括正在被报告的位置点的标识符以及该位置点为何不适合在应用中使用的原因。例如,在一些实施例中,反馈报告可以包括位置点标识符、从预定列表中选择的原因以及可选的自由形式的说明文本字段。在一些实施例中,例如,开发者可以将生成反馈报告的能力限制到用户的子集(诸如,质量保证测试员)。替代地,在一些实施例中,开发者可以允许任何用户生成反馈报告。
[0021] 在一些实施例中,报告可以包括何时向用户呈现位置点以及用户何时与位置点交互的应用内记录(例如,印象)。这些记录(例如,印象)可以用于确定显示给用户但玩家不与这些位置点交互的位置点。印象记录可以用于比较用户与位置点交互的频率和向用户呈现位置点的频率。例如,此类信息可以指示即使被呈现给用户但用户仍不与其交互的位置点是不合适的,诸如不容易访问的位置点。
[0022] 在一些实施例中,当向用户呈现他们可以与其交互的新位置点时,可以记录位置显示印象。然后,当用户与位置点交互时,可以记录交互印象。在一些实施例中,一旦记录了位置点的位置显示印象,则不会在该会话中记录进一步的位置显示印象,直到用户与该位置点进行交互为止,例如,为了在该位置点进出应用视区时避免重复的位置显示印象。在记录了该位置点的交互印象之后,如果该位置点变得再次对用户可用,则可以记录另一个位置显示印象。
[0023] 在一些实施例中,不同的应用和不同的应用内对象可以具有不同的显示交互比。为了允许这种不同,每个印象记录可以包含有应用内对象类型。然后,可以为每个(应用、应用内类型、位置点)元组生成原始印象得分。例如,对于每个(应用、应用内类型、位置点)元组,原始印象得分可以被定义为在具有给定应用内类型的给定应用中,与位置点交互的次数除以该位置点呈现给用户的次数。在一些实施例中,可以为每个(应用、应用内类型)对生成平均原始得分。例如,对于每个(应用、应用内类型)对,可以计算具有该约束的所有位置点的平均原始得分。可以将最终印象得分指定为原始印象得分与平均原始得分的比。
[0024] 在一些实施例中,可以实施基于时间的加权和截止点(cutoff),以解决诸如以前好但现在不好的位置点和/或仅被显示但用户没有时间与之交互的位置点的情况。在一些实施例中,可以将每个位置点处的印象总数作为不确定性(uncertainty)的测量考虑。例如,在一些实施例中,对于某个常数C,可以使用 将印象数n转换为uncertainty。对于较大的n值,它从n=1时的(l+C)下降到大约1。
[0025] 在一些实施例中,可以维护特定于应用的位置黑名单。为了提供特定于应用的位置黑名单,每个报告可以包含有应用标识符,以标识提交该报告的应用。例如,在一些实施例中,新的API密钥可以用于由开发者开发的每个应用,并且该应用可以由API密钥在报告中标识。
[0026] 在一些实施例中,可以另外从应用以外的源获取报告。例如,在一些实施例中,应用开发者和/或业务所有者(例如,可以使用应用(诸如,可以玩游戏)的业务)可以向印象服务提交报告,以用于更新为应用提供的位置点数据,以用于生成基于位置的内容。
[0027] 在一些实施例中,印象服务可以包括滥用防止措施。例如,由于提交反馈报告的用户可能未经认证,因此恶意用户可能会提交大量的虚假报告。这样,在一些实施例中,印象服务可以在定义的时间段(例如,一天等)内存储IP地址,并且如果在该时间段内来自同一IP地址的报告数量超过某个阈值数量,则忽略该IP地址提交的报告。例如,在一些实施例中,未经认证的反馈报告可以与在指定时间段内提交报告的IP地址一起存储在单独的位置(例如,临时表(staging table)等等)中。然后,该时间段到期后的剩余报告(例如,通过滥用检查的报告)可以被转发到报告表,并与经过认证的反馈报告和印象一起存储。
[0028] 在一些实施例中,印象服务可以提供黑名单和/或得分修改服务。例如,经由API提交的报告可以用于将不应显示给用户的位置点添加到黑名单中,和/或用于将得分修改符分配给用于确定应选择哪些位置点用于在应用中使用的位置点得分。在一些实施例中,报告可以用于建议应该被审查以放置在位置黑名单上的位置点,而不是自动将位置点分配到黑名单。
[0029] 黑名单和/或得分修改服务可以从提交的反馈报告和印象中接收数据作为输入。例如,每个(应用、位置点)可以具有提交的反馈报告的列表,并且来自印象的每个(应用、应用内类型、位置点)可以具有最终印象得分值和不确定性值。
[0030] 在一些实施例中,反馈报告可以用于生成得分乘数(multiplier),该得分乘数被计算为bad_place_multiplier=min(1,A/n),其中,n是坏地点(bad place)报告的数量。在一些实施例中,在反馈报告仅来自质量保证测试员的情况下,可以将A设置为1(例如,这样两个报告将导致得分为0.5,10个报告将导致得分为0.1)。在一些实施例中,在从常规用户接收反馈报告的情况下,可以增大A。可以每应用和全局两种方式计算bad_place_multiplier。在一些实施例中,可以使用两者的几何平均来生成最终的
坏地点乘数。
[0031] 在一些实施例中,印象可以用于为每个(应用、应用内类型、位置点)生成得分乘数,该得分乘数被计算为impression_multiplier=1+(computed score-1)/uncertainty。除非不确定性低,否则乘数将接近1。对于每个位置点,可以每应用和全局两种方式计算每种应用内类型的印象乘数(impression multiplier)的几何平均。同样,(应用,地点)对的最终乘数可以是每应用和全局乘数的几何平均。
[0032] 例如,当需要位置点得分来确定应用的候选位置点时,可以将位置点原始得分乘以坏地点乘数和印象乘数。在一些实施例中,可以提供乘数的截止点,以使得如果它们落在截止点以下,则将位置点列入黑名单。
[0033] 图1描绘了根据本公开的示例实施例的用于使用API将位置印象服务实施为软件应用的一部分的示例系统100的概述。系统100可以包括可以经由通信网络116从地理数据提供者114接收地理数据的用户设备112。例如,用户设备112可以是智能电话、平板电脑、可穿戴设备、膝上型计算机、台式计算机、移动设备、能够在操作时由用户携带的设备,具有一个或多个处理器的显示器、车辆系统或其他用户设备112。
[0034] 可以在用户设备112上实施软件应用120。例如,软件应用可以是开发者应用、浏览器、游戏应用、用于协助交付的应用、社交媒体应用或可能需要向用户提供地理信息的其他软件应用。软件应用120可以本地存储在用户设备112上,或者例如可以是经由实施在用户设备112上的浏览器访问的web应用。在一些实施例中,软件应用120可以由独立于和/或不隶属于与地理数据提供者114相关联的实体的第三方实体来开发。
[0035] 软件应用120可以调用API 130以经由通信网络116访问并提供来自地理数据提供者114的地理数据,从而可以将地理数据服务嵌入到软件应用120中。为了说明和讨论的目的,通过访问来自远程地理数据提供者114的数据来讨论本公开的示例方面。使用本文提供的公开内容,本领域普通技术人员将理解,API 130可以访问来自其他源的数据,诸如本地源或位于用户设备112上的应用。
[0036] 地理数据服务可以向用户呈现地理信息(例如,地图几何、地图元数据、位置属性、位置数据集、实时信号、位置情报)。用户可以是第三方开发者,其可以使用地理信息来提供位置感知应用(诸如,基于位置的游戏)。例如,地理信息可以向开发者提供关于在游戏环境中的何处(与真实世界位置对齐的、用于进行游戏的安全、合适且理想的位置)产生(spawn)对象或活动智能且相关的建议。
[0037] 回到图1,API 130可以被配置为与由地理数据提供者114实施的地理/游戏引擎140接口。API 130还可以被配置为从用户设备112上的应用(诸如,应用120)获取反馈报告和/或印象记录。反馈报告和/或印象记录可以提供与应用内对象位置(诸如,基于位置的游戏应用中的游戏内对象的位置)的位置质量有关的情报。例如,地理/游戏引擎140可以被配置为访问地图数据和信号、基于各种事件或反馈创建和/或更新位置数据集、生成位置情报信号以及响应来自API 130的对地理数据的请求。在一些实施例中,地理数据提供者114可以包括一个或多个服务器(诸如,web服务器)。一个或多个服务器可以包括一个或多个处理器和一个或多个存储器设备。例如,一个或多个存储器设备可以存储计算机可读指令以实施地理/游戏引擎140。在一些实施例中,例如,地理/游戏引擎140可以访问与地理信息系统
115相关联的数据。地理信息系统115可以包括由其元素的地理坐标索引的数据。例如,与地理信息系统115相关联的数据可以包括地图数据、路线数据、地理图像、与各种航路点相关联的数据(例如,业务列表名称、地址、地理坐标等)、实时信号(例如,使用或交通模式)以及其他数据。
[0038] 应用120可以通过网络116经由API 130与地理数据提供者114进行交互来实施地理信息服务。网络116可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)、蜂窝网络或其某些组合。网络116还可以包括直接连接。一般地,通信可以经由网络116使用任何类型的有线和/或无线连接、使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来承载。
[0039] 图2描绘了根据本公开的示例实施例的被配置为实施一个或多个API 130的示例用户设备112。如图所示,用户设备112包括指令存储器152、被配置为执行存储在存储器152中的指令的一个或多个处理器54、显示设备156、支持网络通信的网络接口158以及存储存储器160。为了清楚起见,分别示出了指令存储器152和存储存储器160。然而,将理解,组件152和160也可以是同一存储器模块内的区域。更一般地,用户设备112可以包括一个或几个附加处理器、存储器设备、网络接口,它们可以分别提供或在同一芯片或板上提供。此外,组件152和160可以包括永久性存储器(例如,闪存)、易失性存储器(例如,RAM)或两者,或其他合适的存储器。
[0040] 指令存储器52可以存储操作系统(operating system,OS)170、API 130和软件应用120的指令集。OS 170可以是专门为移动设备开发的移动OS。这样,OS 170可以包括允许软件应用访问诸如无线网络参数(例如,无线网络的标识、服务质量)的数据以及调用诸如电话、位置确定(例如,经由全球定位服务(global positioning service,GPS)或WLAN)、无线网络数据呼叫发起等的服务。在其他实施方式中,OS 170是在移动设备和固定设备(诸如,智能电话和台式计算机)上操作的通用操作系统。在一些示例实施方式中,OS包括或基于由谷歌公司开发的 移动操作系统或类似的操作系统以实施Android操作平台。然而,在不脱离本公开的范围的情况下,可以使用其他合适的操作系统。
[0041] 例如,软件应用120可以是开发者应用、导航应用、游戏应用、协助交付的应用、社交媒体应用等。此外,软件应用120可以是调用API 130以在浏览器窗口的分配部分内提供地理信息的web浏览器应用。一般地,可以使API 130可用于在用户设备112上执行的任何合适的软件应用。此外,多个不同的软件应用可以调用API 130。
[0042] 如上所述,软件应用120可以调用API 130以在软件应用120中嵌入地理信息服务。例如,在一个示例中,软件应用120可以向API 130提供一个或多个查询。API 130可以基于一个或多个查询从远程地理数据提供者请求地理数据,以确定位置信息(例如,位置得分、位置建议、交通模式、使用模式、地图几何、地图元数据、实时信号等)。API 130可以包括指令集,以控制将地理信息呈现给用户作为地理信息服务的一部分。
[0043] 在一些实施例中,软件应用120可以调用API 130以向远程地理数据提供者提供反馈报告和/或位置印象记录,其中反馈报告和/或位置印象记录可以用于更新由地理数据提供者提供的地理信息。
[0044] 在一些实施例中,定位系统可以包括用于确定设备位置的一个或多个设备或电路。例如,定位设备可以通过使用卫星导航定位系统(例如,GPS系统、伽利略定位系统、全球导航卫星系统(Global Navigation satellite system,GLONASS)、北斗卫星导航与定位系统)、惯性导航系统、基于IP地址的推测航行系统,通过使用三角测量和/或接近蜂窝塔或WiFi热点、信标等和/或用于确定位置的其他合适技术来确定实际或相对位置。
[0045] API 130可以实施为一个或数个功能、数据结构等。此外,API 130可以包括直接在(多个)处理器154上执行的编译代码,或者,可选地包括任何其他形式的指令,诸如由应用120在运行时解释的脚本语言。在一个示例实施方式中,API 130包括开发者可以在软件应用120的代码中包括的数个功能的文档化原型(well-documented prototype),以及实现这些功能的指令。在一些实施例中,可以将API 130作为静态库提供给开发者。
[0046] 图3描绘了根据本公开的示例实施例的示例位置印象系统300的框图。如本文所述,位置印象系统可以用于获取关于应用内对象位置的位置质量的应用内反馈,其中该反馈可以用于更新在此类应用中使用的地理信息。在一些实施例中,位置印象系统300可以包括并报告API 302和印象API服务器302。在一些实施例中,印象API服务器304可以包括临时存储306、滥用防止服务308、报告/印象存储310、得分修改服务312以及得分修改符/黑名单存储314。
[0047] 如本文所述,应用可以调用报告API 302以向位置印象服务(例如,印象API服务器304)提供反馈报告和/或印象。印象API服务器304可以服务于来自报告API 302的请求以获取反馈报告和/或印象。在一些实施例中,印象API服务器304可以可选地服务于来自一个或多个开发者控制台316和/或一个或多个其他端点318的请求以获取位置质量反馈报告。
[0048] 印象API服务器304可以基于报告是已经认证还是未经认证,将接收到的反馈报告和/或印象写入存储位置。可以将未经认证的报告写入临时存储306,从而滥用防止服务308可以提供对未经认证的报告的滥用检查。例如,滥用防止服务可以在规定的时间段(例如,一天)内审查未经认证的报告,以删除任何欺诈报告(例如,一在天之内从同一IP地址提交的大量虚假报告等)。一旦未经认证的报告通过滥用检查,则可以将未经认证的报告写入报告/印象存储310。印象API服务器304可以将经过认证的报告写入报告/印象存储310。
[0049] 可以将报告/印象存储310中的反馈报告/印象提供给得分修改服务312,以用于确定位置点的得分修改符和/或用于确定应当添加到位置黑名单中的位置点。得分修改服务312可以将位置得分修改符(例如,坏地点乘数、印象乘数等)以及任何列入黑名单的位置点存储到得分修改符/黑名单存储314。在一些实施例中,可以在将任何位置点添加到位置黑名单中之前,执行手动黑名单审查服务316。例如,得分修改符和位置黑名单可以由可玩性服务使用,以确定可以在应用(诸如,基于位置的游戏应用)中使用的候选位置。
[0050] 图4描绘了根据本公开的示例实施例的用于获取位置印象服务的位置点反馈的示例操作400的流程图。
[0051] 在402处,例如,诸如地理数据提供者114的计算系统可以获取位置点的一个或多个位置点报告。例如,地理数据提供者可以提供位置点,以用于在应用(诸如,基于位置的游戏应用)中生成基于位置的内容。API可以用于提交关于此类位置点在基于位置的应用内容中使用的质量和/或适用性的反馈(例如,位置点报告),例如,报告由于各种原因可能不适合在应用中使用的点(诸如,属性受限的点、不安全的点、访问不畅的点等等)。
[0052] 例如,API可以由在用户计算设备上实施的软件应用调用,并且API可以被配置为用于向计算系统(例如,数据提供者计算系统)提交关于在软件应用内使用的地理信息的报告(例如,关于点的显式用户反馈、印象记录等等)。在一些实施例中,位置点报告可以包括显式用户反馈,其中应用用户可以报告正在应用中呈现的不合适的位置。在一些实施例中,报告可以包括何时向用户呈现位置点以及用户何时与位置点交互的应用内记录(例如,印象记录)。印象记录可以用于比较用户与位置点交互的频率和向用户呈现位置点的频率。
[0053] 在404处,计算系统可以基于一个或多个位置点报告来生成位置点的位置点得分修改符。例如,位置点报告可以用于更新地理信息数据集,该地理信息数据集可以提供给应用开发者以用于生成基于位置的应用内容,诸如通过将位置点列入黑名单和/或调整位置点得分。在一些实施例中,黑名单和/或得分修改服务可以从位置点报告(例如,用户反馈和印象记录)接收数据作为输入。例如,每个(应用、位置点)可以具有提交的用户反馈报告的列表,并且来自印象记录报告的每个(应用、应用内类型、位置点)可以具有最终印象得分值和不确定性值。
[0054] 在406处,计算系统可以提供位置点得分修改符,以用于确定候选位置点以生成基于位置的应用内容。例如,当需要位置点得分,例如,来确定应用的候选位置点以用于生成基于位置的应用内容时,可以将位置点原始得分乘以坏地点乘数(例如,基于用户反馈报告生成的)和印象乘数(例如,从印象记录生成的)。在一些实施例中,可以提供乘数的截止点,以使得如果它们落在截止点以下,则将位置点列入黑名单。
[0055] 图5描绘了根据本公开的示例实施例的用于从用户设备获取位置点反馈的示例操作500的流程图。
[0056] 在502处,例如,计算设备(诸如,用户设备112)可以生成与基于位置的应用内容相关联的位置点的一个或多个位置点报告。例如,在一些实施例中,计算设备(例如,用户设备上的软件应用)可以生成位置点报告,该位置点报告可以包括显式用户反馈,通过该反馈,应用用户可以报告正在应用中呈现的不合适的位置(例如,与基于位置的应用内容相关联的)。在一些实施例中,计算设备(例如,用户设备上的软件应用)可以生成位置点报告,该位置点报告包括何时向用户呈现位置点(例如,与基于位置的应用内容相关联的)以及用户何时与位置点交互的应用内记录(例如,印象记录)。印象记录可以用于比较用户与位置点交互的频率和向用户呈现位置点的频率。
[0057] 在504处,计算设备可以调用安装在用户设备上的API,以向远程数据提供者提供一个或多个位置点报告。例如,API可以由在计算设备上实施的软件应用调用,并且API可以被配置为用于将由软件应用生成的位置点报告(例如,关于点的显式用户反馈、印象记录等等)提交给远程数据提供者(例如,数据提供者计算系统)。
[0058] 在506处,计算设备可以通过API向远程数据提供者提供一个或多个位置点报告,以用于生成位置点得分修改符。在一些实施例中,远程数据提供者可以基于一个或多个位置点报告生成位置点的位置点得分修改符。例如,位置点报告可以用于更新地理信息数据集,该地理信息数据集可以提供给应用开发者以用于生成基于位置的应用内容,诸如通过将位置点列入黑名单和/或调整位置点得分。
[0059] 尽管已经针对本主题的特定示例实施例详细描述了本主题,但是应当理解,本领域技术人员在理解前述内容之后,可以容易地对这些实施例进行更改、变型和等同。因此,本公开的范围是示例而不是限制的方式,并且本公开不排除包括对本主题的此类修改、变型和/或添加,这对于本领域普通技术而言是显而易见的。