经由客户端应用访问第三方资源的制作方法
未命名
09-24
阅读:58
评论:0
经由客户端应用访问第三方资源
1.相关申请的交叉引用
2.本专利申请要求于2021年12月31日提交的美国临时申请序列第63/133,194号的权益,该美国临时申请通过引用整体并入本文中。
背景技术:
3.由客户端设备执行的应用可以用于生成内容。例如,客户端应用可以用于生成消息收发内容、图像内容、视频内容、音频内容、媒体覆盖(media overlays)、文档、创意作品、其组合等。在各种情况下,用户内容可以被增强现实内容修改并与一个或更多个附加用户共享。
附图说明
4.在不一定按比例绘制的附图中,相似的附图标记可以在不同的视图中描述类似的部件。为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高位数字指代该元件被首次引入时所在的图号。通过示例而非限制的方式示出了一些实现方式。
5.图1是根据一个或更多个示例实现方式的用于通过网络来交换数据(例如,消息和相关内容)的架构的图形表示。
6.图2是根据一些示例的可以具有客户端侧和服务器侧功能两者的系统的图形表示。
7.图3是示出根据一个或更多个示例实现方式的可以存储在服务器系统的数据库中的数据的示意图。
8.图4是示出根据一个或更多个示例实现方式的可以经由客户端应用访问的内容的示例框架的示意图。
9.图5是示出根据一个或更多个示例实现方式的在客户端应用内经由相机用户界面访问第三方资源的架构的图形表示。
10.图6是示出根据一个或更多个示例实现方式的经由具有消息收发能力的客户端应用向客户端设备提供与访问第三方资源有关的信息的处理的示例操作的流程图。
11.图7是示出根据一个或更多个示例实现方式的经由具有消息收发能力的客户端应用访问第三方资源的处理的示例操作的流程图。
12.图8是根据一个或更多个示例实现方式的示出客户端设备的相机视图且可以获得用于生成使得能够访问第三方资源的附加用户界面的输入的用户界面的图示。
13.图9是根据一个或更多个示例实现方式的包括可被选择以启动一个或更多个第三方资源的用户界面元素并且包括示出相机视图的一部分的区域的用户界面的图示。
14.图10是根据一个或更多个示例实现方式的示出响应于对经由客户端应用可访问的第三方资源进行修改的输入而对图8的用户界面进行的修改的用户界面的图示。
15.图11是根据一个或更多个示例实现方式的包括显示出可被选择以经由客户端应用访问第三方应用资源的用户界面元素的区域、显示出对客户端应用的用户的通知的区
域、以及显示出客户端应用的相机用户界面的至少一部分的区域的用户界面1100的图示。
16.图12是示出根据一个或更多个示例实现方式的呈计算机系统形式的可以读取和执行来自一个或更多个机器可读介质的指令以执行本文中描述的任何一种或更多种方法的机器的部件的框图。
17.图13是示出根据一个或更多个示例实现方式的可以与本文中描述的一个或更多个硬件架构结合使用的代表性软件架构的框图。
具体实施方式
18.可由计算设备例如移动计算设备、智能电话、平板计算设备、膝上型计算设备、便携式游戏设备等执行的应用可以提供各种类型的功能。例如,应用可被执行以提供游戏、与他人通信、进行金融交易、访问由一个或更多个内容提供方提供的内容、创建内容(例如,文本内容、音频内容、视频内容)等。在各种场景中,这些应用可以被称为“app”。在现有的系统中,与应用对应的计算机可读指令被下载并存储在计算设备的内存中,并且用户通过启动应用的实例来访问应用的功能。
19.通常,随着越来越多的应用被下载到计算设备上,可用于附加应用的内存量减少。随着内存容量达到极限,可能要从计算设备中删除应用,以便使足够的内存空间对于要添加的新应用可用。当从计算设备中移除应用时失去功能或内容中的至少一者,这对于许多用户来说可能是不期望的情况。此外,随着越来越多的应用被下载到计算设备上,计算效率和处理时间也受到了不利的影响。
20.此外,具有相对较小的计算和存储占用空间的计算设备例如移动计算设备不能同时访问多个应用的功能,或同时访问多个应用的功能的效率低。为了说明,用户可以启动第一应用的实例并且利用第一应用的功能。在各种场景中,用户还可能想要在使用第一应用的同时访问第二应用的功能。在这些情况下,用户通常退出第一应用并启动第二应用的实例。然后,用户可以利用第二应用的功能来例如生成内容、获得信息等。用户可以继续退出第二应用并返回至第一应用,以相对于第一应用实现第二应用的功能的结果。在说明性示例中,用户可能正在利用第一应用的消息收发或社交网络功能,并且决定与好友去看电影。在现有的系统中,为了与好友一起购买电影票,该用户退出第一应用并启动第二应用以查看可用的电影票。然后,用户在获得与电影票可用性有关的信息之后退出第二应用并返回至第一应用。在第一应用内,用户可以基于电影票可用性与好友进行沟通,并且继续退出第一应用并返回至第二应用中以购买电影票。这些场景对于用户来说低效率、耗时并且通常令人沮丧。
21.本文中所述的系统、方法、技术、指令序列和计算机器程序产品涉及可以在客户端应用的实例内被启动以访问无法在客户端应用中本地访问的特征集的资源。资源可以由不参与客户端应用的开发、维护或管理的第三方提供。在一个或更多个示例中,可以在无需将计算机可读指令下载至计算设备的非易失性存储器的情况下访问第三方资源。在一个或更多个说明性示例中,第三方资源可以利用一个或更多个标记语言文档来在客户端应用内提供一个或更多个性能。例如,第三方资源可以利用一个或更多个超文本标记语言(html)文档来在客户端应用内提供一个或更多个性能。
22.在各种实现方式中,第三方资源可以对应于在常规版本的应用或者小规模版本的
常规版本的应用中可用的特征的子集。在一个或更多个附加实现方式中,第三方资源可以对应于与常规版本的应用有关的不可用的特征。在一个或更多个说明性示例中,用户可以使客户端设备启动包括消息收发能力的客户端应用,并且用户可以与好友交换与购买电影票有关的消息。用户和好友可以在客户端应用内访问第三方资源,这使该团体能够在决定要观看的电影、选择影院中的座位和购买电影票的同时继续进行消息收发。以这种方式,可以在客户端应用内访问用户在客户端应用之外可用的功能,以为用户产生更有效且更加用户友好的体验。此外,通过允许在客户端应用内访问第三方资源,计算设备上的内存空间被最大化并且不被专用于存储具有与第三方资源的特征交叠的特征的各种应用的计算机可读指令。此外,通过减少分配给存储客户端应用的计算机可读指令的内存量以及减少专用于执行客户端应用的处理资源,改进了计算设备的功能。
23.本文中所述的系统、方法、技术、指令序列和计算机器程序产品还涉及用于访问在具有消息收发能力的客户端应用内可访问的第三方资源的一个或更多个用户界面。在一个或更多个示例中,可以经由客户端应用的相机用户界面访问第三方资源,其中,相机用户界面包括客户端设备的一个或更多个相机的视图。相机用户界面可以用于生成经由相机用户界面捕获的内容,例如图像内容或视频内容中的至少一种。在各种示例中,可以经由相机用户界面接收用户输入,以访问提供对第三方资源的访问的附加用户界面。在一个或更多个说明性示例中,指示在相机用户界面中向下滑动的用户输入可以启动包括一个或更多个用户界面元素的附加用户界面,可以单独选择一个或更多个用户界面元素以在客户端应用内启动第三方资源。
24.在一个或更多个实现方式中,第三方资源用户界面可以包括一个或更多个区域,所述一个或更多个区域包括与各个第三方资源对应的图标。此外,附加用户界面可以包括以下区域:该区域包括相机用户界面的部分视图。以这种方式,除了第三方资源的用户界面元素之外,还显示了相机用户界面的至少一部分。此外,通过在第三方资源用户界面内显示相机用户界面的至少一部分,可以很容易地从第三方资源界面中访问相机用户界面。在一个或更多个场景中,可以根据由各个用户对第三方资源的使用历史来布置第三方资源的用户界面元素。因此,可以为客户端应用的各个用户定制与第三方资源对应的用户界面元素的显示。此外,第三方资源用户界面提供了在现有系统中不存在的用于查看、管理和启动第三方资源的专用用户界面。
25.图1是用于通过网络来交换数据(例如,消息和相关内容)的架构100的图形表示。架构100可以包括多个客户端设备102。客户端设备102可以单独地包括但不限于移动电话、台式计算机、膝上型计算设备、便携式数字助理(pda)、智能电话、平板计算设备、超级本、上网本、多处理器系统、基于微处理器或可编程的消费者电子系统、游戏控制台、机顶盒、车辆中的计算机、可穿戴设备、它们中的一个或更多个组合、或者用户可以用来访问架构100中包括的一个或更多个部件的任何其他通信设备。
26.每个客户端设备102可以托管多个应用,包括客户端应用104和一个或更多个第三方应用106。用户可以使用客户端应用104来创建内容,例如视频、图像(例如,照片)、音频和媒体覆盖。在一个或更多个说明性示例中,客户端应用104可以包括使得用户能够创建和交流内容的社交网络功能。在各种示例中,客户端应用104可以包括可以用于在由各种客户端设备102执行的客户端应用104的实例之间发送消息的消息收发功能。使用客户端应用104
创建的消息可以包括视频、一个或更多个图像、音频、媒体覆盖、文本、使用一个或更多个创作工具产生的内容、注释等。在一个或更多个实现方式中,客户端应用104可以用于查看和生成交互消息、查看客户端应用104的其他用户在地图上的位置、与客户端应用104的其他用户聊天等。客户端应用104和一个或更多个第三方应用106可以是被下载并安装在客户端设备102上的本地应用。
27.一个或更多个用户可以是人、机器或与客户端设备诸如客户端设备102交互的其他装置。在示例实现方式中,用户可以不是架构100的一部分,但是可以经由客户端设备102或其他装置与架构100中的一个或更多个部件交互。在各种示例中,用户可以向客户端设备102提供输入(例如,触摸屏输入或字母数字输入),并且该输入可以被传送至架构100中的其他实体。在这种情况下,架构100中的其他实体可以响应于用户输入将信息传送至客户端设备102以呈现给用户。以这种方式,用户可以使用客户端设备102与架构100中的各种实体交互。
28.架构100还可以包括一个或更多个第三方系统108。一个或更多个第三方系统108可以提供可在客户端应用104内访问的第三方资源110。在一个或更多个示例中,第三方资源110可以从一个或更多个第三方系统108直接发送至客户端设备102。在一个或更多个附加示例中,第三方资源110可以经由服务器系统112被路由至客户端设备102。例如,一个或更多个第三方系统108可以将第三方资源110发送至服务器系统112,并且服务器系统112可以响应于由客户端设备102发送至服务器系统112的与第三方资源110相关的请求而将第三方资源110发送至客户端应用102。在各种示例中,服务器系统112可以在将第三方资源110发送至客户端设备102之前修改第三方资源110。在一个或更多个实现方式中,服务器系统112可以在将第三方资源110发送至客户端设备102之前向第三方资源110添加内容或计算工具中的至少一者。在一个或更多个其他示例中,一个或更多个第三方系统108可以进行以下中的至少一种:提供、创建、维护、管理或治理第三方应用106。
29.在至少一些实现方式中,第三方资源110可以是小规模版本的第三方应用106。例如,第三方资源110可以实现第三方应用106的特征的子集。在一个或更多个示例中,第三方资源110可以实现与第三方应用106无关的特征。在各种示例中,第三方资源110可以使用从一个或更多个第三方系统108获得的一个或更多个标记语言文档来实现。除了使用标记语言文档(例如,.*ml文件)之外,一个或更多个第三方系统108可以并入脚本语言(例如,.*js文件或.json文件)或样式表(例如,.*ss文件)中的至少一种。在一个或更多个说明性示例中,第三方资源110可以是在客户端应用104内实现的基于web的资源。在一个或更多个附加的说明性示例中,第三方资源110可以包括可在客户端应用104内访问的游戏。
30.在一个或更多个说明性示例中,客户端应用102可以接收输入以启动一个或更多个第三方资源110,或者启动与一个或更多个第三方资源110有关的功能或工具。客户端应用104可以确定所启动的一个或更多个第三方资源110包括基于web的外部资源。在各种示例中的一个中,客户端应用102可以请求来自一个或更多个第三方系统108或服务器系统112中的至少一个的一个或更多个第三方资源110。例如,可以在客户端设备102处从客户端应用104内接收用户输入,该用户输入对应于对一个或更多个第三方资源110的请求。为了说明,客户端设备102可以接收以下输入:该输入指示对在与客户端应用104相关联显示的用户界面内显示的用户界面元素的选择。响应于请求,一个或更多个第三方系统108或服务
器系统112中的至少一个可以发送包括一个或更多个标记语言文档的至少一个第三方资源110。一个或更多个标记语言文档可以由客户端设备102处理,以在客户端应用104内提供与一个或更多个所请求的第三方资源110对应的特征、工具或内容中的至少一者。
31.客户端应用104可以向客户端设备102的用户或与这样的用户有关的其他用户(例如,“好友”)通知发生关于一个或更多个第三方资源110的活动。例如,客户端应用104可以向在客户端应用104内发生的消息收发对话(例如,聊天会话)中的参与者提供与由用户组中的一个或更多个成员当前或最近使用第三方资源110有关的通知。可以邀请一个或更多个用户加入其中该用户组正在参与的关于第三方资源110的活动会话中。在一个或更多个附加示例中,也可以邀请一个或更多个用户启动相对于该用户组的关于第三方资源110的会话。第三方资源110可以向在客户端应用104内发生的消息收发对话中的参与者提供与消息收发对话中的一个或更多个附加参与者共享项、状况、状态或位置的能力。共享项可以是交互式聊天卡,聊天成员可以利用该交互式聊天卡进行交互,例如以启动相应的第三方资源110、查看第三方资源110内的特定信息、或使消息收发对话中的参与者到第三方资源110内的特定位置或状态。在给定的第三方资源110内,可以向客户端应用104内的用户发送响应消息。第三方资源110也可以在响应消息中选择性地包括不同的媒体项。
32.客户端应用104的每个实例能够与客户端应用104的另一实例、一个或更多个第三方应用106或者服务器系统112中的至少一个进行通信并且交换数据。在客户端应用104的实例之间、在第三方应用106之间、在客户端应用104的实例与第三方应用106之间、以及在客户端应用104的实例与服务器系统112之间交换的数据包括函数(例如,调用函数的命令)和有效载荷数据(例如,文本、音频、图像、视频或其他多媒体数据)。在客户端应用104的实例之间、在第三方应用106之间以及在客户端应用104的至少一个实例与至少一个第三方应用106之间交换的数据可以从由客户端设备102执行的应用的实例以及由附加客户端设备102执行的应用的实例直接进行交换。此外,在客户端应用104之间、在第三方应用106之间以及在至少一个客户端应用104与至少一个第三方应用106之间交换的数据可以从由客户端设备102执行的应用的实例间接地(例如,经由一个或更多个中间服务器)传送至由附加客户端设备102执行的应用的另一实例。在一个或更多个说明性示例中,在应用之间的间接通信中所使用的一个或更多个中间服务器可以包括在服务器系统112中。
33.第三方应用106可以与客户端应用104分离并且与客户端应用104不同。第三方应用106可以由客户端设备102独立于客户端应用104来下载和安装。在各种实现方式中,第三方应用106可以由客户端设备102在下载和安装客户端应用104之前或之后下载和安装。第三方应用106可以是由不同于提供客户端应用104的实体或组织的实体或组织提供的应用。可以由客户端设备102使用与客户端应用104有区分的登录凭证访问第三方应用106。也就是说,第三方应用106可以维护第一用户帐户,以及客户端应用104可以维护第二用户帐户。在一个或更多个实现方式中,可以由客户端设备102访问第三方应用106以执行各种活动和交互,例如听音乐、视频、跟踪锻炼、查看图形元素(例如,贴纸)、与其他用户通信等。作为示例,第三方应用106可以包括社交网络应用、约会应用、乘车或汽车共享应用、购物应用、交易应用、游戏应用、成像应用、音乐应用、视频浏览应用、锻炼跟踪应用、健康监测应用、图形元素或贴纸浏览应用或任何其他合适的应用。
34.服务器系统112经由一个或更多个网络114向客户端应用104提供服务器侧功能。
根据一些示例实现方式,服务器系统112可以是云计算环境。例如,在一个说明性示例中,服务器系统112以及与服务器系统112相关联的一个或更多个服务器可以与基于云的应用相关联。在一个或更多个实现方式中,客户端设备102和服务器系统112可以经由一个或更多个网络114耦接。
35.服务器系统112支持向客户端应用104提供的各种服务和操作。这样的操作包括向客户端应用104发送数据、从客户端应用104接收数据以及处理由客户端应用104生成的数据。作为示例,该数据可以包括消息内容、媒体内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持久性条件、社交网络信息和生活事件信息。通过经由客户端应用104的用户界面(ui)可用的功能来调用和控制架构100内的数据交换。服务器系统112可以是由服务提供方实现或由服务提供方维护其中之一的,该服务提供方经由客户端应用104提供一个或更多个服务。一个或更多个服务可以与社交网络、消息收发、内容创建、内容消费、在线零售、或它们的一个或更多个组合有关。
36.虽然架构100的某些功能在本文中被描述为由客户端应用104或由服务器系统112执行,但是功能在客户端应用104内或服务器系统112内的位置是设计选择。例如,可以在技术上优选的是:最初在服务器系统112内部署某些技术和功能,但稍后将该技术和功能迁移到其中客户端设备102具有足够处理能力的客户端应用104。
37.服务器系统112包括应用编程接口(api)服务器116,该api服务器116耦接至应用服务器118并且向应用服务器118提供编程接口。应用服务器118通信地耦接至数据库服务器120,该数据库服务器120有助于访问一个或更多个数据库122。一个或更多个数据库122可以存储与由应用服务器118处理的信息相关联的数据。一个或更多个数据库122可以是存储以下信息的存储设备:例如,未经处理的媒体内容、来自用户的原始媒体内容(例如,高质量媒体内容)、经处理的媒体内容(例如,格式化以与客户端设备102共享并在客户端设备102上观看的媒体内容)、与媒体内容项有关的上下文数据、与用户设备(例如,计算设备或客户端设备102)有关的上下文数据、媒体覆盖、媒体覆盖智能部件或智能元件、用户数据、用户设备信息、媒体内容(例如,视频和图像)、媒体内容数据(例如,与视频和图像相关联的数据)、计算设备上下文数据、序列化数据、会话数据项、用户设备位置数据、映射信息、交互消息使用数据、交互消息度量数据等。一个或更多个数据库122还可以存储与第三方服务器、客户端设备102、客户端应用104、用户、第三方应用106等有关的信息。
38.api服务器116在客户端设备102或开发者设备108中的至少一者与应用服务器118之间接收和发送数据(例如,命令和消息有效载荷)。具体地,应用编程接口(api)服务器116提供可以被客户端应用104调用或查询以便激活应用服务器118的功能的接口集(例如例程和协议)。应用编程接口(api)服务器116公开由应用服务器118支持的各种功能,包括:帐户注册、登录功能、经由应用服务器118将消息从客户端应用104的一个实例发送至客户端应用104的另一实例、将媒体文件(例如,图像、音频、视频)从客户端应用104发送至应用服务器118,以及针对可能由另一客户端应用104进行的访问,设置媒体内容的集合(例如,图库、故事、消息集合或媒体集合)、检索客户端设备102的用户的好友列表、检索这样的集合、检索消息和内容、向社交图添加和删除好友、在社交图内定位好友,以及打开应用事件(例如,与客户端应用104有关)。api服务器116也可以通过开发者设备108提供对框架的访问,所述框架可以用于修改或定制与和第三方应用106对应的内容有关的相机用户界面。
39.服务器系统112还可以包括web服务器124。web服务器124耦接至应用服务器118,并向应用服务器118提供基于web的接口。为此,web服务器124通过超文本传输协议(http)和若干其他有关协议来处理传入的网络请求。
40.应用服务器118托管多个应用和子系统,包括消息收发应用系统126、媒体内容处理系统128、社交网络系统130和第三方资源系统132。消息收发应用系统126实现了许多消息处理技术和功能,特别是与包括在从客户端应用104的多个实例接收到的消息中的内容(例如,文本和多媒体内容)的汇总及其他处理有关的消息处理技术和功能。例如,消息收发应用系统126可以经由有线网络(例如,因特网)、普通老式电话服务(pots)或无线网络(例如,移动、蜂窝、wifi、长期演进(lte)或蓝牙)使用电子邮件(email)、即时消息收发(im)、短消息服务(sms)、文本、传真或语音(例如网络电话(voip))消息来传递消息。消息收发应用系统126可以将来自多个源的文本和媒体内容汇总成内容的集合。然后,这些集合通过消息收发应用系统126变得可由客户端应用104访问。鉴于对这样的处理的硬件要求,也可以由消息收发应用系统126在服务器侧执行其他的处理器密集型和内存密集型的数据处理。
41.媒体内容处理系统128专用于执行各种媒体内容处理操作,通常涉及在消息收发应用系统126处的消息或其他内容项的有效载荷内接收的图像、音频或视频。媒体内容处理系统128可以访问一个或更多个数据存储装置(例如,数据库122)以检索存储的数据以用于处理媒体内容,并且存储所处理的媒体内容的结果。
42.社交网络系统130支持各种社交网络功能和服务,并使这些功能和服务可用于消息收发应用系统126。为此,社交网络系统130维护并访问数据库122内的实体图。由社交网络系统130支持的功能和服务的示例包括:识别与特定用户有关系或特定用户正在“关注”的客户端应用104的其他用户,并且还识别特定用户的其他实体和兴趣。社交网络系统130可以访问与用户的好友中的每一个或其他社交网络关系相关联的位置信息,以确定他们在地理上居住的位置或当前所处的位置。此外,社交网络系统130可以维护用户好友中的每一个的位置简档,该位置简档指示用户的好友居住的地理位置。
43.第三方资源系统132可以从第三方系统108向客户端设备102传送第三方资源110。以这种方式,第三方资源系统132可以控制第三方资源110从第三方系统108至客户端设备102的流动。在各种示例中,第三方资源系统132还可以监测第三方资源110在客户端应用104内的使用。例如,第三方资源系统132可以确定一个或更多个第三方资源110在客户端应用104内被启动的次数。此外,第三方资源系统132可以确定一个或更多个第三方资源110的使用频率。在各种示例中,第三方资源系统132可以从客户端设备102获得指示第三方资源110被客户端应用104的用户使用的数据。在一个或更多个示例中,第三方资源系统132可以从客户端设备102请求与第三方资源110的使用有关的数据。在一个或更多个附加示例中,在以下中的至少一种情况下——定期地或在检测到第三方资源110的使用的变化时,客户端设备102可以将与第三方资源110的使用有关的数据发送至服务器系统112。
44.第三方资源系统132可以存储以下数据,所述数据指示第三方资源110的使用以及正在使用第三方资源110的客户端应用104的用户的账户。例如,数据库122可以存储与客户端应用104的用户的账户有关的用户简档数据134。用户简档数据134可以包括客户端应用104的用户的个人信息、客户端应用104的用户的一个或更多个标识符(例如,用户名、头像等)、客户端应用104的用户的登录信息、客户端应用104的用户的认证信息、客户端应用104
的用户的位置信息、客户端应用104的附加用户的联系信息、或它们的一个或更多个组合。用户简档数据134还可以指示使用客户端应用104生成的关于客户端应用104的用户的内容。该内容可以包括消息内容、视频内容、文本内容、图像内容或音频内容中的至少一个。此外,用户简档数据134可以指示与客户端应用104的用户有关的增强现实内容项。
45.用户简档数据134还可以包括使用数据136,该使用数据136指示对客户端应用104的特征的使用。在各种示例中,使用数据136可以指示关于可以经由客户端应用104访问的内容的观看历史。例如,使用数据136可以指示关于可以经由客户端应用104访问的消息内容、视频内容或图像内容中的至少一个的观看信息。在一个或更多个示例中,使用数据136可以指示经由客户端应用104访问内容项的客户端应用104的用户的特性。使用数据136还可以指示由客户端应用104的用户查看的内容的创建者的特性。在一个或更多个附加示例中,使用数据136可以指示对客户端应用104的一个或更多个增强现实内容项的使用。此外,使用数据136可以指示在客户端应用104内对第三方资源110的使用。
46.用户简档数据134还可以包括第三方资源信息138。第三方资源信息138可以利用客户端应用104指示客户端应用104的用户已经与他们各自的账户相关联的第三方资源110。在一个或更多个示例中,第三方资源110可以响应于经由客户端应用104获得的用户输入来与客户端应用104的用户的账户相关联,所述用户输入指示第三方资源110已经被用户选择并且被添加至针对客户端应用110的各个用户的第三方资源110的相应集合。此外,第三方资源110可以响应于客户端应用104的用户启动或访问第三方资源110来与客户端应用104的用户的账户相关联。
47.第三方资源信息138还可以向客户端应用104的用户指示对第三方资源110的推荐。例如,第三方资源系统132可以分析客户端应用104的用户的特性,以确定客户端应用104的用户带有具有至少阈值量的相似性的用户简档。为了说明,第三方资源系统132可以分析客户端应用104的用户的特性、客户端应用104的用户的个人信息(例如,年龄、职业、教育水平等)、客户端应用104的用户的位置信息、客户端应用104的用户的内容观看历史、第三方资源110的使用历史、或它们的一个或更多个组合,以确定客户端应用104的用户的简档之间的相似性的测量结果。第三方资源系统132可以识别由客户端应用104的第一用户访问的第三方资源110,并且确定针对客户端应用104的第二用户的推荐,所述第二用户的用户简档相对于第一用户的用户简档具有至少阈值量的相似性。在一个或更多个说明性示例中,第三方资源系统132可以确定客户端应用104的第一用户的用户简档与客户端应用104的第二用户的用户简档具有至少阈值量的相似性。在这些场景中,第三方资源系统132还可以确定:与客户端应用104的第一用户的账户相关联的第三方资源不在客户端应用104的第二用户的账户中。第三方资源系统132可以继续确定第三方资源110是针对客户端应用104的第二用户的推荐。
48.在一个或更多个附加示例中,第三方资源系统132可以确定对应于第三方资源110的用户界面元素的布局的至少一部分。在各种示例中,第三方资源系统132可以向客户端应用104提供以下信息——客户端应用104可以使用该信息来确定客户端应用104的用户界面内的用户界面元素的布置,其中,用户界面元素对应于可以由客户端应用104的用户访问的各个第三方资源110。例如,第三方资源系统132可以向客户端设备104发送指示与客户端应用104的用户的账户相关联的第三方资源110以及第三方资源110的使用频率的信息。客户
端应用104可以使用从第三方资源系统132接收的信息来确定将在用户界面中显示的与第三方资源110的至少一部分相对应的用户界面元素。此外,客户端应用104可以基于与相应用户界面元素对应的第三方资源110的使用频率来确定对用户界面元素进行显示的顺序。在一个或更多个说明性示例中,由客户端应用104的用户以相对较高频率使用的第三方资源110可以在用户界面上在由客户端应用104的用户以相对较低频率使用的其他第三方资源110之前出现。第三方资源系统132还可以向客户端应用104发送对第三方资源110的推荐,使得客户端应用104可以使与推荐对应的用户界面元素显示在用户界面中。
49.第三方资源系统132也可以将与第三方资源110对应的用户界面元素的布局直接发送至客户端应用104。然后,客户端应用104可以使用户界面元素的布局显示在用户界面中。在一个或更多个实现方式中,可以基于与在客户端应用104确定与第三方资源110对应的用户界面元素的布局的实现方式中由第三方资源系统132提供给客户端应用104的信息相同或类似的信息来确定由第三方资源系统132确定的布局。例如,可以由第三方资源系统132使用第三方资源110被客户端应用104的用户使用的频率或第三方资源110被客户端应用104的用户使用的新近性中的至少一个来确定与第三方资源110对应的用户界面元素的布局。在各种示例中,第三方资源系统132可以响应于从客户端应用104接收指示正在经由客户端应用104访问包括用户界面元素的用户界面的数据,向客户端应用104发送指示与第三方资源110对应的用户界面元素的布局的信息。在一个或更多个附加示例中,第三方资源系统132可以定期地或响应于确定布局信息改变来向客户端应用104发送指示与第三方资源110对应的用户界面元素的布局的信息。
50.此外,第三方资源系统132可以在将第三方资源110发送至客户端设备102之前修改从一个或更多个第三方系统108接收的第三方资源110。为了说明,第三方资源系统132可以基于请求访问第三方资源110的用户的用户账户信息来修改从一个或更多个第三方系统108接收的第三方资源110。此外,第三方资源系统132可以通过向第三方资源110添加访问信息来修改从一个或更多个第三方系统108接收的第三方资源110。访问信息可以包括应用编程接口(api)信息或统一资源标识符(uri)信息中的至少一个,客户端应用104可以与第三方资源110的实现方式结合使用上述信息,以访问来自一个或更多个第三方系统108或者服务器系统112中的至少一者的数据。
51.图2是示出根据一些示例的关于服务器系统112的另外的细节的框图。具体地,服务器系统112被示出为包括客户端应用104和应用服务器118。服务器系统112包含多个子系统,这些子系统在客户端侧由客户端应用104支持并且在服务器侧由应用服务器118支持。这些子系统包括例如短暂定时器系统202、集合管理系统204、增强系统206、地图系统208、游戏系统210和第三方资源系统132。
52.短暂定时器系统202负责施行由客户端应用104和消息收发应用系统126对内容进行的临时或限时访问。短暂定时器系统202并入有多个定时器,所述多个定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,选择性地允许经由客户端应用104对消息和相关联内容进行访问(例如,用于呈现和显示)。下面提供关于短暂定时器系统202的操作的另外的细节。
53.集合管理系统204负责管理媒体的集或集合(例如,文本、图像视频和音频数据的集合)。可以将内容(例如,消息,包括图像、视频、文本和音频)的集合组织成“事件图库”或“事件故事”。可以使这样的集合在指定的时间段(例如,内容所涉及的事件的持续时间)内可用。例如,可以使与音乐会有关的内容在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责发布向客户端应用104的用户界面提供特定集合的存在性的通知的图标。
54.集合管理系统204还包括使集合管理者能够对内容的特定集合进行管理和策展的策展接口212。例如,策展接口212使得事件组织者能够对与特定事件相关的内容的集合进行策展(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来对内容集合进行自动策展。在某些示例中,可以向用户支付补偿以将用户生成的内容包括到集合中。在这样的情况下,集合管理系统204进行操作以自动向这样的用户支付费用以使用其内容。
55.增强系统206提供使得用户能够增强(例如,注释或以其他方式修改或编辑)与经由客户端应用104产生的内容例如消息相关联的媒体内容的各种功能。例如,增强系统206提供与生成和发布用于由服务器系统112处理的内容的媒体覆盖有关的功能。增强系统206基于客户端设备102的地理位置可操作地向客户端应用104供应媒体覆盖或增强(例如,图像滤镜)。在另一示例中,增强系统206基于其他信息(例如客户端设备102的用户的社交网络信息)可操作地向客户端应用104供应媒体覆盖。媒体覆盖可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、标志、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体覆盖可以包括可以覆盖在由客户端设备102拍摄的照片之上的文本或图像。在另一示例中,媒体覆盖包括位置标识(例如,威尼斯海滩)覆盖、实况事件的名称或商家名称(例如,海滩咖啡馆)覆盖。在另一示例中,增强系统206使用客户端设备102的地理位置来标识包括在客户端设备102的地理位置处的商家的名称的媒体覆盖。媒体覆盖可以包括与商家相关联的其他标记。媒体覆盖可以被存储在数据库122中并通过数据库服务器116访问。
56.在一些示例中,增强系统206提供基于用户的发布平台,该发布平台使得用户能够选择地图上的地理位置,并且上传与所选择的地理位置相关联的内容。用户还可以指定特定媒体覆盖应当被提供给其他用户的情况。增强系统206生成包括所上传的内容的媒体覆盖并且将所上传的内容与所选择的地理位置相关联。
57.在其他示例中,增强系统206提供基于商家的发布平台,该发布平台使得商家能够经由竞价处理来选择与地理位置相关联的特定媒体覆盖。例如,增强系统206将最高出价商家的媒体覆盖与对应的地理位置相关联达预定义时间量。
58.地图系统208提供各种地理定位功能,并且支持客户端应用104呈现基于地图的媒体内容和消息。例如,地图系统208使得能够在地图上显示(例如,存储在图3的简档数据308中的)用户图标或头像,以在地图的上下文内指示用户“好友”的当前或过去位置,以及由这样的好友生成的媒体内容(例如,包括照片和视频的消息集合)。例如,在客户端应用104的地图界面上,可以将用户从特定地理位置发布到服务器系统112的消息在地图的该特定位置的上下文内显示给特定用户的“好友”。用户还可以经由客户端应用104与服务器系统112的其他用户(例如,使用适当的状态头像)共享他或她的位置和状况信息,其中,将该位置和状态信息在客户端应用104的地图界面的上下文内类似地显示给所选择的用户。
59.游戏系统210在客户端应用104的上下文内提供各种游戏功能。客户端应用104提供游戏界面,该游戏界面提供可以由用户在客户端应用104的上下文内启动并与服务器系统112的其他用户一起玩的可用游戏列表。服务器系统112还使得特定用户能够通过从客户端应用104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。客户端应用104还支持在游戏上下文内进行语音消息收发和文本消息收发(例如,聊天)两者,为游戏提供排行榜,并且还支持提供游戏内奖励(例如,游戏币和物品)。
60.第三方资源系统132可以促进在客户端应用104内执行的在第三方系统与客户端设备之间的关于第三方资源的通信。第三方资源系统132还可以确定针对客户端应用104的用户的对第三方资源的推荐。此外,第三方资源系统132可以确定在由客户端应用104生成的可以用于访问第三方资源的用户界面内对应于第三方资源的用户界面元素的布置。在一个或更多个示例中,第三方资源系统132可以基于与由客户端应用104的各个用户利用的第三方资源的数目有关的使用数据来确定所述布置。
61.图3是示出根据一个或更多个示例实现方式的可以存储在服务器系统112的数据库122中的数据结构300的示意图。虽然数据库122的内容被示出为包括多个表,但是应当理解,数据可以以其他类型的数据结构存储(例如,作为面向对象的数据库)。
62.数据库122包括存储在消息表302内的消息数据。对于任何特定的一个消息,该消息数据至少包括消息发送方数据、消息接收方(或接收者)数据和有效载荷。
63.实体表304存储实体数据,并且(例如,参考地)链接至实体图306和简档数据308。其记录被维护在实体表304内的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管实体类型如何,服务器系统112关于其存储有数据的任何实体都可以是被识别的实体。每个实体设置有唯一标识符以及实体类型标识符(未示出)。
64.实体图306存储关于实体之间的关系和关联的信息。仅作为示例,这样的关系可以是社交的、职业的(例如,在共同的公司或组织工作)、基于兴趣的或基于活动的。
65.简档数据308存储关于特定实体的多种类型的简档数据。简档数据308可以基于由特定实体指定的隐私设置被选择性地使用并呈现给架构100的其他用户。在实体是个人的情况下,简档数据308包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置)以及用户选择的头像表示(或这样的头像表示的集合)。特定用户然后可以选择性地将这些头像表示中的一个或更多个包括在经由架构100传送的消息或其他数据的内容内,以及包括在由客户端应用104向其他用户显示的地图界面上。头像表示的集合可以包括“状态头像”,其呈现用户可以选择在特定时间传达的状态或活动的图形表示。
66.在实体是团体的情况下,除了团体名称、成员和相关团体的各种设置(例如,通知)之外,团体的简档数据308可以类似地包括与该团体相关联的一个或更多个头像表示。
67.在各种示例中,简档数据308可以指示与客户端应用104的个人用户的账户相关联的第三方资源。简档数据308还可以指示由客户端应用104的用户对第三方资源的使用数据。
68.数据库122还在增强表310中存储增强数据,例如覆盖或滤镜。增强数据与视频(其数据被存储在视频表314中)和图像(其数据被存储在图像表316中)相关联并且应用于视频和图像。
69.在一个示例中,滤镜是在向接收方用户呈现期间被显示为覆盖在图像或视频上的
覆盖物。滤镜可以是各种类型的,包括来自当发送用户正在编写消息时由客户端应用104呈现给发送用户的一组滤镜的用户选择的滤镜。其他类型的滤镜包括地理位置滤镜(也称为地理滤镜),其可以基于地理位置被呈现给发送用户。例如,可以基于由客户端设备102的全球定位系统(gps)单元确定的地理位置信息,由客户端应用104在用户界面内呈现特定于附近或特殊位置的地理位置滤镜。
70.另一类型的滤镜是数据滤镜,其可以由客户端应用104基于由客户端设备102在消息创建处理期间收集的其他输入或信息来选择性地呈现给发送用户。数据滤镜的示例包括特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
71.可以存储在图像表316内的其他增强数据包括增强现实内容项(例如,对应于应用镜头或增强现实体验)。增强现实内容项可以是可以添加至图像或视频的实时特效和声音。
72.如上所述,增强数据包括增强现实内容项、覆盖、图像变换、ar图像,以及涉及可以应用于图像数据(例如,视频或图像)的修改的类似项。这包括实时修改,其在使用客户端设备102的设备传感器(例如,一个或更多个相机)捕获图像时对图像进行修改并且然后在客户端设备102的屏幕上显示具有修改的图像。这还包括对存储的内容进行修改,例如可以被修改的图库中的视频剪辑。例如,在能够访问多个增强现实内容项的客户端设备102中,用户可以将单个视频剪辑与多个增强现实内容项一起使用来查看不同的增强现实内容项将如何修改所存储的剪辑。例如,通过针对内容选择不同的增强现实内容项,可以将应用不同伪随机运动模型的多个增强现实内容项应用于同一内容。类似地,实时视频捕获可以与所示修改一起使用,以示出当前由客户端设备102的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以仅在屏幕上显示而不存储在存储器中,或者由设备传感器捕获的内容可以在有或没有修改的情况下被记录并存储在存储器中(或者两者)。在一些系统中,预览特征可以同时示出不同的增强现实内容项在显示器中的不同窗口内看起来如何。这可以例如使得能够同时在显示器上观看具有不同伪随机动画的多个窗口。
73.因此,数据以及使用增强现实内容项的各种系统或使用该数据来修改内容的其他这样的变换系统可以涉及:对象(例如,面部、手、身体、猫、狗、表面、对象等)的检测;在这样的对象离开、进入视频帧中的视场以及在视场周围移动时对其进行跟踪;以及在跟踪这样的对象时对其进行修改或变换。在各种实现方式中,可以使用用于实现这样的变换的不同方法。一些示例可以涉及生成一个或多个对象的三维网格模型,并且在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以使用对对象上的点进行跟踪来将图像或纹理(其可以是二维或三维的)放置在跟踪位置处。在又一示例中,可以使用对视频帧的神经网络分析来将图像、模型或纹理放置在内容(例如,图像或视频的帧)中。因此,增强现实内容项涉及以下两者:用于创建内容中的变换的图像、模型和纹理,以及利用对象检测、跟踪和放置来实现这样的变换所需的附加建模及分析信息。
74.可以利用保存在任何类型的计算机化系统的存储器中的任何类型的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将它们保存在设备的存储器中,或者可以使用设备的传感器来生成视频流。此外,可以使用计算机动画模型来处理任何对象,例如人的面部和人体的部分、动物、或非生命事物(例如椅子、汽车或其他对象)。
75.在一些示例中,当连同要变换的内容一起选择特定修改时,由计算设备标识要变换的元素,并且然后如果所述元素存在于视频帧中,则检测并跟踪它们。根据对修改的请求来修改对象的元素,从而变换视频流的帧。可以通过用于不同类型的变换的不同方法来执行视频流的帧的变换。例如,对于主要涉及改变对象元素的形式的帧的变换,计算针对对象的每个元素的特征点(例如,使用主动形状模型(asm)或其他已知方法)。然后,针对对象的至少一个元素中的每个元素生成基于特征点的网格。该网格用于在视频流中跟踪对象的元素的后续阶段。在跟踪处理中,所提及的针对每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于对修改的请求来针对每个元素生成第一点的第一集合,并且基于第一点的集合和对修改的请求来针对每个元素生成第二点的集合。然后,可以基于第一点的集合和第二点的集合以及网格通过修改对象的元素来对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来改变修改对象的背景或使背景失真。
76.在一些示例中,可以通过计算针对对象的每个元素的特征点并基于所计算的特征点生成网格来执行使用对象的元素改变对象的一些区域的变换。在网格上生成点,并且然后生成基于点的各种区域。然后通过将针对每个元素的区域与针对至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可以基于对修改的请求来修改区域的特性,从而对视频流的帧进行变换。根据对修改的特定请求,可以以不同的方式来对所提及的区域的特性进行变换。这样的修改可以涉及:改变区域的颜色;从视频流的帧中去除区域的至少一些部分;将一个或更多个新对象包括到基于对修改的请求的区域中;以及修改区域或对象的元素或使所述元素失真。在各种实现方式中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为要用于确定模型动画的选项的整个状态空间的控制点。
77.在用于使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定的面部检测算法(例如,viola-jones)在图像上检测面部。然后,将主动形状模型(asm)算法应用于图像的面部区域以检测面部特征参考点。
78.可以使用适于面部检测的其他方法和算法。例如,在一些实现方式中,使用表示在所考虑的大多数图像中存在的可区分点的界标(landmark)来定位特征。例如,对于面部界标,可以使用左眼瞳孔的位置。在初始界标不可标识的情况下(例如,如果人具有眼罩),则可以使用次级界标。这样的界标标识过程可以用于任何这样的对象。在一些示例中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为向量。利用使形状点之间的平均欧几里得距离最小化的相似性变换(允许平移、缩放和旋转)来将一个形状与另一个形状对准。平均形状是对准的训练形状的平均。
79.在各种示例中,开始从与由全局面部检测器确定的面部的位置和大小对准的平均形状搜索界标。然后,这样的搜索重复以下步骤:通过对每个点周围的图像纹理进行模板匹配来调整形状点的位置来建议暂定形状,并且然后使暂定形状符合全局形状模型,直到收敛发生。在一个或更多个系统中,单独的模板匹配是不可靠的,并且形状模型汇集弱模板匹配的结果以形成更强的整体分类器。在从粗分辨率到细分辨率的图像金字塔中的每一级处重复整个搜索。
80.变换系统可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在保持适当的用户体验、计算时间和功耗的同时,在客户端设备102上本地执行复杂的图像操
纵。复杂的图像操纵可以包括大小和形状改变、情感变换(例如,将面部从皱眉改变为微笑)、状态变换(例如,使主体变老、减小外表年龄、改变性别)、风格变换、图形元素应用以及由已经被配置成在客户端设备102上有效执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
81.用于变换图像数据的计算机动画模型可以由以下系统使用:在该系统中,用户可以使用客户端设备102来捕获用户的图像或视频流(例如,自拍照),该客户端设备102具有作为在客户端设备102上操作的客户端应用104的一部分而操作的神经网络。在客户端应用104内操作的变换系统确定图像或视频流内面部的存在,并且提供与用于变换图像数据的计算机动画模型相关联的修改图标,或者计算机动画模型可以与本文描述的接口相关联地存在。该修改图标包括可以作为用于修改图像或视频流内的用户面部的基础的变化作为修改操作的一部分。一旦选择了修改图标,变换系统就发起转换用户的图像以反映所选择的修改图标的处理(例如,为用户生成微笑面部)。一旦捕获图像或视频流并且选择了指定的修改,就可以在客户端设备102上显示的图形用户界面中呈现修改后的图像或视频流。变换系统可以对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改。也就是说,用户可以捕获图像或视频流,并且一旦选择了修改图标,就可以实时或接近实时地向用户呈现修改后的结果。此外,修改可以在捕获视频流并且所选择的修改图标保持切换时是持久的。机器教导的神经网络可以用于实现这样的修改。
82.呈现由变换系统执行的修改的图形用户界面可以向用户供应附加的交互选项。这样的选项可以基于用于发起内容捕获和对特定计算机动画模型的选择的界面(例如,从内容创建者用户界面发起)。在各种实现方式中,在初始选择修改图标之后,修改可以是持久的。用户可以通过轻点或以其他方式选择正在被变换系统修改的面部来切换修改的开或关,并对其进行存储以供稍后查看或浏览成像应用的其他区域。在由变换系统修改多个面部的情况下,用户可以通过轻点或选择在图形用户界面内修改和显示的各个面部来全局地切换修改的开或关。在一些实现方式中,可以单独修改多个面部的组中的各个面部,或者可以通过轻点或选择图形用户界面内显示的单个面部或一系列各个面部来单独切换这样的修改。
83.故事表312存储关于消息以及相关联的图像、视频或音频数据的集合的数据,所述消息和相关联的图像、视频或音频数据被编写成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,其记录被维护在实体表304中的每个用户)发起。用户可以创建呈已经由该用户创建和发送/广播的内容的集合的形式的“个人故事”。为此,客户端应用104的用户界面可以包括用户可选择以使得发送用户能够将特定内容添加至他或她的个人故事的图标。
84.集合还可以构成“实况故事”,“实况故事”是手动地、自动地或使用手动和自动技术的组合创建的来自多个用户的内容的集合。例如,“实况故事”可以构成来自各种位置和事件的用户所提交的内容的策展流。可以例如经由客户端应用104的用户界面向其客户端设备具有启用的位置服务并且在特定时间处于共同位置事件的用户呈现向特定实况故事贡献内容的选项。可以由客户端应用104基于他或她的位置向用户标识实况故事。最终结果是从社群角度讲述的“实况故事”。
85.另一类型的内容集合被称为“位置故事”,“位置故事”使得其客户端设备102位于
特定地理位置(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些示例中,对位置故事的贡献可能需要第二程度的认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
86.如上所述,视频表314存储视频数据,在一个示例中,所述视频数据与其记录维持在消息表302内的消息相关联。类似地,图像表316存储图像数据,所述图像数据与其消息数据存储在实体表304中的消息相关联。实体表304可以将来自增强表310的各种增强与存储在图像表316和视频表314中的各种图像和视频进行关联。
87.数据库122还可以存储第三方资源数据表318。第三方资源数据表318可以存储指示对于客户端应用104的用户可用的第三方资源的信息。第三方资源数据表318还可以存储用于访问第三方资源的信息。例如,对于各个第三方资源,第三方资源数据表318可以存储指示与所述各个第三方资源有关的存储位置的信息,例如统一资源指示器。各个第三方资源可以由第三方系统存储,所述第三方系统对相应的第三方资源进行以下中的至少一种:创建、提供、维护、管理或控制。此外,第三方资源数据表318可以指示api信息例如一个或更多个api调用,该api信息可以由客户端应用104用于访问第三方资源。在一个或更多个示例中,第三方资源可以包括在客户端应用104内实施的标记语言文档。在各种示例中,第三方资源表318可以存储与各个第三方资源有关的标记语言文档的至少一部分。
88.图4是示出根据一些实现方式的内容400的示例框架的示意图。内容400可以由客户端应用104生成。在各种示例中,内容400可以通过客户端应用104的第一实例生成,并且被传送至客户端应用104的第二实例或服务器系统112中的至少一个。在内容400包括消息的情况下,内容400可以用于填充存储在数据库122内并且可由应用服务器114访问的消息表302。在一个或更多个实现方式中,内容400可以作为客户端设备102或应用服务器114中的至少一个的“在途”或“飞行中”数据存储在存储器中。内容400被示出为包括以下组成部分中的至少一部分:
89.·
内容标识符402:标识内容400的唯一标识符。
90.·
内容文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在内容400中的文本。
91.·
内容图像有效载荷406:由客户端设备102的相机部件捕获或从客户端设备102的存储器部件中检索并且包括在内容400中的图像数据。所发送或所接收的内容400的图像数据可以存储在图像表316中。
92.·
内容视频有效载荷408:由相机部件捕获或从客户端设备102的存储器部件中检索并且包括在内容400中的视频数据。所发送或所接收的内容400的视频数据可以存储在视频表314中。
93.·
内容音频有效载荷410:由麦克风捕获或从客户端设备102的存储器部件中检索并且包括在内容400中的音频数据。
94.·
内容增强数据412:表示要应用于内容400的内容图像有效载荷406、内容视频有效载荷408或内容音频有效载荷410的增强的增强数据(例如,滤镜、贴纸或者其他注释或增强)。所发送或所接收的内容400的增强数据可以存储在增强表310中。
95.·
内容持续时间参数414:以秒为单位指示内容400(例如,内容图像有效载荷406、内容视频有效载荷408、内容音频有效载荷410)的一个或更多个部分将被呈现或使得对于
用户可经由客户端应用104访问的时间量的参数值。
96.·
内容地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度和经度坐标)。在有效载荷中可以包括多个内容地理位置参数416值,这些参数值中的每个参数值与关于包括在内容中的内容项(例如,内容图像有效载荷406内的特定图像或内容视频有效载荷408中的特定视频)相关联。
97.·
内容故事标识符418:标识内容400的内容图像有效载荷406中的特定项与之相关联的一个或更多个内容集合(例如,故事表312中标识的“故事”)的标识符值。例如,内容图像有效载荷406内的多个图像可以各自使用标识符值与多个内容集合相关联。
98.·
内容标签420:每个内容400可以用多个标签来标记,多个标签中的每个标签指示包括在内容有效载荷中的内容的主题。例如,在包括在内容图像有效载荷406中的特定图像描绘动物(例如,狮子)的情况下,在内容标签420内可以包括指示相关动物的标签值。标签值可以基于用户输入手动生成或者可以使用例如图像识别自动生成。
99.·
内容发送方标识符422:指示在其上生成内容400并且从其发送内容400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
100.·
内容接收方标识符424:指示内容400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
101.·
第三方应用资源标识符426:可以相对于内容执行的第三方应用资源的一个或更多个标识符。在一个或更多个示例中,内容400可以包括关于对应于第三方应用资源标识符426的第三方资源交换的一个或更多个信息。因此,关于在客户端应用104的实例内执行的第三方应用资源交换的通信可以被跟踪,并被路由至同样在客户端应用104的实例内执行第三方应用资源的预期接收方。
102.内容400的各个组成部分的数据(例如,值)可以对应于指向在其内存储有数据的表中的位置的指针。例如,内容图像有效载荷406中的图像值可以是指向图像表316内的位置的指针(或图像表316内的位置的地址)。类似地,内容视频有效载荷408内的值可以指向存储在视频表314内的数据,存储在内容增强数据412内的值可以指向存储在增强表310中的数据,存储在内容故事标识符418内的值可以指向存储在故事表312中的数据,并且存储在内容发送方标识符422和内容接收方标识符424内的值可以指向存储在实体表304内的用户记录。第三方资源标识符426可以指向第三方资源数据表318中的与访问关于内容的第三方资源有关的信息。在一个或更多个说明性示例中,在消息收发对话的上下文中,第三方应用资源标识符426可以指示正在由对话中的一个或更多个参与者执行的第三方应用资源,并且第三方应用资源标识符426可以由消息收发对话中的附加参与者的客户端设备使用以使用包括在第三方应用资源数据表318中的信息来加入第三方资源会话。
103.图5是示出根据一个或更多个示例实现方式的在客户端应用内经由相机用户界面访问第三方资源的架构500的图像表示。架构500可以包括由用户502操作的客户端设备102。客户端设备102可以存储并执行客户端应用104的实例。客户端设备102还可以包括一个或更多个相机例如相机504。相机504可以捕获图像内容或视频内容中的至少一种。客户端设备102还可以包括一个或更多个输入设备,所述输入设备捕获可以与由相机504捕获的视频内容对应的音频内容。相机504可以捕获相机视图506,该相机视图506可以包括由相机504捕获的内容的实时视图。
104.客户端应用104可以使多个用户界面经由客户端设备102的一个或更多个显示设备显示。例如,客户端应用104可以使相机用户界面508显示。相机用户界面508可以包括用户内容510。用户内容510可以包括经由相机504捕获的图像内容或视频内容中的至少一种。在一个或更多个示例中,用户内容510可以包括相机视图506。在一个或更多个附加示例中,用户内容510可以包括由相机504先前捕获的内容。在各种示例中,用户内容510的至少一部分可以由客户端设备102的存储器存储。在一个或更多个另外的示例中,用户内容510的至少一部分可以存储在相对于客户端设备102远程定位并且可被客户端设备102访问的一个或更多个数据存储设备中。
105.相机用户界面508还可以包括访问应用资源用户界面元素512。访问应用资源用户界面元素512可被选择以启动应用资源用户界面514,该应用资源用户界面514包括可被选择以启动客户端应用104内的资源实例的用户界面元素。在各种示例中,资源可以包括第三方应用资源,该第三方应用资源由与创建和维护客户端应用104的服务提供方不同的服务提供方进行创建或维护至少其中之一。在一个或更多个示例中,应用资源可以在客户端应用104的实例内操作。此外,应用资源可以包括较少的部件,使用较少的处理资源,并且使用比客户端应用更少的内存资源。
106.响应于来自用户502的用于选择访问应用资源用户界面元素512的输入,可以生成应用资源用户界面元素选择516并将其发送至服务器系统108。然后,第三方资源系统132可以确定在应用资源用户界面514中显示的内容的至少一部分。例如,第三方资源系统132可以确定从应用资源用户界面514可访问的资源。在各种示例中,第三方资源系统132可以分析对应于用户502的用户简档数据134的一部分,以确定从应用资源用户界面514可访问的应用资源。在一个或更多个示例中,第三方资源系统132可以分析用户502的用户简档数据134以确定最喜爱应用资源516。在各种示例中,第三方资源系统132可以确定应用资源被用户502访问的频率。然后,第三方资源系统132可以基于相应的使用频率对资源进行排名。最喜爱应用资源516可以包括多个经排名的应用资源,例如排名最高的五个应用资源、排名最高的十个应用资源、排名最高的十五个应用资源、或排名最高的二十个应用资源。
107.第三方资源系统132还可以分析用户502的用户简档数据134以确定最近的应用资源518。为了说明,第三方资源系统132可以分析用户502的用户简档数据134,以确定在一段时间内(例如,从应用资源用户界面选择516的时间起至少30分钟、从应用资源用户界面选择516的时间起至少60分钟、从应用资源用户界面选择516的时间起至少2小时、从应用资源用户界面选择516的时间起至少6小时、或从应用资源用户界面选择516的时间起至少12小时)由用户502经由客户端应用104访问的应用资源。
108.此外,第三方资源系统132可以分析用户502的用户简档数据134以确定通知520。通知520可以对应于经由客户端应用104可访问的、用户502可能感兴趣的内容。在一个或更多个示例中,通知520可以与当前事件、媒体内容、消息内容、日历事件、客户端应用104的其他用户的内容、广告、增强现实内容、它们的一个或更多个组合等有关。在各种示例中,第三方资源系统132可以分析由用户502经由客户端应用104访问的内容的特征来确定一个或更多个通知520。在一个或更多个说明性示例中,第三方资源系统132可以实现一个或更多个机器学习算法,以确定用户可能感兴趣的内容并基于该内容生成通知520。所述一个或更多个机器学习算法可以包括一个或更多个卷积神经网络、一个或更多个生成对抗网络、一个
或更多个支持向量机、一个或更多个随机森林、一个或更多个贝叶斯网络、一个或更多个前馈神经网络、或它们的一个或更多个组合。第三方资源系统132可以确定由用户502经由客户端应用104访问的内容的特征与经由客户端应用104访问的附加内容之间的相似性的测量结果。第三方资源系统132可以在通知520中包括具有至少阈值测量结果的相似性的附加内容。
109.响应于应用资源用户界面元素选择516,服务器系统108可以将最喜爱应用资源516、最近的应用资源518或通知520中的至少一个发送至客户端设备102。应用资源用户界面514可以包括第一部分,该第一部分包括应用资源用户界面元素524。应用资源用户界面元素524可被选择以启动应用资源。在一个或更多个示例中,应用资源用户界面元素524可以对应于最喜爱应用资源516的至少一部分。应用资源用户界面元素524也可以对应于最近的应用资源518的至少一部分。此外,应用资源用户界面514可以包括第二部分,该第二部分包括通知520的至少一部分。另外,应用资源用户界面514可以包括第三部分,该第三部分包括由相机用户界面508显示的用户内容510的一部分。在一个或更多个说明性示例中,应用资源用户界面514可以包括可被选择以从应用资源用户界面514返回至相机用户界面508的用户界面元素。
110.尽管在图5的说明性示例中,第三方资源系统132被示出为在服务器系统108中实现,但在一个或更多个附加示例中,关于第三方资源系统132描述的操作的至少一部分可以由客户端设备102执行。此外,尽管关于第三方资源描述了架构500的操作,但由架构500执行的操作的至少一部分可以关于以下资源来执行:所述资源由创建并维护客户端应用104的服务提供方来进行创建或维护至少其中之一。
111.图6和图7示出了在客户端应用104的实例内可执行的访问第三方资源的处理的一个或更多个实现方式的流程图。该处理可以体现在用于由一个或更多个处理器执行的计算机可读指令中,使得该处理的操作可以部分地或全部由客户端应用104或服务器系统112中的至少一者的功能部件来执行。因此,在一些情况下,下面参照示例通过示例的方式描述了该处理。然而,在其他实现方式中,关于图6和图7描述的处理的操作中的至少一些可以部署在各种其他硬件配置上。因此,关于图6和图7描述的处理不旨在限于服务器系统112或客户端设备102,而是可以全部或部分地由一个或更多个附加部件来实现。尽管所描述的流程图可以将操作示出为顺序处理,但是这些操作中的许多操作可以并行或同时执行。另外,可以对操作的顺序进行重新排列。当处理的操作完成时,该处理终止。处理可以对应于方法、程序、算法等。方法的操作可以被全部或部分执行,可以与其他方法中的操作中的一些或所有操作结合执行,并且可以由任意数目的不同系统(例如,本文中描述的系统)或其任何部分(例如,包括在系统中的任何一个中的处理器)执行。
112.图6是示出根据一个或更多个示例实现方式的经由具有消息收发能力的客户端应用向客户端设备提供与访问第三方资源有关的信息的处理600的示例操作的流程图。在操作602处,处理600可以包括使相机用户界面显示在显示设备上。相机用户界面可以包括客户端设备的至少一个相机的视图。该视图可以包括该至少一个相机的实时或近实时视图。在操作604处,处理600可以包括接收输入数据,该输入数据指示由一个或更多个输入设备捕获的相对于相机用户界面的输入。在一个或更多个示例中,该输入可以对应于相对于相机用户界面的向下滑动动作。
113.在操作606处,处理600可以包括确定输入对应于导航离开相机用户界面到达与访问第三方资源有关的附加用户界面。在一个或更多个示例中,向下滑动动作在被识别为与导航离开相机用户界面对应的输入之前,可以对应于阈值持续时间或阈值距离至少其中之一。在操作608处,处理600可以包括生成对应于附加用户界面的用户界面数据。在一个或更多个示例中,用户界面数据可以指示分别对应于相应第三方应用资源的用户界面元素的布置。用户界面数据还可以指示要在应用资源用户界面中显示的附加内容,例如与客户端应用的用户对应的一个或更多个通知。此外,在操作610处,处理600可以包括基于用户界面数据使附加用户界面显示在显示设备上。
114.图7是示出根据一个或更多个示例实现方式的经由具有消息收发能力的客户端应用访问第三方资源的处理700的示例操作的流程图。在702处,处理700可以包括获得指示由客户端应用的用户对客户端应用的特征的使用的使用数据。所述特征可以包括在客户端应用内执行的第三方应用资源。在操作704处,处理700还可以包括确定对应于客户端应用的用户的账户的多个第三方应用资源。
115.在操作706处,处理700可以包括分析使用数据以确定由客户端应用的用户对多个第三方应用资源的使用量。此外,在操作708处,处理700可以包括基于使用数据确定多个用户界面元素在用户界面内的布置。各个用户界面元素可以对应于各个第三方应用资源。在一个或更多个示例中,该布置可以指示基于使用数据显示多个用户界面元素的顺序。例如,对应于具有较大使用量的第三方应用资源的用户界面元素可以按以下中至少其中之一显示:以降序显示,或者与具有较小使用量的第三方应用资源相比更突出地显示。此外,在操作710处,处理700可以包括将用户界面数据发送至用户的客户端设备。该用户界面数据可以被配置成根据布置在用户界面内显示多个用户界面元素。
116.图8是根据一个或更多个示例实现方式的示出客户端设备102的相机802的视图并且可以获得用于生成使得能够访问第三方资源的附加用户界面的输入的用户界面800的图示。用户界面800可以经由客户端设备102的显示设备显示,并且由通过客户端设备102执行的客户端应用例如客户端应用104产生。用户界面800可以包括由相机802捕获的用户内容804。在图8的说明性示例中,用户可以通过提供在806处示出的对应于向下滑动动作的用户输入来导航离开用户界面800。
117.图9是根据一个或更多个示例实现方式的包括可被访问以启动一个或更多个第三方应用资源的用户界面元素并且包括示出相机视图的一部分的区域的用户界面900的图示。可以响应于图8所示的用户输入806来显示用户界面900。用户界面900可以经由客户端设备102的显示设备显示,并且由通过客户端设备102执行的客户端应用例如客户端应用104产生。
118.用户界面包括第一区域902,该第一区域902包括第一数目的用户界面元素904。用户界面元素904可以对应于推荐给客户端设备102的用户的第三方应用资源。此外,用户界面900可以包括第二区域906,该第二区域906包括第二数目的用户界面元素908。第二数目的用户界面元素908可以对应于与客户端设备102的用户的账户相关联的第三方应用资源。在各种示例中,第一区域902中包括的用户界面元素904的布置和第二区域906中包括的用户界面元素908的布置可以基于对一个或更多个标准的分析来确定。为了说明,可以分析第三方应用资源使用数据、内容访问数据、用户人口统计学、用户位置、它们的一个或更多个
组合等,以确定第一区域902中的用户界面元素904的布置以及第二区域906中包括的用户界面元素908的布置。在一个或更多个说明性示例中,可以对第一数目的标准进行分析以确定第一区域902中包括的用户界面元素904的布置,并且可以对与第一数目的标准不同的第二数目的标准进行分析以确定第二区域906的用户界面元素908的布置。此外,用户界面900可以包括第三区域910。第三区域910可以包括相对于图8的界面800显示的相机界面的部分视图912。用户界面900还可以包括可被选择以返回至图8的用户界面800的用户界面元素914。
119.图10是根据一个或更多个示例实现方式的示出响应于对经由客户端应用可访问的第三方应用资源进行修改的输入而对图9的用户界面900进行的修改的用户界面1000的图示。用户界面1000可以经由客户端设备102的显示设备显示,并且由通过客户端设备102执行的客户端应用例如客户端应用104产生。
120.用户界面包括第一区域1002,该第一区域1002包括第一数目的用户界面元素1004。用户界面元素1004可以对应于被推荐给客户端设备102的用户的第三方应用资源。此外,用户界面1000可以包括第二区域1006,该第二区域1006包括第二数目的用户界面元素1008。第二数目的用户界面元素1008可以对应于与客户端设备102的用户的账户相关联的第三方应用资源。
121.可以响应于用户输入来显示用户界面1000,该用户输入指向对第一区域1002中包括的用户界面元素1004或第二区域1006中包括的用户界面元素1008进行修改,例如从客户端设备102的用户的账户中添加或移除第三方应用资源。在图10的说明性示例中,可以接收用户输入1010,以将对应于用户界面元素1012的第三方应用资源添加至客户端设备102的用户的账户中。可以通过将用户界面元素1010从第一位置1014移动至第二位置1016来添加第三方应用资源。在各种示例中,在选择用户界面元素1012并将其从第一位置1014移动至第二位置1016期间,移除用户界面900的与示出相机用户界面的用户内容的部分视图有关的区域。在用户输入1010完成后,返回用户界面900的与示出相机用户界面的用户内容的部分视图有关的区域。用户界面1000还可以包括在用户输入1010期间出现的用户界面元素1018,该用户界面元素1018可以用于从客户端设备102的用户的账户中移除第三方应用资源。另外,用户界面1000可以包括可被选择以返回至图9的相机用户界面900的用户界面元素1020。
122.图11是根据一个或更多个示例实现方式的包括显示出可被选择以经由客户端应用访问第三方应用资源的用户界面元素的区域、显示出对客户端应用的用户的通知的区域、以及显示出客户端应用的相机用户界面的至少一部分的区域的用户界面1100的图示。
123.用户界面1100可以包括第一区域1102,该第一区域1102包括可被选择以在客户端应用内访问第三方应用资源的用户界面元素1104。在一个或更多个示例中,可以提供用户输入以访问附加的第三方应用资源用户界面元素。为了说明,可以提供向左滑动输入或向右滑动输入以访问附加的第三方应用资源用户界面元素。在一个或更多个说明性示例中,第一区域1102中包括的第三方应用资源用户界面元素可以对应于最近被客户端设备102的用户访问的第三方应用资源。
124.用户界面1100还可以包括第二区域1106,该第二区域1106包括可被选择以经由客户端应用访问附加内容的一个或更多个通知。在图11的说明性示例中,第二区域1106可以
包括可被选择以访问第一内容的第一通知1108和可被选择以访问第二内容的第二通知1110。在各种示例中,可以针对客户端设备102的用户来定制或个性化在第二区域1106中显示的通知。在一个或更多个示例中,可以基于客户端设备102的用户与客户端应用例如客户端应用104的交互来确定在第二区域1106中显示的通知。为了说明,第二区域1106中包括的通知可以基于以下来确定:由客户端设备102的用户所访问的第三方应用资源、由客户端设备102的用户所访问的内容、由具有与客户端设备102的用户类似的特性的客户端应用的用户所访问的内容、来自客户端设备102的用户的指示通知偏好的输入、或者它们的一个或更多个组合。在一个或更多个附加示例中,可以响应于相对于第二区域1106检测到的用户输入来在第二区域1106中查看附加通知。例如,可以检测向左滑动或向右滑动的输入以从第二区域1106中移除通知,并且从第二区域1106中移除的通知可以由附加的通知代替。此外,可以检测向上滑动或向下滑动的输入以滚动浏览在第二区域1106中显示的其他通知。
125.此外,用户界面1100可以包括第三区域1112,该第三区域1112包括附加的第三方应用资源用户界面元素,例如第三方应用资源用户界面元素1114。第三方应用资源用户界面元素1114可以被选择,以启动与第三方应用资源用户界面元素1114对应的第三方应用资源。第三区域1112还可以包括可被选择以将第三方应用资源用户界面元素添加至第三区域1112的用户界面元素1116。在一个或更多个说明性示例中,第三区域1112中包括的第三方应用资源用户界面元素可以对应于由客户端设备102的用户以至少阈值频率使用的第三方应用资源。在各种示例中,第三区域1112中包括的第三方应用资源用户界面元素可以被标记为客户端设备102的用户的最喜爱第三方应用资源。可以向第三区域1112提供附加的用户输入例如向左滑动、向右滑动或另一滚动输入,以查看附加的第三方应用资源用户界面元素。
126.在一个或更多个示例中,对用户界面元素1104的选择或对用户界面元素1114的选择可以使第三方应用资源在客户端应用内启动。在这些场景中,用户界面1100的至少一部分可以被第三方应用资源的一个或更多个用户界面代替。在各种示例中,可以在显示第三方应用资源的一个或更多个用户界面的同时,经由客户端应用的一个或更多个用户界面来访问客户端应用的功能,例如消息收发功能、社交网络功能、相机功能或增强现实功能中的至少一者。
127.此外,用户界面1100可以包括第四区域1118。第四区域1118可以显示客户端应用的相机用户界面中包括的用户内容1120的至少一部分。在一个或更多个示例中,第四区域1118可以显示不大于约50%的用户内容1120、不大于约40%的用户内容1120、不大于约30%的用户内容1120、不大于约20%的用户内容1120、或不大于约10%的用户内容1120。在各种示例中,第四区域1118可以包括指示可以经由用户界面1100直接访问相机用户界面的第一用户界面元素1122和第二用户界面元素1124。例如,第一用户界面元素1122或第二用户界面元素1124中的至少一个可被选择以返回至相机用户界面,例如图8的用户界面800。此外,滚动输入或向上滑动输入中的至少一个可以使得从用户界面1100返回至相机用户界面。
128.用户界面1100还可以包括附加用户界面元素1126。附加用户界面元素1126可被选择以启动附加用户界面,该附加用户界面显示对经由客户端应用可访问的多个第三方应用资源的指示。在各种示例中,在经由客户端应用可访问的第三方应用资源中可以包括游戏。
在一个或更多个示例中,经由附加用户界面元素1126可访问的附加用户界面可以包括搜索功能,该搜索功能使得客户端设备102的用户能够搜索第三方应用资源。在一个或更多个说明性示例中,附加用户界面可以包括用于输入与第三方应用资源对应的搜索项的用户界面元素。
129.图12是示出根据一些示例实现方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器1200的部件的框图。具体地,图12示出了呈计算机系统的示例形式的机器1200的图形表示,在机器1200内可以执行用于使机器1200执行本文中讨论的方法中的任何一种或更多种方法的指令1202(例如,软件、程序、应用、小程序、应用(app)或其他可执行代码)。因此,可以使用指令1202来实现本文中描述的模块或部件。指令1202将通用的未经编程的机器1200转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器1200。在替选实现方式中,机器1200作为独立设备操作或者可以耦接(例如,联网)到其他机器。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份(capacity)来操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1200可以包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家用电器)、其他智能设备、网络装置(web appliance)、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1200采取的动作的指令1202的任何机器。此外,虽然仅示出了单个机器1200,但是术语“机器”还应被认为包括单独地或联合地执行指令1202以执行本文中讨论的任何一种或更多种方法的机器的集合。
130.机器1200可以包括处理器1204、存储器/存储装置1206和i/o部件1208,所述处理器1204、存储器/存储装置1206和i/o部件1208可以被配置成例如经由总线1210彼此通信。在示例实现方式中,处理器1204(例如,中央处理单元(cpu)、简化指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、另一处理器或其任何合适的组合)可以包括例如可以执行指令1202的处理器1212和处理器1214。术语“处理器”旨在包括多核处理器1204,该多核处理器1204可以包括可以同时执行指令1202的两个或更多个独立的处理器(有时被称为“核”)。尽管图12示出了多个处理器1204,但是机器1200可以包括具有单个核的单个处理器1212、具有多个核的单个处理器1212(例如,多核处理器)、具有单个核的多个处理器1212、1214、具有多个核的多个处理器1212、1214或其任何组合。
131.存储器/存储装置1206可以包括存储器例如主存储器1216或其他存储装置以及存储单元1218,处理器1204能够例如经由总线1210访问主存储器1216和存储单元1218两者。存储单元1218和主存储器1216存储实施本文中描述的方法或功能中的任一种或更多种方法或功能的指令1202。指令1202还可以在其被机器1200执行期间完全地或部分地存在于主存储器1216内、存储单元1218内、处理器1204中的至少一个内(例如,处理器的高速缓冲存储器内)或者它们的任何合适的组合内。因此,主存储器1216、存储单元1218以及处理器1204的存储器是机器可读介质的示例。
132.i/o部件1208可以包括用于接收输入、提供输出、产生输出、传输信息、交换信息、
捕获测量结果等的各种部件。包括在特定机器1200中的具体i/o部件1208取决于机器的类型。例如,诸如移动电话的便携式机器很可能包括触摸输入设备或其他这样的输入机构,而无终端(headless)服务器机器很可能不包括这样的触摸输入设备。应当理解,i/o部件1208可以包括图10中未示出的许多其他部件。仅出于简化以下讨论的目的,根据功能对i/o部件1208进行分组,并且该分组决不是限制性的。在各种示例实现方式中,i/o部件1208可以包括用户输出部件1220和用户输入部件1222。用户输出部件1220可以包括视觉部件(例如,显示器,诸如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学部件(例如,扬声器);触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。用户输入部件1222可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
133.在其他示例实现方式中,i/o部件1208可以包括生物计量部件1224、运动部件1226、环境部件1228或定位部件1230以及各种其他部件。例如,生物计量部件1224可以包括用于检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1226可以包括:加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1228可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声音传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或者用于测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量结果或信号的其他部件。定位部件1230可以包括位置传感器部件(例如,全球定位系统(gps)接收器部件)、高度传感器部件(例如,检测可以从其得到高度的气压的高度计或气压计)、定向传感器部件(例如,磁力计)等。
134.可以使用各种技术来实现通信。i/o部件1208可以包括通信部件1232,通信部件1232能够进行操作以将机器1200耦接至网络1234或设备1236。例如,通信部件1232可以包括网络接口部件或其他合适的设备以与网络1234接口。在其他示例中,通信部件1232可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件以及经由其他模态提供通信的其他通信部件。设备1236可以是另一机器1200或各种外围设备中的任何外围设备(例如,经由usb耦接的外围设备)。
135.此外,通信部件1232可以检测标识符或者可以包括可操作以检测标识符的部件。例如,通信部件1232可以包括射频识别(rfid)标签阅读器部件、nfc智能标签检测部件、光学阅读器部件(例如,用于检测一维条形码例如通用产品码(upc)条形码、多维条形码例如快速响应(qr)码、aztec码、数据矩阵、数据符号(dataglyph)、最大码(maxicode)、pdf417、
超码(ultra code)、ucc rss-2d条形码以及其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1232得到各种信息,例如经由因特网协议(ip)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的nfc信标信号得到位置等。
136.图13是示出包括示例软件架构1302的系统1300的框图,示例软件架构1302可以与本文中描述的各种硬件架构结合使用。图13是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文中描述的功能。软件架构1302可以在硬件例如图12的机器1200上执行,图12的机器1200包括处理器1204、存储器/存储装置1206和输入/输出(i/o)部件1208等。代表性硬件层1304被示出并且可以表示例如图10的机器1200。代表性硬件层1304层包括具有相关联的可执行指令1308的处理单元1306。可执行指令1308表示软件架构1302的可执行指令,包括本文中描述的方法、部件等的实现。硬件层1304还包括同样具有可执行指令1308的存储器和/或存储模块即存储器/存储装置1310中的至少一个。硬件层1304还可以包括其他硬件1312。
137.在图12的示例架构中,软件架构1302可以被概念化为其中每个层提供特定功能的层的堆叠。例如,软件架构1302可以包括以下层,例如操作系统1314、库1316、框架/中间件1318、应用1320和呈现层1322。在操作上,层内的应用1320和/或其他部件可以通过软件堆叠来调用api调用1324以及响应于api调用1324来接收消息1326。所示出的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动操作系统或专用操作系统可以不提供框架/中间件1318,而其他操作系统可以提供这样的层。其他软件架构可以包括附加层或不同层。
138.操作系统1314可以管理硬件资源并且提供公共服务。操作系统1314可以包括例如内核1328、服务1330和驱动器1332。内核1328可以充当硬件层与其他软件层之间的抽象层。例如,内核1328可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1330可以为其他软件层提供其他公共服务。驱动器1332负责控制底层硬件或与底层硬件接口。例如,取决于硬件配置,驱动器1332包括显示驱动器、相机驱动器、驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
139.库1316提供由应用1320、其他部件或层中的至少一个使用的公共基础设施。库1316提供下述功能,所述功能允许其他软件部件以比与底层操作系统1314功能(例如,内核1328、服务1330和/或驱动器1332)直接接口的方式更容易的方式来执行任务。库1316可以包括系统库1334(例如,c标准库),系统库1334可以提供以下函数,例如存储器分配函数、串操纵函数、数学函数等。另外,库1316可以包括api库1336,例如媒体库(例如,支持各种媒体格式例如mpeg4、h.264、mp3、aac、amr、jpg、png的呈现和操纵的库)、图形库(例如,可以用于在显示器上呈现二维和三维图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、网络库(例如,可以提供web浏览功能的webkit)等。库1316还可以包括向应用1320和其他软件部件/模块提供许多其他api的各种其他库1338。
140.框架/中间件1318(有时也称为中间件)提供可以由应用1320和/或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件1318可以提供各种图形用户界面
功能、高级资源管理、高级位置服务等。框架/中间件1318可以提供可以由应用1320和/或其他软件部件/模块利用的广泛的其他api,其中一些api可以专用于特定的操作系统1314或平台。
141.应用1320包括内置应用1340和/或第三方应用1342。代表性内置应用1340的示例可以包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用1342可以包括由除特定平台的供应商之外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm
、phone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1342可以调用由移动操作系统(例如,操作系统1314)提供的api调用1324以促进本文中描述的功能。
142.应用1320可以使用内置操作系统功能(例如,内核1328、服务1330、驱动器1332)、库1316和框架/中间件1318来创建ui以与系统的用户交互。替选地或附加地,在一些系统中,可以通过呈现层例如呈现层1322来进行与用户的交互。在这些系统中,应用/部件“逻辑”可以与应用/部件的与用户交互的方面分开。
143.术语表:
144.该上下文中的“载波信号”是指能够存储、编码或携载由机器1200执行的暂态或非暂态指令1202的任何无形介质,并且包括数字通信信号或模拟通信信号或者其他无形介质以促进这样的指令1202的通信。可以经由网络接口设备利用暂态或非暂态传输介质并且利用多个公知的传输协议中的任何一种传输协议来通过网络114、1234发送或接收指令1202。
145.该上下文中的“客户端设备”是指与通信网络114、1234接口以从一个或更多个服务器系统或其他客户端设备102获得资源的任何机器1200。客户端设备102可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费者电子产品、游戏控制台、机顶盒或用户可以用于访问网络114、1234的任何其他通信设备。
146.该上下文中的“通信网络”是指网络114、1234的一个或更多个部分,网络可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或者两个或更多个这样的网络的组合。例如,网络114、1234或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电业务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
147.该上下文中的“短暂消息”是指可以在时间有限的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。可替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,该消息都是暂态的。
148.该上下文中的“机器可读介质”是指能够临时或永久地存储指令1202和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”可以被认为包括能够存储指令1202的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应被认为包括能够存储由机器1200执行的指令1202(例如,代码)的任何介质或多个介质的组合,使得指令1202在由机器1200的一个或更多个处理器1204执行时使机器1200执行本文中所描述的方法中的任何一种或更多种方法。因此,“机器可读介质”指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
149.该上下文中的“部件”是指具有由功能或子例程调用、分支点、应用编程接口(api)或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实现方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成操作成执行本文中描述的某些操作的硬件部件。
150.也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器1204或其他可编程处理器执行的软件。一旦通过这样的软件进行配置,硬件部件就成为被独特地定制成执行所配置功能的特定机器(或机器1200的特定部件),而不再是通用处理器1204。将理解的是,可以出于成本和时间考虑来决定在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路中机械地实现硬件部件。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实现方式,无需及时在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器1204的情况下,可以在不同时间将该通用处理器1204分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地对特定处理器1212、1214或处理器1204进行配置以例如在一个时刻构成特定硬件部件,并且在不同的时刻构成不同的硬件部件。
151.硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过(例如,通过适当的电路和总线)在两个或更多个硬件部件之间或之中进行信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实现方式中,可以例如通过将信
息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对其进行处理。
152.硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。在本文中描述的示例方法的各种操作可以至少部分地由被(例如,通过软件)临时地配置或永久地配置成执行相关操作的一个或更多个处理器1204来执行。无论是被临时地配置还是永久地配置,这样的处理器1204可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器1204实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中,特定的处理器1212、1214或处理器1204是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器1204或处理器实现的部件来执行。此外,一个或更多个处理器1204还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(saas)操作。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器1204的机器1000的示例)来执行,其中,这些操作能够经由网络114(例如,因特网)并且经由一个或更多个适当的接口(例如,应用编程接口(api))来访问。操作中的某些操作的执行可以分布在处理器之间,不仅可以驻留在单个机器1200内,而且可以跨多个机器部署。在一些示例实现方式中,处理器1204或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实现方式中,处理器1204或处理器实现的部件可以跨多个地理位置分布。
153.该上下文中的“处理器”指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用于操作机器1200的对应输出信号的任何电路或虚拟电路(由在实际的处理器1204上执行的逻辑模拟的物理电路)。例如,处理器1204可以是中央处理单元(cpu)、简化指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器1204还可以是具有两个或更多个可以同时执行指令1202的独立处理器1204(有时称为“核”)的多核处理器。
154.该上下文中的“时间戳”指的是标识某个事件何时发生的字符或编码信息的序列,例如,从而给出日期和一天中的时间,有时精确到几分之一秒。
155.在不脱离本公开内容的范围的情况下,可以对所公开的实现方式进行更改和修改。这些和其他更改或修改旨在被包括在如所附权利要求书中表达的本公开内容的范围内。
156.以下呈现了本主题的各方面的编号非限制性列表。
157.方面1.一种方法,包括:由具有一个或更多个处理器以及存储器的一个或更多个计算设备使相机用户界面显示在显示设备上,所述相机用户界面包括由一个或更多个相机捕获的内容;由所述一个或更多个计算设备中的至少一个计算设备接收输入数据,所述输入数据指示由一个或更多个输入设备捕获的相对于所述相机用户界面的输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述输入数据对应于从所述相机用户界面导航至与访问第三方资源有关的附加用户界面;由所述一个或更多个计算设备中的至少一
个计算设备生成对应于所述附加用户界面的用户界面数据,所述用户界面数据指示所述附加用户界面包括:第一区域,所述第一区域包括一个或更多个用户界面元素,所述一个或更多个用户界面元素中的各个用户界面元素能够被选择以访问相应第三方资源;以及第二区域,所述第二区域包括所述相机用户界面的至少一部分;以及由所述一个或更多个计算设备中的至少一个计算设备基于所述用户界面数据使所述附加用户界面显示在所述显示设备上。
158.方面2.根据方面1所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备执行客户端应用的实例,其中,与所述客户端应用结合显示所述相机用户界面和所述附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备在所述客户端应用的实例内执行第三方资源的一个或更多个特征。
159.方面3.根据方面1或2所述的方法,其中:所述附加用户界面包括第三区域,所述第三区域具有与使用所述客户端应用能够访问的附加内容对应的一个或更多个通知;并且所述方法包括:由所述一个或更多个计算设备中的至少一个计算设备对所述客户端应用的用户相对于第三方资源的使用数据进行分析以确定所述附加内容。
160.方面4.根据方面1至3中任一项所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于对所述附加用户界面的所述一个或更多个用户界面元素中的用户界面元素的选择;以及由所述一个或更多个计算设备中的至少一个计算设备启动与来自所述附加用户界面中的所述用户界面元素对应的第三方资源的实例。
161.方面5.根据方面1至4中任一项所述的方法,其中:所述输入数据指示相对于所述相机用户界面的向下滑动动作;以及所述相机用户界面与由客户端设备执行的客户端应用的实例结合显示,并且所述相机用户界面显示所述客户端设备的相机的实时视图。
162.方面6.根据方面1至5中任一项所述的方法,其中,由所述第一区域占用的第一面积量大于由所述第二区域占用的第二面积量。
163.方面7.根据方面1至6中任一项所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于对与客户端应用的用户账户相关联的、能够从其访问的一个或更多个第三方资源进行修改;以及由所述一个或更多个计算设备中的至少一个计算设备响应于所述附加输入数据对所述第一区域内的所述一个或更多个用户界面元素的布置进行修改。
164.方面8.根据方面7所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于后面跟随拖动姿势的按住并保持姿势,所述拖动姿势指向所述一个或更多个用户界面元素中的用户界面元素;由所述一个或更多个计算设备中的至少一个计算设备响应于所述按住并保持姿势或所述拖动姿势中的至少一个生成修改版本的所述附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备使所述修改版本的所述附加用户界面显示在所述显示设备上,使得包括所述相机用户界面的至少一部分的所述第二区域被从所述附加用户界面中移除。
165.方面9.根据方面8所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定用于对与所述用户账户相关联的所述一个或更多个第三方资源进行修改的所述附加输入完成;响应于确定用于对与所述用户账户相关联的所述一个或更多个第三方资源进行修改的所述附加输入完成,由所述一个或更多个计算设备中的至少一个计算设备生成附加修改版本的所述附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备使所述附加修改版本的所述附加用户界面显示在所述显示设备上,使得包括所述相机用户界面的至少一部分的所述第二区域被返回以显示在所述附加用户界面中。
166.方面10.根据方面7所述的方法,其中:所述附加用户界面的所述第一区域包括第一子区域和第二子区域,所述第一子区域包括对应于推荐的第三方资源的用户界面元素,以及所述第二区域被配置成显示对应于与所述用户账户相关联的至少一个第三方资源的至少一个用户界面元素;所述附加输入包括将所述用户界面元素从所述第一子区域拖动至所述第二子区域,以及所述方法包括由所述一个或更多个计算设备中的至少一个计算设备将所述推荐的第三方资源添加至所述用户账户。
167.方面11.根据方面7所述的方法,其中:所述附加用户界面包括对应于从用户账户移除至少一个第三方资源的附加用户界面元素;所述附加输入包括将显示在所述附加用户界面中的所述一个或更多个用户界面元素中的用户界面元素拖动,以覆盖所述附加用户界面元素的至少一部分;以及所述方法包括由所述一个或更多个计算设备中的至少一个计算设备从所述用户账户移除对应于所述用户界面元素的第三方资源。
168.方面12.根据方面1至11中任一项所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于相对于所述第三方资源的一个或更多个搜索项;由所述一个或更多个计算设备中的至少一个计算设备使修改版本的所述附加用户界面被显示,所述修改版本的附加用户界面包括与响应于所述一个或更多个搜索项而返回的第三方资源对应的用户界面元素;由所述一个或更多个计算设备中的至少一个计算设备接收另外的输入数据,所述另外的输入数据指示由所述一个或更多个输入设备捕获的相对于所述修改版本的所述附加用户界面的另外的输入,所述另外的输入包括将所述用户界面元素拖动至所述第一区域的被配置成显示对应于与用户账户相关联的至少一个第三方资源的至少一个用户界面元素的部分;以及由所述一个或更多个计算设备中的至少一个计算设备将所述第三方资源添加至所述用户账户。
169.方面13.一种系统,包括:一个或更多个硬件处理器;以及包括计算机可读指令的一个或更多个非暂态计算机可读存储介质,所述计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行以下操作,所述操作包括:使相机用户界面显示在显示设备上,所述相机用户界面包括由一个或更多个相机捕获的内容;接收输入数据,所述输入数据指示由一个或更多个输入设备捕获的相对于所述相机用户界面的输入;确定所述输入数据对应于从所述相机用户界面导航至与访问第三方资源有关的附加用户界面;生成对应于所述附加用户界面的用户界面数据,所述用户界面数据指示所述附加用户界面包括:第一区域,所述第一区域包括一个或更多个用户界面元素,所述一个或更多个用户界面元素中的各个用户界面元素能够被选择以访问相应第三方资源;以及第二区
域,所述第二区域包括所述相机用户界面的至少一部分;以及基于所述用户界面数据使所述附加用户界面显示在所述显示设备上。
170.方面14.根据方面13所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;确定所述附加输入数据对应于对所述附加用户界面的所述一个或更多个用户界面元素中的用户界面元素的选择,所述用户界面元素对应于第三方资源;响应于所述附加输入数据,从与所述第三方资源有关的第三方系统获得一个或更多个超文本标记语言(html)文档;以及使用所述一个或更多个html文档执行所述第三方资源的一个或更多个特征。
171.方面15.根据方面13或14所述的系统,其中,所述附加用户界面的所述第一区域包括第一子区域和第二子区域,所述第一子区域包括第一组用户界面元素,以及所述第二子区域包括第二组用户界面元素,所述第一组用户界面元素与所述第二组用户界面元素不同;所述第一组用户界面元素对应于第一数目的第三方资源,以及所述第二组用户界面元素对应于第二数目的第三方资源;以及所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:确定所述第一组用户界面元素在所述第一子区域内的第一布置;以及确定所述第二组用户界面元素在所述第二子区域内的第二布置。
172.方面16.根据方面15所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:对相对于所述第一数目的第三方资源的使用数据进行分析以确定所述第一布置,所述第一布置指示显示所述第一组用户界面元素的第一顺序;以及基于附加用户输入确定所述第二布置,所述第二布置指示所述第二组用户界面元素在所述附加用户界面的所述第一区域的所述第二子区域内的布局。
173.方面17.根据方面16所述的系统,其中:所述使用数据指示被实现所述第三方资源的特征的客户端应用的一个或更多个第一用户使用的频率,或者被所述客户端应用的一个或更多个第二用户使用的新近性;所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:从服务器系统获得所述使用数据,所述服务器系统监测由所述客户端应用的用户对所述第三方资源的使用。
174.方面18.一种方法,包括:由具有一个或更多个处理器以及存储器的一个或更多个计算设备获得使用数据,所述使用数据指示由客户端应用的用户对所述客户端应用的特征的使用,所述客户端应用的所述特征包括在所述客户端应用内执行的第三方资源;由具有一个或更多个处理器以及存储器的一个或更多个计算设备确定与所述客户端应用的用户的账户对应的多个第三方资源,所述账户与所述客户端应用有关;由所述一个或更多个计算设备中的至少一个计算设备对所述使用数据进行分析,以确定由所述客户端应用的所述
用户对所述多个第三方资源的使用量;由所述一个或更多个计算设备中的至少一个计算设备基于所述使用数据确定多个用户界面元素在用户界面内的布置,所述用户界面被配置成与所述客户端应用结合显示,并且所述多个用户界面元素中的各个用户界面元素对应于所述多个第三方资源中的各个第三方资源;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的客户端设备发送用户界面数据,所述用户界面数据被配置成使所述客户端设备根据所述布置在所述用户界面内显示所述多个用户界面元素,以及显示相机用户界面的与所述客户端应用有关的部分。
175.方面19.根据方面18所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备对相对于多个第三方资源的使用的所述使用数据进行分析,以确定由所述客户端应用的用户相对于多个第三方资源的使用量;由所述一个或更多个计算设备中的至少一个计算设备确定针对所述多个第三方资源中的每一个的相应排名;由所述一个或更多个计算设备中的至少一个计算设备确定与所述多个第三方资源中的第三方资源对应的针对所述客户端应用的所述用户的推荐,其中,所述推荐基于所述第三方资源的相对于所述多个第三方资源中的附加第三方资源的附加相应排名的相应排名;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的所述客户端设备发送附加用户界面数据,所述附加用户界面数据指示对应于所述第三方资源的附加用户界面元素,所述附加用户界面元素被配置成在所述用户界面内显示。
176.方面20.根据方面18或19所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备相对于所述客户端应用的附加用户的附加特性来分析所述客户端应用的所述用户的特性;由所述一个或更多个计算设备中的至少一个计算设备确定所述客户端应用的附加用户的一个或更多个附加特性相对于所述客户端应用的所述用户的一个或更多个特性具有至少阈值量的相似性;由所述一个或更多个计算设备中的至少一个计算设备对相对于与所述客户端应用的所述附加用户的附加账户相关联的一个或更多个第三方资源的所述使用数据进行分析;由所述一个或更多个计算设备中的至少一个计算设备确定与所述一个或更多个第三方资源中的第三方资源对应的针对所述客户端应用的所述用户的推荐,其中,所述推荐基于由所述客户端应用的所述附加用户对所述第三方资源的使用量来确定;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的所述客户端设备发送附加用户界面数据,所述附加用户界面数据指示与所述第三方资源对应的附加用户界面元素,所述附加用户界面元素被配置成在所述用户界面内显示。
技术特征:
1.一种方法,包括:由具有一个或更多个处理器以及存储器的一个或更多个计算设备使相机用户界面显示在显示设备上,所述相机用户界面包括由一个或更多个相机捕获的内容;由所述一个或更多个计算设备中的至少一个计算设备接收输入数据,所述输入数据指示由一个或更多个输入设备捕获的相对于所述相机用户界面的输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述输入数据对应于从所述相机用户界面导航至与访问第三方资源有关的附加用户界面;由所述一个或更多个计算设备中的至少一个计算设备生成对应于所述附加用户界面的用户界面数据,所述用户界面数据指示所述附加用户界面包括:第一区域,所述第一区域包括一个或更多个用户界面元素,所述一个或更多个用户界面元素中的各个用户界面元素能够被选择以访问相应第三方资源;以及第二区域,所述第二区域包括所述相机用户界面的至少一部分;以及由所述一个或更多个计算设备中的至少一个计算设备基于所述用户界面数据使所述附加用户界面显示在所述显示设备上。2.根据权利要求1所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备执行客户端应用的实例,其中,与所述客户端应用结合显示所述相机用户界面和所述附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备在所述客户端应用的实例内执行第三方资源的一个或更多个特征。3.根据权利要求1所述的方法,其中:所述附加用户界面包括第三区域,所述第三区域具有与使用所述客户端应用能够访问的附加内容对应的一个或更多个通知;并且所述方法包括:由所述一个或更多个计算设备中的至少一个计算设备对所述客户端应用的用户相对于第三方资源的使用数据进行分析以确定所述附加内容。4.根据权利要求1所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于对所述附加用户界面的所述一个或更多个用户界面元素中的用户界面元素的选择;以及由所述一个或更多个计算设备中的至少一个计算设备启动与来自所述附加用户界面中的所述用户界面元素对应的第三方资源的实例。5.根据权利要求1所述的方法,其中:所述输入数据指示相对于所述相机用户界面的向下滑动动作;以及所述相机用户界面与由客户端设备执行的客户端应用的实例结合显示,并且所述相机用户界面显示所述客户端设备的相机的实时视图。6.根据权利要求1所述的方法,其中,由所述第一区域占用的第一面积量大于由所述第二区域占用的第二面积量。7.根据权利要求1所述的方法,包括:
由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于对与客户端应用的用户账户相关联的、能够从其访问的一个或更多个第三方资源进行修改;以及由所述一个或更多个计算设备中的至少一个计算设备响应于所述附加输入数据对所述第一区域内的所述一个或更多个用户界面元素的布置进行修改。8.根据权利要求7所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于后面跟随拖动姿势的按住并保持姿势,所述拖动姿势指向所述一个或更多个用户界面元素中的用户界面元素;由所述一个或更多个计算设备中的至少一个计算设备响应于所述按住并保持姿势或所述拖动姿势中的至少一个生成修改版本的附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备使所述修改版本的附加用户界面显示在所述显示设备上,使得包括所述相机用户界面的至少一部分的所述第二区域被从所述附加用户界面中移除。9.根据权利要求8所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定用于对与所述用户账户相关联的所述一个或更多个第三方资源进行修改的所述附加输入完成;响应于确定用于对与所述用户账户相关联的所述一个或更多个第三方资源进行修改的所述附加输入完成,由所述一个或更多个计算设备中的至少一个计算设备生成附加修改版本的附加用户界面;以及由所述一个或更多个计算设备中的至少一个计算设备使所述附加修改版本的附加用户界面显示在所述显示设备上,使得包括所述相机用户界面的至少一部分的所述第二区域被返回以显示在所述附加用户界面中。10.根据权利要求7所述的方法,其中:所述附加用户界面的所述第一区域包括第一子区域和第二子区域,所述第一子区域包括对应于推荐的第三方资源的用户界面元素,以及所述第二区域被配置成显示对应于与所述用户账户相关联的至少一个第三方资源的至少一个用户界面元素;所述附加输入包括将所述用户界面元素从所述第一子区域拖动至所述第二子区域,以及所述方法包括由所述一个或更多个计算设备中的至少一个计算设备将所述推荐的第三方资源添加至所述用户账户。11.根据权利要求7所述的方法,其中:所述附加用户界面包括对应于从用户账户移除至少一个第三方资源的附加用户界面元素;所述附加输入包括将显示在所述附加用户界面中的所述一个或更多个用户界面元素中的用户界面元素拖动,以覆盖所述附加用户界面元素的至少一部分;以及所述方法包括由所述一个或更多个计算设备中的至少一个计算设备从所述用户账户
移除对应于所述用户界面元素的第三方资源。12.根据权利要求1所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;由所述一个或更多个计算设备中的至少一个计算设备确定所述附加输入数据对应于相对于所述第三方资源的一个或更多个搜索项;由所述一个或更多个计算设备中的至少一个计算设备使修改版本的附加用户界面被显示,所述修改版本的附加用户界面包括与响应于所述一个或更多个搜索项而返回的第三方资源对应的用户界面元素;由所述一个或更多个计算设备中的至少一个计算设备接收另外的输入数据,所述另外的输入数据指示由所述一个或更多个输入设备捕获的相对于所述修改版本的附加用户界面的另外的输入,所述另外的输入包括将所述用户界面元素拖动至所述第一区域的被配置成显示对应于与用户账户相关联的至少一个第三方资源的至少一个用户界面元素的部分;以及由所述一个或更多个计算设备中的至少一个计算设备将所述第三方资源添加至所述用户账户。13.一种系统,包括:一个或更多个硬件处理器;以及包括计算机可读指令的一个或更多个非暂态计算机可读存储介质,所述计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行以下操作,所述操作包括:使相机用户界面显示在显示设备上,所述相机用户界面包括由一个或更多个相机捕获的内容;接收输入数据,所述输入数据指示由一个或更多个输入设备捕获的相对于所述相机用户界面的输入;确定所述输入数据对应于从所述相机用户界面导航至与访问第三方资源有关的附加用户界面;生成对应于所述附加用户界面的用户界面数据,所述用户界面数据指示所述附加用户界面包括:第一区域,所述第一区域包括一个或更多个用户界面元素,所述一个或更多个用户界面元素中的各个用户界面元素能够被选择以访问相应第三方资源;以及第二区域,所述第二区域包括所述相机用户界面的至少一部分;以及基于所述用户界面数据使所述附加用户界面显示在所述显示设备上。14.根据权利要求13所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:接收附加输入数据,所述附加输入数据指示由所述一个或更多个输入设备捕获的相对于所述附加用户界面的附加输入;确定所述附加输入数据对应于对所述附加用户界面的所述一个或更多个用户界面元
素中的用户界面元素的选择,所述用户界面元素对应于第三方资源;响应于所述附加输入数据,从与所述第三方资源有关的第三方系统获得一个或更多个超文本标记语言(html)文档;以及使用所述一个或更多个html文档执行所述第三方资源的一个或更多个特征。15.根据权利要求13所述的系统,其中:所述附加用户界面的所述第一区域包括第一子区域和第二子区域,所述第一子区域包括第一组用户界面元素,以及所述第二子区域包括第二组用户界面元素,所述第一组用户界面元素与所述第二组用户界面元素不同;所述第一组用户界面元素对应于第一数目的第三方资源,以及所述第二组用户界面元素对应于第二数目的第三方资源;以及所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:确定所述第一组用户界面元素在所述第一子区域内的第一布置;以及确定所述第二组用户界面元素在所述第二子区域内的第二布置。16.根据权利要求15所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:对相对于所述第一数目的第三方资源的使用数据进行分析以确定所述第一布置,所述第一布置指示显示所述第一组用户界面元素的第一顺序;以及基于附加用户输入确定所述第二布置,所述第二布置指示所述第二组用户界面元素在所述附加用户界面的所述第一区域的所述第二子区域内的布局。17.根据权利要求16所述的系统,其中:所述使用数据指示被实现所述第三方资源的特征的客户端应用的一个或更多个第一用户使用的频率,或者被所述客户端应用的一个或更多个第二用户使用的新近性;所述一个或更多个非暂态计算机可读存储介质包括附加计算机可读指令,所述附加计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行附加操作,所述附加操作包括:从服务器系统获得所述使用数据,所述服务器系统监测由所述客户端应用的用户对所述第三方资源的使用。18.一种方法,包括:由具有一个或更多个处理器以及存储器的一个或更多个计算设备获得使用数据,所述使用数据指示由客户端应用的用户对所述客户端应用的特征的使用,所述客户端应用的所述特征包括在所述客户端应用内执行的第三方资源;由具有一个或更多个处理器以及存储器的一个或更多个计算设备确定与所述客户端应用的用户的账户对应的多个第三方资源,所述账户与所述客户端应用有关;由所述一个或更多个计算设备中的至少一个计算设备对所述使用数据进行分析,以确定由所述客户端应用的所述用户对所述多个第三方资源的使用量;由所述一个或更多个计算设备中的至少一个计算设备基于所述使用数据确定多个用
户界面元素在用户界面内的布置,所述用户界面被配置成与所述客户端应用结合显示,并且所述多个用户界面元素中的各个用户界面元素对应于所述多个第三方资源中的各个第三方资源;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的客户端设备发送用户界面数据,所述用户界面数据被配置成使所述客户端设备根据所述布置在所述用户界面内显示所述多个用户界面元素,以及显示相机用户界面的与所述客户端应用有关的部分。19.根据权利要求18所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备对相对于多个第三方资源的使用的所述使用数据进行分析,以确定由所述客户端应用的用户相对于多个第三方资源的使用量;由所述一个或更多个计算设备中的至少一个计算设备确定针对所述多个第三方资源中的每一个的相应排名;由所述一个或更多个计算设备中的至少一个计算设备确定与所述多个第三方资源中的第三方资源对应的针对所述客户端应用的所述用户的推荐,其中,所述推荐基于所述第三方资源的相对于所述多个第三方资源中的附加第三方资源的附加相应排名的相应排名;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的所述客户端设备发送附加用户界面数据,所述附加用户界面数据指示对应于所述第三方资源的附加用户界面元素,所述附加用户界面元素被配置成在所述用户界面内显示。20.根据权利要求18所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备相对于所述客户端应用的附加用户的附加特性来分析所述客户端应用的所述用户的特性;由所述一个或更多个计算设备中的至少一个计算设备确定所述客户端应用的附加用户的一个或更多个附加特性相对于所述客户端应用的所述用户的一个或更多个特性具有至少阈值量的相似性;由所述一个或更多个计算设备中的至少一个计算设备对相对于与所述客户端应用的所述附加用户的附加账户相关联的一个或更多个第三方资源的所述使用数据进行分析;由所述一个或更多个计算设备中的至少一个计算设备确定与所述一个或更多个第三方资源中的第三方资源对应的针对所述客户端应用的所述用户的推荐,其中,所述推荐基于由所述客户端应用的所述附加用户对所述第三方资源的使用量来确定;以及由所述一个或更多个计算设备中的至少一个计算设备向所述客户端应用的所述用户的所述客户端设备发送附加用户界面数据,所述附加用户界面数据指示与所述第三方资源对应的附加用户界面元素,所述附加用户界面元素被配置成在所述用户界面内显示。
技术总结
在一个或更多个实现方式中,显示用户界面,该用户界面包括与可在客户端应用内执行的第三方应用资源对应的用户界面元素。用户界面元素可被选择以在客户端应用内启动第三方应用资源。用户界面可以从客户端应用的相机用户界面访问,并且用户界面还可以具有以下区域:该区域除了对应于第三方应用资源的用户界面元素之外,还包括相机用户界面的一部分。还包括相机用户界面的一部分。还包括相机用户界面的一部分。
技术研发人员:洛朗
受保护的技术使用者:斯纳普公司
技术研发日:2021.12.30
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/