CN111919179B - 智能设备的高效控制和/或链接 - Google Patents

智能设备的高效控制和/或链接 Download PDF

Info

Publication number
CN111919179B
CN111919179B CN201980020663.0A CN201980020663A CN111919179B CN 111919179 B CN111919179 B CN 111919179B CN 201980020663 A CN201980020663 A CN 201980020663A CN 111919179 B CN111919179 B CN 111919179B
Authority
CN
China
Prior art keywords
party
application
smart devices
request
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980020663.0A
Other languages
English (en)
Other versions
CN111919179A (zh
Inventor
倪宇钊
大卫·罗伊·沙伊雷尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN202311325365.7A priority Critical patent/CN117424773A/zh
Publication of CN111919179A publication Critical patent/CN111919179A/zh
Application granted granted Critical
Publication of CN111919179B publication Critical patent/CN111919179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Circuit Arrangement For Electric Light Sources In General (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Vehicle Body Suspensions (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Stored Programmes (AREA)

Abstract

智能网络连接设备的高效控制和/或链接。一些实施方式涉及在使得能够控制来自多方的多个智能设备的活动应用内渲染以下两者:(1)交互式图形界面元素,该交互式图形界面元素当与之交互时,使得对应地控制第三方(3P)的智能设备;和(2)可选择元素,该可选择元素当被选择时,使得执行深度链接以使得3P应用在呈现针对智能设备的附加信息的状态下打开。一些实施方式附加地或替选地涉及,响应于确定在客户端设备处安装了3P应用,但是智能设备拓扑缺少3P的3P智能设备的任何条目,向智能设备拓扑高效地添加3P的一个或多个特定智能设备。

Description

智能设备的高效控制和/或链接
背景技术
已提出了使得用户能够控制与该用户相关联(例如,与该用户的账户相关联)的多个智能设备中的每一个智能设备的应用和界面。例如,一些自动化助理界面使得用户能够提供口头、打字、触摸和/或其它输入以控制各种智能设备。另外,例如,一些家庭控制应用使得用户能够与图形元素交互和/或提供口头输入以控制各种智能设备。例如,一些自动化助理包括伙伴家庭控制应用,该伙伴家庭控制应用使得用户能够配置自动化助理的各个方面以控制被链接到自动化助理的各种智能设备等。
在许多情形下,经由助理界面和/或家庭控制应用控制的智能设备中的一个或多个智能设备由对应的第三方(3P)制造。如本文所使用的第三方或3P引用与控制所引用的自动化助理界面和/或家庭控制应用的一方有区别的一方。如本文所使用的第一方或1P引用控制所引用的自动化助理和/或家庭控制应用的一方。3P常常提供致力于3P的一个或多个3P智能设备的控制和管理(同时可选地使得不能够控制不是由3P制造的任何智能设备)的3P应用。例如,制造智能灯的特定3P能够提供致力于3P的智能灯的控制和管理的3P应用。另外,1P可以制造智能设备并且提供致力于1P的智能设备中的一个或多个智能设备的控制和管理(同时可选地使得不能够控制不是由1P制造的任何智能设备)的单独的1P应用。
从自动化助理界面和/或家庭控制应用控制多个智能设备提供各种计算效率。例如,在客户端设备上执行的家庭控制应用能够使得能够完全从该家庭控制应用内控制来自三个不同3P的三个不同的智能设备。这与例如从三个不同3P启动并执行三个单独的3P应用(其可能利用显著的存储器和/或处理器资源)以使得能够控制三个不同的智能设备相比在计算上可能更高效。另外,能够在家庭控制应用内利用较少量的用户界面输入来控制三个不同的智能设备—至少相对于启动三个不同的3P应用并且在三个不同的3P应用中的每一个3P应用内导航以控制三个不同的智能设备将需要的用户界面输入。
尽管由自动化助理界面和家庭控制应用给出了计算效率,但是情况常常是用户的一个或多个智能设备未被链接到自动化助理和/或家庭控制应用,并且因此,不可经由自动化助理和/或家庭控制应用来控制。因此,在那些未被链接的智能设备的控制中利用了效率较低的手段。
附加地或可替选地,虽然自动化助理界面和/或家庭控制应用使得用户能够控制1P智能设备和/或3P智能设备(包括来自多个全异的3P的智能设备),但是在许多情况下所给出的控制可以相对于经由致力于智能设备的控制和管理的单独的1P和/或3P应用所给出的控制而被限制。例如,对于3P智能恒温器,家庭控制应用能够呈现使得用户能够调节恒温器的设定点的图形界面元素。然而,3P恒温器的其它特征可能不可经由家庭控制应用来调节—而是可能可经由主要致力于3P的3P恒温器和可选地其它智能设备的控制的3P应用来调节。例如,恒温器的模式(例如,冷却/加热/冷却和加热)、风扇控制(例如,将风扇运行4小时、6小时或8小时)、恒温器的时间表和/或3P恒温器的其它特征可能可经由3P应用来控制,但是不可经由家庭控制应用来控制。在用户希望由3P应用给出的控制的情形下,用户必须定位并启动3P应用,并且常常必须导航3P应用以标识用于3P恒温器的界面和/或用于所期望的控制的界面。
发明内容
本文公开的实施方式涉及诸如智能家庭警报器、智能门锁、智能相机、智能灯、智能恒温器、智能体重秤、智能床、智能灌溉系统、智能车库门开启器、智能插座、智能电器、智能婴儿监视器、智能火灾警报器、智能水分检测器等的智能网络连接设备(在本文中也称为智能设备或物联网(loT)设备)的高效控制和/或链接。
本文公开的一些实施方式涉及在使得能够控制来自多方的多个智能设备的活动应用(例如,上述家庭控制应用)内渲染两者:(1)交互式图形界面元素,当与之交互时,该交互式图形界面元素使得对应地控制3P的智能设备;和(2)可选择元素,当被选择时,该可选择元素使得执行深度链接以使3P应用在针对智能设备呈现附加信息的状态下打开。3P应用能够主要地(或仅仅)致力于3P的智能设备的控制。
当在该状态下打开应用时呈现的针对智能设备的附加信息是除了由活动应用呈现的交互式图形界面元素和/或任何其它信息之外的。例如,附加信息能够包括至少一个附加图形元素,当与之交互时,该至少一个附加图形元素使得控制智能设备的一个或多个属性,其中对一个或多个属性的控制不是经由与经由应用渲染的至少一个交互式图形界面元素的交互来实现的。以这些和其它方式,对可选择元素的选择使3P应用在使得能够进一步控制3P的智能设备的状态下打开。相对于用户替代地定位3P应用的图标,选择该图标以启动3P应用,然后在该3P应用内执行一个或多个用户输入以导航到使得能够进一步控制智能设备的状态,这在计算上更高效,并且需要减少量的用户输入。
在那些实施方式的一些实施方式中,深度链接由3P响应于请求来生成,该请求被寻址到3P的特定地址(例如,用于1P或3P的应用编程接口(API)的地址),并且包括智能设备的标识符。例如,3P能够生成深度链接,使得它使3P应用在针对由标识符指示的智能设备呈现附加信息的状态下被打开。通过使3P生成深度链接,而不是依赖于由活动应用的1P所存储的深度链接,3P能够生成深度链接,使得它符合3P应用的当前模式,从而防止使用不再符合当前模式的陈旧(或“损坏”)的所存储的链接。另外,能够通过不必存储大量的深度链接而是依赖于由3P动态地提供的深度链接来保存1P的存储器和/或存储资源。更进一步地,3P能够鉴于可以与智能设备有关的最近事件而可选地生成深度链接,该最近事件可以是3P可访问的,但是是活动应用的1P不可访问的。这能够使得3P应用能够在针对最近事件定制的状态下被打开,从而以减少的等待时间来提供相关附加信息。作为一个非限制性示例,3P智能设备能够包括3P智能相机,并且在给定时间生成的深度链接能够链接到3P应用的使3P应用提供经由3P相机发生的最近活动检测的视频剪辑的状态。能够基于3P确定最近活动检测在先于请求的阈值时间量内发生来生成这样的深度链接。例如,如果最近活动检测发生在距请求小于五分钟,则3P能够生成这样的深度链接。如果未发生最近活动检测,则3P能够生成替选深度链接,诸如导致3P应用在示出当前活动馈送的状态下打开并且使得能够调节不可经由活动应用调节的智能相机特征(例如,变焦、平移和/或倾斜)的深度链接。
在深度链接由3P响应于被寻址到3P的特定地址的请求来生成的各种实施方式中,该请求是由活动应用响应于被确定为对渲染使得能够控制3P的智能设备的图形界面元素的请求的用户界面输入来生成的。例如,活动应用最初能够呈现能够被控制的多个全异的智能设备的图标,这些全异的智能设备包括3P的特定智能设备以及(3P和附加3P的)的其它智能设备。响应于对3P的特定智能设备的图标的选择,活动应用能够生成识别特定智能设备的请求,并且将该请求发送到特定3P地址。作为另一示例,活动应用能够接收作为对渲染使得能够控制3P的智能设备的图形界面元素的请求的口头话语,并且作为响应,生成该请求并将其发送到特定3P地址。例如,口头话语可以是“打开沙发灯”,并且能够被确定为是对渲染使得能够控制智能设备的图形界面元素的请求。例如,口头话语能够被确定为是要发送使“沙发灯”被打开的命令并且渲染使得能够控制“沙发灯”的调光水平和/或其它属性的图形界面元素的请求。响应于确定口头话语是对渲染图形界面元素的请求,能够生成和/或发送该请求。以这些和其它方式,仅响应于作为对渲染使得能够控制3P的智能设备的图形界面元素的请求的输入而生成和/或发送对3P的请求。因此,在各种实施方式中只有当满足了某些条件时(例如,只有当确定了输入是对渲染使得能够控制智能设备的图形界面元素的请求时)才利用在生成请求时利用的计算资源和/或在发送请求时利用的网络带宽。此外,在这些和/或其它实施方式中的一些实施方式中,进一步响应于确定在执行活动应用的客户端设备处安装了3P应用而生成和/或发送请求。以这些和其它方式,当确定了未安装3P应用时,能够绕过生成和/或向3P发送请求。在那些情形中的一些情形下,能够替代地利用3P的默认深度链接,诸如链接到网页或“游戏商店(play store)”应用状态的默认深度链接,网页或“游戏商店”中的任何一个使得能够安装3P应用。
本文公开的一些实施方式附加地或替选地涉及确定在与用户账户相关联的客户端设备处安装了3P应用,其中3P应用使得能够控制3P的3P智能设备。那些实施方式进一步确定智能设备拓扑是否包括3P的3P智能设备中的任一个3P智能设备的任何条目。智能设备拓扑与用户账户相关联并且由自动化助理在经由与自动化助理的交互来控制智能设备时利用。例如,智能设备拓扑能够定义智能设备、自动化助理设备、每个设备的制造商、每个设备的位置(例如,“起居室”、“厨房”)、每个设备的语义标识符(例如,“沙发灯”、“起居室助理设备”)和/或智能设备和/或自动助理设备的其它特征。
响应于确定在客户端设备处安装了3P应用,但是智能设备拓扑缺少3P智能设备的任何条目,能够在与用户账户相关联的客户端设备或附加客户端设备处渲染输出,其中输出包括用于将3P添加到智能设备拓扑的建议。响应于接收到响应于输出的渲染的肯定的用户界面输入,能够向智能设备拓扑高效地添加3P的一个或多个特定智能设备。例如,在向智能设备拓扑自动地添加一个或多个3P智能设备中的至少一些3P智能设备的特定设备时,用户账户能够被利用来与3P的应用编程接口(API)对接。另外,例如,能够呈现登录界面,该登录界面使得能够登录到特定于3P的3P账户,并且当被利用来登录到3P账户时,使得在将特定设备自动地添加到智能设备拓扑时与3P的API或附加API对接。作为又一示例,如在本文中更详细地描述的,能够通过与安装在客户端设备处的第三方应用对接来将特定智能设备添加到智能设备拓扑。以这些和其它方式,特定智能设备是以比例如如下方式更高效的方式添加到设备拓扑的:通过家庭控制应用导航到能够添加3P设备的屏幕,从可用3P的长列表当中识别3P(例如,在列表中滚动),然后从列表当中选择所识别的3P,以使得能够呈现使得能够登录到特定于3P的3P账户的登录界面。
另外,当响应于主动地建议将3P智能设备添加到智能设备拓扑而向智能设备拓扑添加3P智能设备时,通过自动化助理界面和/或家庭控制应用来实现对那些3P智能设备的控制。这种控制提供各种计算效率。例如,在客户端设备上执行的家庭控制应用能够使得能够完全从单个应用控制3P智能设备以及来自其它3P的智能设备。这与例如启动并执行多个单独的3P应用(其能够利用显著的存储器和/或处理器资源)以使得能够控制不同智能设备相比在计算上可以更高效。
本文公开的一些实施方式涉及响应于确定在客户端设备处安装了3P应用并且关联的智能设备拓扑缺少3P的3P智能设备中的任一个3P智能设备的任何条目,在将3P的智能设备自动地添加到智能设备拓扑时直接与第三方应用对接。在那些实施方式中的一些实施方式中,客户端设备的特定应用(例如,自动化助理应用或家庭控制应用)能够证实3P应用。如果3P应用已被证实,则特定应用能够提供要利用链接功能执行第三方应用的意图。例如,能够将意图提供给客户端设备的操作系统以使客户端设备的操作系统通过调用该意图来执行第三方应用。意图能够特定于第三方应用的链接功能,该链接功能当由第三方应用执行时,使如果满足了一个或多个条件,则第三方应用返回至少一个访问令牌(例如,长期和/或短期访问令牌)。如在下面更详细地描述的,例如,一个或多个条件能够包括对提供意图的应用的验证。能够响应于提供意图而从第三方应用接收至少一个访问令牌。另外,能够利用至少一个访问令牌来获得与3P智能设备有关的附加信息,并且能够将所获得的附加信息中的至少一些附加信息添加到智能设备拓扑。访问令牌也能够使得自动化助理能够控制3P智能设备(例如,通过将访问令牌包括在来自自动化助理的请求中和/或在获得更新后的短期访问令牌时)。向智能设备拓扑添加3P的智能设备能够使得能够从单个应用控制那些智能设备,这如上所述可以是资源高效的。此外,在添加智能设备时在客户端设备处的自动化助理应用或家庭控制应用与3P应用之间的本地交互能够在添加智能设备时利用最少的网络资源。
上文作为本文公开的一些实施方式的概述被提供。在下面提供对这些和其它实施方式的进一步描述。
此外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中一个或多个处理器可操作来执行存储在相关联的存储器中的指令,并且其中这些指令被配置成使得执行本文描述的方法中的任一种。一些实施方式也包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行本文描述的方法中的任一种方法的计算机指令。
应该理解的是,在本文中更详细地描述的前述概念和附加概念所有组合都被认为是本文公开的主题的一部分。例如,在本公开末尾出现的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
附图说明
图1是能够在其中实现本文公开的实施方式的示例环境的框图。
图2示出家庭控制应用的示例界面。
图3示出主要致力于控制第三方的一个或多个智能设备的第三方应用的示例界面。
图4示出图2的家庭控制应用的示例界面,其中该示例界面包括与所生成的深度链接相关联的可选择图形元素。
图5示出包括用于控制各种智能设备的图形界面元素并且包括将第三方的智能设备添加到智能设备拓扑的建议的示例界面。
图6是示出根据本文公开的各种实施方式的示例方法的流程图。
图7A是示出根据本文公开的各种实施方式的另一示例方法的流程图。
图7B是示出根据本文公开的各种实施方式的又一示例方法的流程图。
图8示出计算设备的示例架构。
具体实施方式
本文描述的一些实施方式涉及使活动应用的图形界面利用可选择图形元素来渲染,当被选择时,该可选图形元素使得执行到3P应用的深度链接。能够响应于来自活动应用的请求而生成深度链接,该请求指示用户当前正在经由活动应用与之交互的3P智能设备。深度链接能够由3P“在飞行中(on the fly)”生成,并且深度链接使得用户能够直接从活动应用访问3P应用,并且访问特定于当前正在经由活动应用与之交互的3P智能设备的3P应用的状态。
在一些实施方式中,接收指向在客户端设备上执行的活动应用的用户界面输入。输入可能与用户正在访问以控制一个或多个3P智能设备的特定功能性有关。例如,输入可以是渲染与控制3P智能设备有关的一个或多个图形界面元素的请求。另外,例如,输入可以是渲染允许用户控制一个或多个3P智能灯的亮度和/或打开/关闭一个或多个3P智能灯的图形界面的请求。响应于请求而渲染的一个或多个图形界面元素能够包括用以调节3P智能灯的亮度的一个或多个滑块和/或用以打开或关闭3P智能灯的一个或多个切换按钮。
响应于与3P智能设备有关的输入,由活动应用生成请求并将其发送到与3P智能设备相对应的3P系统。3P系统与被专门设计成控制由3P制造的智能灯的3P应用相关联,并且3P应用能够被安装在活动应用(例如,家庭控制应用)正在执行的同一客户端设备上。
在一些情况下,3P应用包括针对3P智能设备的经由活动应用不可用的附加功能性。继续智能灯示例,3P应用可以包括用以将3P智能灯编程为在一天的特定时间自动地打开、改变智能灯的色温和/或控制智能灯的除了经由活动应用可用的功能性不同的其它功能性的功能性。因此,为了提供与附加功能性有关的输入,可能要求用户访问3P应用。
例如,对3P系统的请求能够包括用户正在经由活动应用控制的特定智能设备的标识符、用户正在访问的特定界面、可经由特定界面可用的功能性和/或有关用户与活动应用的当前交互的附加信息。
3P系统能够确定经由第三方应用可用的感兴趣智能设备的相关界面和/或功能性。例如,用户可能正在访问允许控制被命名为“起居室灯”的智能灯的界面。请求能够包括智能灯的标识符,使得3P能够识别该智能设备的相关界面。
响应于请求,3P系统能够向3P应用发送作为深度链接的深度链接。活动应用能够渲染允许用户控制感兴趣智能设备的交互式图形界面元素。另外,活动应用能够与交互式图形界面元素同时地渲染与所提供的深度链接相对应的可选择图形元素(例如,可选择图标和/或按钮)。因此,当经由活动应用向用户呈现交互式图形界面元素时,也能够呈现可选择图形元素,并且当被选择时,该可选图形元素能够使得在特定于智能设备的状态下打开3P应用。
本文描述的一些实施方式附加地或替选地涉及配置一个或多个3P智能设备以经由自动化助理和/或家庭控制应用进行控制。那些实施方式中的一些实施方式确定在与用户账户相关联的客户端设备处安装了3P应用,其中3P应用使得能够控制3P的3P智能设备。那些实施方式进一步确定智能设备拓扑是否包括针对3P的3P智能设备中的任一个3P智能设备的任何条目。智能设备拓扑与用户账户相关联并且由自动化助理在经由与自动化助理的交互来控制智能设备使用利用。响应于确定在客户端设备处安装了3P应用,但是智能设备拓扑缺少3P智能设备的任何条目,能够在与用户账户相关联的该客户端设备或附加客户端设备处渲染输出,其中输出包括用于将3P添加到智能设备拓扑的建议。响应于接收到响应于对输出的渲染的肯定的用户界面输入,能够将3P的一个或多个特定智能设备高效地添加到智能设备拓扑。
现在转向图1,示出了可以在其中实现本文公开的技术的示例环境。该示例环境包括客户端设备105、智能设备145A和145B、远程家庭控制服务器120以及第三方(3P)远程服务器1101-N。如本文所描述的,3P远程服务器1101-N中的每一个远程服务器均能够与多个3P中的不同对应的3P相关联。例如,3P1远程服务器1101能够与制造一个或多个对应的智能灯的第一3P相关联,3P2远程服务器1102能够与制造一个或多个对应的智能灯的第二3P相关联,而3PN远程服务器110N能够与制造一个或多个对应的智能相机、智能恒温器和智能警报系统的第三3P相关联。尽管远程家庭控制服务器120和3P远程服务器1101-N在图1中被各自示出为单个组件,但是应理解的是,一个或多个模块和/或任一者的各方面能够全部或部分地由多个设备来实现。例如,在一些实施方式中,被描述为由远程服务器实现的一个或多个方面能够由处理来自一个或多个客户端设备的请求以及来自附加设备的请求的高性能远程服务器设备的集群来实现。另外,被描述为客户端设备105的组件的一个或多个组件能够由通过一个或多个网络与客户端设备105对接的一个或多个远程组件来实现。
客户端设备105可以是移动电话计算设备、平板计算设备、主要致力于助理功能性的独立设备和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替选的客户端设备。另外,可以在单独的设备上实现客户端设备105的一个或多个组件。例如,可以在与客户端设备105通信的一个或多个替代计算设备上实现图形显示器107。客户端设备105、远程家庭控制服务器120、第三方(3P)远程服务器1101-N和/或智能设备145A和145B能够经由一个或多个通信网络进行通信。例如,通信网络能够包括局域网(LAN)和/或广域网(WAN)(例如,因特网)。智能设备145A由与3P1远程服务器1101相关联的第一3P制造并且能够经由从3P1远程服务器1101发送的命令来控制(可选地响应于对应的命令经由家庭控制应用115、第三方应用125中的对应一个第三方应用和/或自动化助理应用来传送)并且/或者能够由客户端设备105直接控制。智能设备145B由与3P2远程服务器1102相关联的第二3P制造并且能够经由从3P2远程服务器1102发送的命令来控制(可选地响应于对应的命令经由家庭控制应用115、第三方应用125中的对应一个第三方应用和/或自动化助理应用来传送)并且/或者能够由客户端设备105直接控制。
客户端设备105包括显示器107,该显示器能够向客户端设备105的用户渲染内容并且可选地是触敏的以使得能够经由显示器107接收到触摸输入。例如,用户可以利用显示器107来与家庭控制应用115交互以控制用户的一个或多个智能设备。用户可以经由显示器107查看一个或多个界面,其中界面由渲染引擎117或其它渲染引擎渲染。界面允许用户经由显示器107提供输入和/或查看输出。用户可以经由诸如键盘、鼠标和/或能够选择显示器107的区域的其它输入设备的一个或多个输入设备、语音控件、触摸屏控件和/或允许用户提交输入并选择要渲染的内容的其它输入方法与显示器107交互。可以将经由显示器107接收到的输入提供给在客户端设备105上执行的一个或多个应用,诸如家庭控制应用115和/或第三方应用125。
家庭控制应用115当在客户端设备105处被执行且活动时,能够由用户利用来控制用户的一个或多个智能设备,诸如智能设备145A和145B。家庭控制应用115能够在执行本文描述的功能中的一些或全部时可选地与远程家庭控制服务器120对接。智能设备可以是被配置成与中央服务器、云计算系统和/或一个或多个附加智能设备进行通信以提供各种有用的智能家庭服务中的任一种的智能多传感网络连接设备。例如,智能设备可以是以下各项或者能够以其它方式与以下各项相关联:空调系统、照明设备、家庭影院和娱乐系统、安全系统、自动门锁系统、恒温器设备、家庭自动化系统、声音扬声器、相机设备、跑步机、体重秤、智能床、灌溉系统、车库门开启器、电器、婴儿监视器、火灾警报器和/或其它合适的设备或系统。
安装在客户端设备105上的第三方应用125中的一个第三方应用能够可选地由制造了智能设备145A的第一3P提供,并且能够被利用来控制智能设备145A。这样的第三方应用能够可选地使得能够控制第一3P的智能设备,但是使得不能够控制其它3P(例如,任何其它3P)的智能设备。另外,安装在客户端设备105上的第三方应用125中的另一个第三方应用能够可选地由制造了智能设备145B的第二3P提供,并且能够被利用来控制智能设备145B。这样的第三方应用能够可选地使得能够控制第二3P的智能设备,但是使得不能够控制其它3P(例如,任何其它3P)的智能设备。例如,第三方应用125中的一个第三方应用能够经由显示器107渲染图形用户界面,该图形用户界面提供允许用户控制智能设备145A的一个或多个图形元素。
家庭控制应用115也被安装在客户端设备105上,并且使得能够控制来自多个3P的智能设备,包括智能设备145A和145B以及被配置用于家庭控制应用115的潜在其它(未图示的)智能设备(例如,在由家庭控制应用115利用的智能设备拓扑中分配的)。家庭控制应用115包括渲染引擎117,该渲染引擎能够渲染包括允许用户控制智能设备145A和/或智能设备145B的一个或多个图形元素的界面。能够将经由显示器107和/或其它输入设备提供的用户的输入提供给家庭控制应用115,该家庭控制应用115能够处理输入并向渲染引擎117提供指令以渲染一个或多个附加图形界面和/或更新活动界面。
家庭控制应用115能够包括与第三方应用125中的一个或多个第三方应用相同的控件中的一些或全部。例如,智能设备145A可以是由第一3P制造的智能照明单元,该第一3P也提供所安装的第三方应用125中的一个第三方应用。第一3P的第三方应用能够允许控制智能照明单元145A。另外,家庭控制应用115能够使得能够通过例如由家庭控制应用115(经由渲染引擎117)渲染的一个或多个图形界面元素并且通过将对应的控制命令直接传送到照明单元145A或者传送到3P的应用编程接口(“API”)(例如,经由3P1远程服务器1101)来控制智能照明单元145A,该应用编程接口然后生成对应的控制命令并将其提供给照明单元145A。附加地或替选地,智能设备145B可以是由第二3P制造的另一设备,该第二3P也提供所安装的第三方应用125中的另一个第三方应用。智能设备145B也可经由家庭控制应用115来控制。
在一些情况下,与能够经由相应的第三方应用125来控制的功能性比较,家庭控制应用115可以允许用户仅控制智能设备145A和/或智能设备145B的功能性的子集。例如,参考图2,示出了家庭控制应用215的示例界面200。界面200包括“开/关”切换按钮205,该“开/关”切换按钮是交互式图形元素并且允许用户经由指向切换按钮205的输入来打开或关闭照明单元。另外,界面200包括滑块元素210,该滑块元素210是另一交互式图形元素并且允许用户经由针对滑块元素210的输入来调节同一照明单元的亮度。相比之下,参考图3,示出了第三方应用125中的一个第三方应用的示例界面300。界面300包括允许用户打开和关闭同一照明单元的切换按钮305。另外,界面300包括调节照明单元的亮度的滑块310。然而,界面300进一步包括调节照明单元的色温的滑块315以及场景按钮320,当被选择时,该场景按钮使得用户能够为照明单元选择多个所配置的场景中的一个场景。此功能性未包括在界面200中。因此,第三方应用125与家庭控制应用115相比包括更多的用于控制照明单元的选项。
在一些实施方式中,用户可能有兴趣访问智能设备的功能性,该功能性被包括在3P应用125中的一个3P应用的界面中,但是未被包括在诸如家庭控制应用115的活动应用中。例如,用户可能有兴趣调节照明单元的颜色,当打开家庭控制应用115的界面时,发现缺乏用于颜色控制的图形元素。另外,在一些情况下,用户可以访问家庭控制应用115的与第三方应用125中的对应一个第三方应用相比包括更少的功能性的控制界面,但是可能不知道附加功能性对智能设备可用。在这些情况下,为了调节照明单元的颜色,将要求用户导航离开活动家庭控制应用115,定位第三方应用125中的对应一个第三方应用的图标,轻敲该图标以使该第三方应用125被启动,然后在该3P应用125内导航,直到达到该3P应用125的使得能够调节照明单元的颜色的状态为止。
在一些实施方式中,替代要求用户执行多个输入来定位3P应用,启动该3P应用,并且在该3P应用内导航到该3P应用的期望状态,—能够替代地在家庭控制应用115内呈现可选择界面元素,当被选择时,该可选择界面元素执行使对应的3P应用在期望状态下被启动的深度链接。在各种实施方式中,在3P的对应服务器(例如,3P远程服务器1101-N中的一个3P远程服务器)处动态地生成深度链接。以这种方式,能够鉴于正在经由家庭控制应用115被查看和/或以其它方式与之交互的智能设备来生成深度链接。另外,能够鉴于已经对对应的3P应用和/或对应的3P后端界面做出的任何更新(诸如对由3P应用和/或3P后端界面利用来使3P应用在期望状态下打开的模式的更新)来生成深度链接。
例如,再次参考图1,智能设备145A能够由3P应用125中的一个3P应用控制并且用户可能正在访问被引导为仅控制智能设备145A的家庭控制应用115的界面。替代在家庭控制应用115的界面中仅提供不特定于智能设备145A(例如,针对该第三方应用125的“家庭”界面)的到3P应用125中的一个3P应用的界面的链接,本文公开的实施方式能够附加地或替选地提供特定于智能设备145A的深度链接。例如,深度链接当被执行时,能够使3P应用中的所对应的一个3P应用在一种状态下打开,该状态包括特定于智能设备145A的控件,包括不经由家庭控制应用115提供的控件。
在一些实施方式中,家庭控制应用115的请求引擎119能够生成能够包括对特定智能设备的引用的请求。请求引擎119能够响应于接收到的包括对渲染使得能够控制特定智能设备的一个或多个交互式图形界面元素的请求的输入(经由家庭控制应用115接收到)而生成请求。该请求能够包括对特定智能设备的引用,并且能够基于该3P远程服务器与也为特定智能设备的制造商的3P相关联而被寻址到3P远程服务器1101-N中的对应的一个3P远程服务器。请求引擎119能够直接或经由远程家庭控制服务器120与3P远程服务器进行通信。请求引擎119或远程家庭控制服务器120能够利用API(诸如被用于家庭控制应用115与3P远程服务器1101-N中的一个或多个3P远程服务器之间的通信的API)来将请求发送到3P远程服务器。
在一些实施方式中,家庭控制应用115能够确定客户端设备105不包括用于经由家庭控制应用与之交互的特定智能设备的对应3P应用。例如,与智能设备145A相关联的3P应用可能未被安装在客户端设备105上。在那些情况中的一些情况下,鉴于3P应用的任何生成的深度链接在客户端设备105处不可执行(因为未安装3P应用),家庭控制应用115能够绕过生成请求以便使网络业务量最小化。另外,在那些情况中的一些情况下,能够替代地利用3P的默认链接,诸如到3P的特定网页的链接、到使得能够下载3P应用的应用商店的状态的链接等。
基于请求中包括的信息,3P远程服务器1101-N中的对应的一个3P远程服务器生成指向其3P应用的特定状态的深度链接,该深度链接与和请求相关联的相同的智能设备相关联。例如,请求可以包括智能设备的标识符,针对智能设备,正在经由家庭控制应用115渲染交互式图形元素。能够将请求发送到3P远程服务器1101-N中的一个3P远程服务器,其基于智能设备的标识符,能够生成深度链接以提供给家庭控制应用115,并且该深度链接当被执行时,使客户端设备105在特定于相同标识的智能设备的状态下打开第三方应用中的对应的一个第三方应用。
在一些实施方式中,请求中包括的智能设备的标识符可以不同于由对应的3P远程服务器和/或对应的3P应用所利用的专有标识符。标识符可以是在家庭控制应用115与3P远程服务器之间的通信中利用的密钥,并且能够由3P远程服务器映射到对应的专有标识符。例如,家庭控制应用115可以具有“12345”的智能设备的标识符。然而,第三方可以具有“67890”的同一设备的专有标识符,并且能够维护“12345”标识符与“67890”的专有标识符之间的本地映射。
作为一个示例,用户能够经由家庭控制应用115提供输入,以使图2中所示的界面由家庭控制应用115渲染。该界面使得能够控制特定智能设备。响应于输入,请求引擎119能够生成标识特定智能设备的请求,并且将该请求发送到与3P远程服务器1101-N中的一个3P远程服务器相对应的地址。响应于接收到请求,该3P远程服务器能够生成到图3中所示的界面的深度链接并且将该深度链接提供给渲染引擎117。渲染引擎117然后可以利用该深度链接来生成能够被包括在图2中所示的访问界面中的图形元素。例如,参考图4,提供了包括与在图2中所示的界面中包括的元素205和210相同的元素405和410但是也包括按钮415的界面400。按钮415可以与深度链接相关联,并且在选择按钮415之后,用户然后可以被引向图3的界面。例如,按钮415的选择能够使3P应用125中的对应的一个3P应用被打开,并且使3P应用125中的对应的一个3P应用与图3的界面一起打开。因此,用户能够被引向界面300,该界面300允许用户经由图4的界面(即,经由界面300中包括的颜色控件315和/或场景按钮320)不可用的附加功能性。
在一些实施方式中,所提供的深度链接可以并入附加信息或者与附加信息一起被发送,该附加信息指示应该在图4中呈现的特定可选择图形元素。例如,在深度链接直接到仅实现对用智能灯的颜色控制的状态的情况下,附加信息能够指示具有指示颜色控制的色轮或其它标记的特定可选择图形元素。另外,例如,在深度链接直接到使得能够配置智能灯的时间表的状态的情况下,附加信息能够指示包括指示时间表控制的日历或其它标记的特定可选择图形元素。以这些和其它方式,可以给3P提供对提供什么深度链接(以及结果,打开3P应用的状态)的控制以及对利用什么图形元素来指示深度链接的功能性的控制。
作为另一示例,用户可以访问家庭控制应用115的针对相机智能设备的界面。通过家庭控制应用115,用户可能仅能够查看来自相机智能设备实况视频馈送。然而,能够经由3P应用为相机智能设备提供附加功能性,诸如允许用户查看来自由相机智能设备捕获的一个或多个过去的事件的视频连续镜头的功能性、使得用户能够使相机变焦/平移/倾斜的功能性等。在这样的示例中,3P远程服务器1101-N中的对应的一个3P远程服务器能够生成深度链接,该深度链接当被执行时,在示出来自过去的事件的连续镜头的状态下和/或在使得能够调节变焦/平移/倾斜的状态下打开3P应用125中的对应的一个3P应用。3P远程服务器能够响应于确定满足了一个或多个准则而可选地确定生成使得在示出来自过去的事件的连续镜头的状态下打开3P应用的深度链接。例如,这样的深度链接能够由3P远程服务器利用3P专有的信息(诸如指示过去的事件已发生和/或已在最后X分钟内已经发生的信息)来生成。
在一些实施方式中,家庭控制应用115或自动化助理应用能够标识用户尚未配置要经由家庭控制应用115和/或经由自动化助理应用控制的任何对应设备的一个或多个第三方。自动化助理应用能够可选地与家庭控制应用115相关联,但是与家庭控制应用115分离。例如,自动化助理应用和家庭控制应用115都可以由同一1P控制。例如,可以在客户端设备105上安装第三方应用,但是用户尚未经历一个或多个步骤以将家庭控制应用115和/或自动化助理应用集成以与用户的与3P应用125相关联的智能设备进行通信。因为用户可能不知道用于设置智能设备的协议并且/或者可能未认识到智能设备尚不可由家庭控制应用控制,所以可以通过来自3P的智能设备可用于被配置的一个或多个通知来帮助用户。
在一些实施方式中,家庭控制应用115可以利用设备拓扑表示来标识来自特定3P的智能设备未被包括在设备拓扑中。设备拓扑表示能够使用各种合适的技术来构造并且可以是能够表示一个或多个智能设备在一个或多个结构内的拓扑和组织的任何合适的格式和/或结构。设备拓扑表示能够定义和/或组织与用户(例如,用户的用户账户)相关联的一个或多个结构。例如,与用户相关联的结构可以是与用户相关联的家庭、企业、车辆、办公室和/或任何其它合适的结构。用户可以将每个结构组织成一个或多个房间(例如卧室、起居室、厨房),并且能够将一个或多个智能设备分配给一个或多个房间。例如,用户能够将一个或多个智能灯分配给特定结构的第一房间,并且将一个或多个门锁系统分配给该结构的第二房间。用户然后能够将一个或多个不同的智能设备分配给第二结构内的一个或多个房间。
用户能够向设备拓扑表示内的智能设备分配一个或多个标识符。标识符能够由用户选取并与设备拓扑表示内的相应的智能设备相关联。标识符能够包括由用户为智能设备选择的昵称和/或别名(例如沙发电灯、前门锁、卧室扬声器等)。以这种方式,标识符可以是相应的智能设备的用户很可能在提供用于控制这些智能设备的语音话语时使用的名称或别名。
设备拓扑表示能够进一步指定与各个设备相关联的一个或多个设备性质。设备性质能够与智能设备被配置成执行的一个或多个动作相关联。例如,与照明设备相关联的设备性质能够包括与照明设备相关联的打开能力、关闭能力、调光能力和/或其它合适的性质。作为另一示例,自动门锁设备能够包括锁定能力、解锁能力和/或其它合适的能力。
替代向用户提供配置在设备拓扑表示中缺少任何智能设备的任何3P的智能设备的建议,本文公开的实施方式提供用于基于同样确定在与用户的用户账户相关联的客户端设备处安装了该3P的3P应用来配置3P的智能设备的建议,其中3P应用使得能够控制3P的一个或多个3P智能设备。以这些和其它方式,可以响应于确定用户已安装了3P的使得能够控制该3P的智能设备的应用而仅提供用于配置3P的智能设备的建议。这能够确保提供的建议是针对用户很可能已关联了智能设备的3P的。
在一些实施方式中,可以通过家庭控制应用115来提供配置智能设备的建议。例如,参考图5,提供了家庭控制应用的界面。界面500包括允许用户改变“灯1”、“灯2”和“灯3”的状态的图形元素505、510和515。另外,界面500包括指示来自特定3P(“3P ABC”)的智能设备未被配置的建议520以及将设备添加到设备拓扑表示的提示。在来自用户的肯定输入(例如,说“YES(是)”或对“是”界面元素进行选择)之后,设备配置引擎160能够与3P远程服务器1101-N中的对应的一个3P远程服务器交互以将用户的任何设备添加到设备拓扑表示。
在一些实施方式中,响应于接收到来自用户的肯定输入,设备配置引擎160尝试利用与家庭控制应用115和/或自动化助理应用相关联的用户账户来与3P远程服务器1101-N中的对应的一个3P远程服务器对接。例如,该用户账户也能够被用户用于对应的3P,从而使得设备配置引擎160能够利用该用户账户来与对应的3P一起验证用户,而无需提示用户附加登录信息。设备配置引擎160能够在向智能设备拓扑自动地添加与未经配置的智能设备相关联的一个或多个3P智能设备方应用中的至少一些3P智能设备方应用的特定设备时与3P的应用编程接口(API)交互以将该设备配置成可由家庭控制应用控制。
在一些实施方式中,响应于接收到来自用户的肯定输入,设备配置引擎160呈现登录界面,该登录界面使得能够登录到特定于3P的3P账户,并且当被利用来登录到3P账户时,使得在将特定设备自动地添加到智能设备拓扑时与3P的API或附加API对接。在那些实施方式中的一些实施方式中,设备配置引擎首先尝试使用与家庭控制应用115和/或自动化助理应用相关联的用户账户来登录,然后仅在这种尝试失败时呈现登录界面。
在一些实施方式中,响应于接收到来自用户的肯定输入,设备配置引擎160在将3P的智能设备自动地添加到智能设备拓扑时(例如,经由客户端设备105的操作系统)与第三方应用125中的一个第三方应用对接。在那些实施方式中的一些实施方式中,特定应用(例如,家庭控制应用115)能够并入设备配置引擎160的全部或各方面并且能够证实第三方应用。如果第三方应用被证实,则设备配置引擎160能够提供利用链接功能执行第三方应用的意图。例如,能够将意图提供给客户端设备105的操作系统以使客户端设备的操作系统通过调用该意图来执行第三方应用。意图能够特定于第三方应用的链接功能,该链接功能当由第三方应用执行时,使如果满足了一个或多个条件,则第三方应用返回至少一个访问令牌(例如,长期和/或短期访问令牌)。如在下面更详细地描述的,例如,一个或多个条件能够包括对提供意图的应用的验证。能够响应于提供意图而从第三方应用接收至少一个访问令牌。另外,设备配置引擎160能够利用至少一个访问令牌来获得与3P智能设备有关的附加信息,并且能够将所获得的附加信息中的至少一些附加信息添加到智能设备拓扑。访问令牌也能够使得能够控制3P智能设备(例如,通过将访问令牌包括在来自自动化助理的请求中和/或在获得更新后的短期访问令牌时)。
在一些实施方式中,如图5中所示,仅当用户正在访问家庭控制应用时才可以向用户提供用于配置智能设备的建议。然而,在一些实施方式中,可以附加地或替选地提供建议,而不管用户是否正在访问家庭控制应用和/或任何其它活动应用。例如,建议可以经由一个或多个通知消息、经由自动化助理和/或在客户端设备上执行的任何其它界面元素而出现在客户端设备的主屏幕上,而不管任何应用是否为活动的。
图6示出示例方法的流程图。图6的步骤能够由诸如客户端设备的一个或多个处理器的一个或多个处理器来执行。其它实施方式可以包括除图6中示出的步骤以外的附加步骤,可以以不同的顺序和/或并行地执行图6的步骤,并且/或者可以省略图6的步骤中的一个或多个步骤。
在步骤605处,接收指向在客户端设备处执行的活动应用的用户输入。用户输入是经由诸如触摸屏显示器、麦克风或其它输入设备的一个或多个用户输入设备提供的。在一些实施方式中,活动应用可以是家庭控制应用,诸如图1的家庭控制应用115。
在步骤610处,一个或多个组件确定用户输入涉及渲染使得控制一个或多个智能设备的一个或多个界面。如图1中所示的,智能设备可以与智能设备145A和/或145B共享一个或多个特性。例如,智能设备可以包括由与在客户端设备和/或一个或多个其它设备上执行的一个或多个软件组件相关联的第三方制造的恒温器、智能照明单元、相机和/或其它设备。活动应用的界面允许经由一个或多个组件提供一个或多个输入以允许用户经由该输入控制第三方智能设备中的一个或多个第三方智能设备。
在步骤615处,发送针对与步骤605的用户输入所指向的智能设备相关联的第三方的被寻址到第三方的地址的请求。请求至少包括一个或多个特定智能设备的标识符。例如,用户可以提供控制与第三方“ABC”相关联的智能照明单元“123”的输入,并且能够生成被寻址到与“ABC”相关联的系统的地址并且包括照明单元“123”的标识符的请求。
在步骤620处,响应于提供请求,接收到深度链接,其中深度链接是到被安装在客户端设备上的第三方应用。深度链接由第三方系统(可选地实时地)生成,响应于步骤615的请求,被配置成使第三方应用在针对一个或多个特定设备呈现附加信息的状态下打开。例如,第三方“ABC”能够与应用相关联,该应用当被安装在客户端设备上时,允许用户经由针对照明单元“123”的一个或多个界面来控制照明单元“123”。第三方应用在使用深度链接被访问时,呈现不被包括在活动应用的界面中的附加信息。例如,活动应用可以允许用户打开或关闭照明单元,但是不允许用户控制由照明单元发出的颜色。然而,与深度链接相关联的界面可以包括这种功能性。
在步骤625处,渲染至少一个图形界面元素,当经由另外的用户界面输入与之交互时,该至少一个图形界面元素允许控制智能设备。也同时地渲染附加图形元素,当与之交互(例如,被选择)时,该附加图像元素使得执行深度链接。例如,深度链接的执行能够使第三方应用针对特定智能设备打开并呈现附加信息。例如,附加图形元素可以是可选择按钮,该可选按钮被提供有针对照明单元“123”的活动应用的界面。在与按钮交互之后,能够执行深度链接以使第三方应用打开到与照明单元“123”相关联并包括与照明单元“123”有关的附加信息的界面。例如,附加信息可以包括允许用户改变照明单元“123”所发出的色温的一个或多个图形元素。
图7A示出示例方法的流程图。图7A的步骤可以由诸如客户端设备的一个或多个处理器的一个或多个处理器来执行。其它实施方式可以包括除图7A中示出的步骤以外的附加步骤,可以以不同的顺序和/或并行地执行图7A的步骤,并且/或者可以省略图7A的步骤中的一个或多个步骤。
在步骤705处,确定了在客户端设备上安装了第三方应用。如本文关于图1所描述的,第三方应用使得能够控制第三方的一个或多个智能设备并且可以与第三方应用125共享一个或多个特性。在一些实施方式中,能够基于第三方应用的包名称或其它标识符确定第三方应用,并且能够基于第三方应用与智能设备控制的所存储的关联标识第三方应用。
在步骤710处,确定了与客户端设备的用户账户和/或客户端设备相关联的智能设备拓扑不包括针对第三方的智能设备的任何条目。例如,用户账户能够包括与可经由客户端设备(例如,经由客户端设备的自动化助理应用)访问的自动化助理相关联的用户账户。自动化助理能够在控制各种智能设备时利用智能设备拓扑。
在步骤715处,响应于确定智能设备拓扑不包括针对第三方的智能设备中的任一个智能设备的条目,渲染包括对用户的向智能设备拓扑添加第三方的智能设备的建议的输出。建议可以与在图5中示出的建议共享一个或多个特性。例如,建议可以包括第三方的标识符以及允许用户选择是否向智能设备拓扑添加第三方的智能设备的一个或多个图形元素。
在步骤720处,响应于在步骤715处渲染输出而接收肯定的用户输入。例如,输出能够包括可选择以确认用户期望添加智能设备的界面元素,并且肯定的用户输入可以是对界面元素的选择。另外,例如,肯定的用户输入可以是响应于在步骤715处渲染输出而提供的口头“是(yes)”或“是,添加智能设备(yes,add the smart devices)”。如果(例如,在步骤715处渲染输出的阈值时间量内)未接收到肯定的用户输入或者替代地接收到否定的用户输入(例如,口头“否(no)”、对“否”界面元素的选择或输出的撤销),则图7的方法能够结束。
响应于在步骤720处接收到肯定输入,能够执行步骤725、730和735中的一个步骤。在一些实施方式中,(以任何顺序和/或并行地)尝试步骤725、730和735中的多个,并且仅一个步骤将成功。在那些实施方式中的一些实施方式中,仅在确定不能成功地执行步骤725和/或步骤735之后才执行步骤730。如本文所描述的,步骤725和/或步骤735能够消除用户提供任何进一步输入(或者至少相对于步骤730提供减少的输入的持续时间)的需要并且对具有低灵巧性的用户和/或其它用户可以是有利的。因此,至少在执行步骤725和/或步骤735时进一步减少了用户输入。
在步骤725处,利用用户账户来与第三方的API对接以向拓扑自动地添加智能设备中的至少一些智能设备。例如,用于客户端设备的助理的用户账户也可以由第三方接受。例如,用户账户可以是单点登录账户并且可能已由用户用作助理的用户账户,并且用作第三方的一个(仅一个或许多中的一个)账户。在与第三方的API对接时,能够将单点登录账户用作由第三方系统在对接期间提供的授权、访问令牌和/或附加信息。访问令牌可以由助理利用以使得能够(直接或间接)控制第三方的智能设备,并且例如,附加信息能够包括与用户账户相关联的第三方的智能设备的标识符、智能设备的其它性质和/或与智能设备有关的其它信息。响应于与第三方的API对接并且获得令牌和/或其它信息,能够更新智能设备拓扑以包括与智能设备相关联的一个或多个节点和智能设备的标识符,如此自动化助理能够随后控制智能设备。
在步骤730处,呈现了特定于第三方账户的登录界面。能够利用该界面来登录到第三方账户以便利用与和自动化助理相关联的账户有区别的第三方账户来与第三方的API对接。一旦已登入第三方账户,就能够将智能设备添加到智能设备拓扑。例如,用户可以利用该界面来键入用户名和/或密码,并且仅在确认用户具有与第三方的账户之后才可访问第三方的API。一旦被确认,一个或多个组件就可以经由API与第三方交互以接收访问令牌和附加信息,以使得能够控制智能设备和/或将智能设备添加到拓扑。
在步骤735处,执行图7B的一个或多个步骤。图7B示出示例方法的流程图。图7B的步骤能够由诸如客户端设备的一个或多个处理器的一个或多个处理器来执行。其它实施方式可以包括除图7B中示出的步骤以外的附加步骤,可以以不同的顺序和/或并行地执行图7B的步骤,并且/或者可以省略图7B的步骤中的一个或多个步骤。在各种实施方式中,在图7A的步骤705、710、715和720之后执行图7B的步骤。然而,注意在各种替选实施方式中,能够在不执行图7A的一个或多个(例如,任何)步骤的情况下执行图7B的一个或多个步骤。例如,能够响应于用户在家庭应用和/或其它应用内手动地导航到向助理账户添加第三方设备的选项并且选择该选项来执行图7B的步骤。另外,例如,能够响应于执行图7A的步骤705和710而自动地(即,在没有任何进一步用户输入的情况下)执行图7B的步骤。
在步骤740处,证实了第三方应用。例如,能够基于第三方应用的包名称最初标识第三方应用(例如,在步骤705处),但是能够使用先前为第三方应用提供的签名来证实第三方应用。例如,能够通过获得第三方应用的签署签名并且将散列签名(例如,使用SHA-256或其它密码散列算法进行散列处理)与由第三方作为装载过程的一部分提供的签名进行比较来证实第三方应用。例如,第三方系统可能先前已向操作自动化助理和/或操作客户端设备的操作系统的第一方系统提供了第三方应用的有效散列签名。能够将安装在客户端设备上的第三方应用的签署签名与这种先前提供的散列签名进行比较以验证所安装的第三方应用确实是第三方的应用(而不是“冒充”应用)。
在步骤745处,提供利用链接功能执行第三方应用的意图。例如,能够将意图(例如,由自动化助理应用或家庭控制应用)提供给客户端设备的操作系统以使客户端设备的操作系统通过调用该意图来执行第三方应用。意图能够特定于第三方应用的链接功能,该链接功能当由第三方应用执行时,使如果满足了一个或多个条件,则第三方应用返回至少一个访问令牌(例如,长期和/或短期访问令牌)。如在下面更详细地描述的,例如,一个或多个条件可以包括对提供意图的应用的验证。所提供的意图能够可选地包括客户端标识符,诸如与自动化助理应用或家庭控制应用相关联的用户账户的标识符,并且/或者能够可选地包括正在请求的访问的范围和/或令牌的指示。在一些实施方式中,如果操作系统尝试在第三方应用中解析意图的目标,但是未找到解析,则能够假定第三方应用不支持链接功能,并且图7B的方法能够结束(以及可选地呈现错误消息)。
在步骤750处,从第三方应用接收访问令牌。在一些实施方式中,第三方应用在获得访问令牌时与第三方的一个或多个远程系统对接。在一些其它实施方式中,访问令牌能够由第三方的一个或多个远程系统先前提供给第三方应用以用于在具有访问限制的客户端设备上的本地存储。在访问令牌被在本地存储在客户端设备上的实施方式中,能够减少向拓扑添加第三方的智能设备的延迟。
在一些实施方式中,当响应于所提供的意图而利用链接功能执行第三方应用时,第三方应用在提供访问令牌之前首先验证意图请求。例如,它能够通过证实调用应用(提供了意图的调用应用)是自动化助理应用或者其它证实的应用来验证请求。例如,它能够获得调用应用的签名并且对照(例如,在装载过程期间)作为自动化助理应用、家庭控制应用或另一已验证应用的真实签名被提供给第三方系统的先前提供的签名来比较该签名。在一些实施方式中,如果第三方应用不能返回访问令牌,则它能够提供错误。在那些实施方式中的一些实施方式中,错误能够指示它是可恢复的错误,并且响应于错误指示它是可恢复的而提供新意图(例如,具有替代链接功能和/或其它参数)。在一些其它实施方式中,错误能够指示它不是可恢复的错误,并且响应于错误指示它不是可恢复的错误而不提供进一步意图。
在步骤755处,利用访问令牌来获得附加第三方智能设备数据。例如,能够利用访问令牌来经由网络与第三方应用的远程系统对接并且获得与特定智能设备有关的附加信息。能够将所获得的附加信息中的至少一些附加信息添加到智能设备拓扑。访问令牌也能够使得能够由自动化助理控制3P智能设备(例如,通过将访问令牌包括在来自自动化助理的请求中和/或在获得能够被包括在请求中的更新后的短期访问令牌时)。
图8是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备810的框图。计算设备810通常包括经由总线子系统812与许多外围设备进行通信的至少一个处理器814。这些外围设备可以包括存储子系统824(包括例如存储器子系统825和文件存储子系统826)、用户界面输出设备820、用户界面输入设备822和网络接口子系统816。输入和输出设备允许用户与计算设备810交互。网络接口子系统816提供到外部网络的接口并且耦合到其它计算设备中对应的接口设备。
用户界面输入设备822可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备810中或到通信网络上的所有可能类型的设备和方式。
用户界面输出设备820可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统也可以例如经由音频输出设备提供非可视显示。通常,术语“输出设备”的使用旨在包括从计算设备810向用户或向另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子系统824存储提供本文描述的模块中的一些或全部的功能性的程序和数据构造。例如,存储子系统824可以包括执行本文描述的方法的所选择的方面以及实现图1中描绘的各种组件的逻辑。
这些软件模块通常由处理器814单独地或结合其它处理器执行。存储子系统824中使用的存储器825能够包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)830以及其中存储有固定指令的只读存储器(ROM)832。文件存储子系统826能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器连同关联的可移除介质、CD-ROM驱动器、光驱或可移除介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统826存储在存储子系统824中,或者存储在可由处理器814访问的其它机器中。
总线子系统812提供了用于让计算设备810的各种组件和子系统按预期彼此通信的机制。尽管总线子系统812被示意性地示出为单条总线,但是总线子系统的替代实现方式可以使用多条总线。
计算设备810可以具有变化类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断改变的性质,出于示出一些实施方式的目的,对图8中描绘的计算设备810的描述仅旨在作为特定示例。计算设备810的许多其它配置可能具有比图6中描绘的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络、用户的位置、用户的时间的信息、用户的生物统计信息以及用户的活动和人口统计信息、用户之间的关系等)的情形下,向用户提供用于控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储并使用关于用户的信息的一个或多个机会。也就是说,本文讨论的系统和方法仅在从相关用户接收到要这样做的显式授权之后才收集、存储和/或使用用户个人信息。
例如,向用户提供了对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向要收集个人信息的每个用户呈现了允许对与该用户相关的信息收集进行控制以提供关于是否收集信息和关于要收集信息的哪些部分的许可或授权的一个或多个选项。例如,能够通过通信网络向用户提供一个或多个此类控制选项。此外,某些数据可以在它被存储或使用之前被以一个或多个方式处理,使得个人可标识的信息被移除。作为一个示例,可以处理用户的身份,使得不能确定个人可标识的信息。作为另一示例,可以将用户的地理位置一般化为较大的区域,使得不能确定用户的特定位置。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:接收指向在客户端设备处执行的活动应用的用户界面输入。用户界面输入是经由客户端设备的用户界面输入设备来提供的。该方法进一步包括:确定用户界面输入是对经由活动应用渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定第三方(3P)的一个或多个特定智能设备。活动应用使得能够控制多个第三方(3P)的多个智能设备,包括特定3P的一个或多个特定智能设备。该方法进一步包括:响应于确定用户界面输入是对渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备:通过一个或多个网络发送请求,该请求被寻址到特定3P的特定3P地址,并且包括一个或多个特定智能设备的标识符。该方法进一步包括:响应于发送请求并从特定3P接收:到被安装在客户端设备处并且由3P控制的3P应用的深度链接。接收到的深度链接基于包括一个或多个特定智能设备的标识符的请求,被配置成使客户端设备在呈现针对一个或多个特定智能设备的附加信息的状态下打开3P应用。该方法进一步包括:响应于用户界面输入,使活动应用同时地渲染:至少一个交互式图形界面元素,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备;以及可选择3P元素,当被选择时,该可选择3P元素使得执行深度链接以使客户端设备在呈现针对一个或多个特定智能设备的附加信息的状态下打开3P应用。
本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
在一些实施方式中,针对一个或多个特定智能设备的附加信息包括至少一个附加图形元素,当与之交互时,该至少一个附加图形元素使得控制一个或多个特定智能设备的一个或多个属性。对一个或多个特定智能设备的一个或多个属性的控制不是经由与经由应用渲染的至少一个交互式图形界面元素的交互来实现的。在一些实施方式中,一个或多个特定智能设备的标识符是一个或多个特定智能设备的唯一标识符,该唯一标识符被用在应用与3P之间的交互中,并且该唯一标识符由3P在本地映射到一个或多个特定智能设备的3P专有的专有标识符。
在一些实施方式中,该方法进一步包括,在接收指向在客户端设备处执行的活动应用的用户界面输入以前:确定在客户端设备处安装了3P应用。在那些实施方式中的一些实施方式中,发送请求取决于已确定在客户端设备处安装了3P应用。确定在客户端设备处安装了3P应用能够包括与客户端设备的操作系统的应用编程接口(API)对接,以确定在客户端设备处安装了3P应用。
在一些实施方式中,一个或多个智能设备包括相机,并且针对一个或多个特定智能设备的附加信息至少包括经由相机最近捕获的视频剪辑。
在一些实施方式中,该方法进一步包括:响应于发送请求并从特定3P接收可选择3P元素的指示;以及从针对3P的多个候选3P元素中选择可选择3P元素以供渲染,其中选择可选择3P元素基于响应于发送请求而接收到的可选择3P元素的指示。
在一些实施方式中,该方法进一步包括,在使活动应用同时地渲染至少一个交互式图形界面元素和可选择3P元素之后:接收指向活动应用的附加用户界面输入;确定附加用户界面输入是对经由活动应用渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备;响应于确定用户界面输入是对渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备:通过一个或多个网络发送请求的另一实例,该请求的另一实例被寻址到特定3P的特定3P地址,并且包括一个或多个特定智能设备的标识符;响应于发送请求并从特定3P接收:到被安装在客户端设备处的3P应用的不同深度链接,其中所接收到的不同深度链接不同于所述深度链接,并且基于包括一个或多个特定智能设备的标识符的请求,被配置成使客户端设备在呈现针对一个或多个特定智能设备的不同信息的不同状态下打开3P应用;以及响应于附加用户界面输入,使活动应用同时地渲染:至少一个交互式图形界面元素,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备;以及可选择3P元素或附加可选择3P元素,当被选择时,该可选择3P元素或附加可选择3P元素使得执行到客户端设备的不同深度链接以在呈现针对一个或多个特定智能设备不同信息的不同状态下打开3P应用。
在一些实施方式中,该方法进一步包括,在使活动应用同时地渲染至少一个交互式图形界面元素和可选择3P元素之后:接收指向活动应用的附加用户界面输入;确定附加用户界面输入是对经由活动应用渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备;响应于确定用户界面输入是对渲染至少一个交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备:通过一个或多个网络发送请求的另一实例,该请求的另一实例被寻址到特定3P的特定3P地址,并且包括一个或多个特定智能设备的标识符;响应于发送请求并从特定3P接收:到被安装在客户端设备处的3P应用的不同深度链接,其中所接收到的不同深度链接不同于所述深度链接,并且基于包括一个或多个特定智能设备的标识符的请求,被配置成使客户端设备在与深度链接相同的状态下打开3P应用;以及响应于附加用户界面输入,使活动应用同时地渲染:至少一个交互式图形界面元素,当经由另外的用户界面输入与之交互时,该至少一个交互式图形界面元素使得对应地控制特定3P的一个或多个特定智能设备;和可选择3P元素或附加可选择3P元素,当被选择时,该可选择3P元素或附加可选择3P元素使得执行不同深度链接以使客户端设备在呈现针对一个或多个特定智能设备的相同信息的相同状态下打开3P应用。
在一些实施方式中,该方法进一步包括:接收指向活动应用的另外的附加用户界面输入;确定另外的用户界面输入是对经由活动应用渲染至少一个另外的交互式图形界面元素的请求,当经由另外的用户界面输入与之交互时,该至少一个另外的交互式图形界面元素使得对应地控制与特定3P有区别的另外的3P的一个或多个另外的智能设备;确定客户端设备缺少由另外的3P控制的另外的3P应用;响应于确定另外的用户界面输入是对渲染至少一个另外的交互式图形界面元素的请求并且客户端设备缺少另外的3P应用:使活动应用同时地渲染:至少一个另外的交互式图形界面元素,当经由另外的用户界面输入与之交互时,该至少一个另外的交互式图形界面元素使得对应地控制另外的3P的一个或多个另外的智能设备;和另外的可选择3P元素,当被选择时,该另外的可选择3P元素使客户端设备呈现用于装另外的3P应用的选项。
在一些实施方式中,提供了一种由一个或多个处理器实现的方法,并且该方法包括确定在与用户账户相关联的客户端设备处安装了第三方(3P)应用。3P应用使得能够控制3P的一个或多个3P智能设备。该方法进一步包括:确定与用户账户相关联并且由自动化助理在经由与自动化助理的交互来控制智能设备时利用的智能设备拓扑缺少3P的一个或多个3P智能设备中的任一个3P智能设备的任何条目。该方法进一步包括,响应于确定在客户端设备处安装了3P应用并且智能设备拓扑缺少一个或多个3P智能设备中的任一个3P智能设备的任何条目:使得在客户端设备或与用户账户相关联的附加客户端设备处渲染输出,其中输出包括用于将3P添加到智能设备拓扑的建议。该方法进一步包括:响应于输出的渲染而接收肯定的用户界面输入;以及响应于接收到肯定的用户界面输入:在向智能设备拓扑自动地添加一个或多个3P智能设备中的至少一些3P智能设备的特定设备时,使用用户账户来与3P的应用编程接口(API)进行对接;在将特定智能设备自动地添加到智能设备拓扑时与安装在客户端设备处的第三方应用交互;或者呈现登录界面,该登录界面使得能够登录到特定于3P的3P账户,并且当被利用来登录到3P账户时,使得在将特定设备自动地添加到智能设备拓扑时与3P的API或附加API交互。
本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
在一些实施方式中,该方法包括使用用户账户来在向智能设备拓扑自动地添加一个或多个3P智能设备中的至少一些3P智能设备的特定设备时与3P的API对接。在那些实施方式中的一些实施方式中,在接收到肯定的用户界面输入之后,并且在完成将特定设备自动地添加到智能设备拓扑之前,不向用户呈现附加提示。
在一些实施方式中,该方法包括呈现登录界面,该登录界面使得能够登录到特定于3P的3P账户,并且当被利用来登录到3P账户时,使得在将特定设备自动地添加到智能设备拓扑时与3P的API或附加API对接。在那些实施方式中的一些实施方式中,呈现登录界面响应于使用用户账户来与3P的API对接的失败尝试而发生。
在一些实施方式中,输出包括由家庭控制应用渲染的图形输出。
在一些实施方式中,输出包括由自动化助理应用渲染的图形和/或可听输出。
在一些实施方式中,响应于接收到肯定的用户界面输入,该方法包括在将特定智能设备自动地添加到智能设备拓扑时与安装在客户端设备处的第三方应用对接。在那些实施方式的一些版本中,在将特定智能设备自动地添加到智能设备拓扑时与第三方应用对接包括:使用先前为第三方应用提供的签名来证实第三方应用;响应于证实了第三方应用,提供使第三方应用利用链接功能执行的意图;以及响应于提供了意图而从第三方应用接收访问令牌。在那些版本中的一些版本中,当利用链接功能执行了第三方应用时,第三方应用:证实意图是由已验证应用使用先前提供的已验证应用的签名来提供的;并且响应于证实意图是由已验证应用提供的而返回访问令牌。在一些实施方式中,在将特定智能设备自动地添加到智能设备拓扑时与第三方应用对接包括:利用访问令牌来经由网络与第三方应用的远程系统对接并且获得与特定智能设备有关的附加信息;以及将附加信息中的至少一些附加信息添加到智能设备拓扑。
在一些实施方式中,提供了一种由客户端设备的一个或多个处理器实现的方法并且该方法包括确定在客户端设备处安装了第三方(3P)应用。3P应用使得能够控制3P的一个或多个3P智能设备。该方法进一步包括确定与客户端设备相关联并且由自动化助理在经由与自动化助理的交互来控制智能设备时利用的智能设备拓扑缺少3P的一个或多个3P智能设备中的任一个3P智能设备的任何条目。该方法进一步包括使用先前为第三方应用提供的签名来证实第三方应用。该方法进一步包括,响应于证实第三方应用并且响应于确定在客户端设备处安装了3P应用并且智能设备拓扑缺少一个或多个3P智能设备中的任一个3P智能设备的任何条目:在将特定智能设备自动地添加到智能设备拓扑时与安装在客户端设备处的第三方应用对接。
本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
在一些实施方式中,在将特定智能设备自动地添加到智能设备拓扑时与第三方应用对接包括:提供使第三方应用利用链接功能执行的意图;以及响应于提供了意图而从第三方应用接收访问令牌。在那些实施方式中的一些实施方式中,该方法由客户端设备的特定应用执行,并且当利用链接功能执行第三方应用时,第三方应用:基于特定应用已提供了意图来证实特定应用;以及响应于证实了特定应用而返回访问令牌。在一些实施方式中,在将特定智能设备自动地添加到智能设备拓扑时与第三方应用对接包括:利用访问令牌来经由网络与第三方应用的远程系统对接并且获得与特定智能设备有关的附加信息;以及将附加信息中的至少一些附加信息添加到智能设备拓扑。

Claims (11)

1.一种由一个或多个处理器实现的方法,所述方法包括:
接收指向在客户端设备处执行的活动应用的用户界面输入,所述用户界面输入是经由客户端设备的用户界面输入设备来提供的;
确定所述用户界面输入是对经由所述活动应用渲染至少一个交互式图形界面元素的请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制特定第三方的一个或多个特定智能设备,
其中,所述活动应用使得能够控制多个第三方的多个智能设备,所述多个第三方的多个智能设备包括所述特定第三方的所述一个或多个特定智能设备;
响应于确定所述用户界面输入是对渲染所述至少一个交互式图形界面元素的所述请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备:
通过一个或多个网络发送请求,所述请求:
被寻址到所述特定第三方的特定第三方地址,并且
包括所述一个或多个特定智能设备的标识符;
响应于发送所述请求并从所述特定第三方接收:
到被安装在所述客户端设备处并由所述第三方控制的第三方应用的深度链接,其中所接收到的深度链接基于包括所述一个或多个特定智能设备的所述标识符的所述请求,被配置成使得所述客户端设备在呈现针对所述一个或多个特定智能设备的附加信息的状态下打开所述第三方应用;以及
响应于所述用户界面输入,使得所述活动应用同时地渲染:
所述至少一个交互式图形界面元素,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备,以及
可选择第三方元素,所述可选择第三方元素当被选择时,使得执行所述深度链接以使得所述客户端设备在呈现针对所述一个或多个特定智能设备的附加信息的所述状态下打开所述第三方应用。
2.根据权利要求1所述的方法,其中,针对所述一个或多个特定智能设备的所述附加信息包括至少一个附加图形元素,所述至少一个附加图形元素当与之交互时,使得控制所述一个或多个特定智能设备的一个或多个属性,其中,对所述一个或多个特定智能设备的所述一个或多个属性的所述控制不是经由与经由所述应用渲染的所述至少一个交互式图形界面元素的交互来实现的。
3.根据权利要求1所述的方法,其中,所述一个或多个特定智能设备的所述标识符是所述一个或多个特定智能设备的唯一标识符,其中,所述唯一标识符被用在所述应用与所述第三方之间的交互中,并且其中,所述唯一标识符由所述第三方在本地映射到所述一个或多个特定智能设备的、所述第三方专有的专有标识符。
4.根据权利要求1所述的方法,进一步包括:
在接收指向在所述客户端设备处执行的所述活动应用的所述用户界面输入以前:
确定在所述客户端设备处安装了所述第三方应用;
其中,发送所述请求取决于已确定在所述客户端设备处安装了所述第三方应用。
5.根据权利要求4所述的方法,其中,确定在所述客户端设备处安装了所述第三方应用包括:
与所述客户端设备的操作系统的应用编程接口API对接,以确定在所述客户端设备处安装了所述第三方应用。
6.根据权利要求1所述的方法,其中,所述一个或多个智能设备包括相机,并且其中,针对所述一个或多个特定智能设备的所述附加信息包括至少:
经由所述相机最近捕获的视频剪辑。
7.根据权利要求1所述的方法,进一步包括:
响应于发送所述请求并从所述特定第三方接收所述可选择第三方元素的指示;
从针对所述第三方的多个候选第三方元素中选择所述可选择第三方元素以供渲染,其中,选择所述可选择第三方元素基于响应于发送所述请求而接收到的所述可选择第三方元素的指示。
8.根据权利要求1所述的方法,进一步包括:
在使得所述活动应用同时地渲染所述至少一个交互式图形界面元素和所述可选择第三方元素之后:
接收指向所述活动应用的附加用户界面输入;
确定所述附加用户界面输入是对经由所述活动应用渲染所述至少一个交互式图形界面元素的请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备;
响应于确定所述用户界面输入是对渲染所述至少一个交互式图形界面元素的所述请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备:
通过一个或多个网络发送所述请求的另一实例,所述请求的另一实例:
被寻址到所述特定第三方的所述特定第三方地址,并且包括所述一个或多个特定智能设备的所述标识符;
响应于发送所述请求并从所述特定第三方接收:
到被安装在所述客户端设备处的所述第三方应用的不同深度链接,其中,所接收到的不同深度链接与所述深度链接不同,并且所接收到的不同深度链接基于包括所述一个或多个特定智能设备的所述标识符的所述请求而被配置成使得所述客户端设备在呈现针对所述一个或多个特定智能设备的不同信息的不同状态下打开所述第三方应用;以及
响应于所述附加用户界面输入,使得所述活动应用同时地渲染:
所述至少一个交互式图形界面元素,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备,以及
所述可选择第三方元素或附加可选择第三方元素,所述可选择第三方元素或附加可选择第三方元素当被选择时,使得执行所述不同深度链接以使所述客户端设备在呈现针对所述一个或多个特定智能设备的所述不同信息的所述不同状态下打开所述第三方应用。
9.根据权利要求1所述的方法,进一步包括:
在使得所述活动应用同时地渲染所述至少一个交互式图形界面元素和所述可选择第三方元素之后:
接收指向所述活动应用的附加用户界面输入;
确定所述附加用户界面输入是对经由所述活动应用渲染所述至少一个交互式图形界面元素的请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备;
响应于确定所述用户界面输入是对渲染所述至少一个交互式图形界面元素的所述请求,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备:
通过一个或多个网络发送所述请求的另一实例,所述请求的另一实例:
被寻址到所述特定第三方的所述特定第三方地址,并且包括所述一个或多个特定智能设备的所述标识符;
响应于发送所述请求并从所述特定第三方接收:
到被安装在所述客户端设备处的所述第三方应用的不同深度链接,其中,所接收到的不同深度链接与所述深度链接不同,并且所接收到的不同深度链接基于包括所述一个或多个特定智能设备的所述标识符的所述请求而被配置成使得所述客户端设备在与所述深度链接相同的状态下打开所述第三方应用;以及
响应于所述附加用户界面输入,使得所述活动应用同时地渲染:
所述至少一个交互式图形界面元素,所述至少一个交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述特定第三方的所述一个或多个特定智能设备,以及
所述可选择第三方元素或附加可选择第三方元素,所述可选择第三方元素或附加可选择第三方元素当被选择时,使得执行所述不同深度链接以使得所述客户端设备在呈现针对所述一个或多个特定智能设备的相同信息的相同状态下打开所述第三方应用。
10.根据权利要求1-9中任一项所述的方法,进一步包括:
接收指向所述活动应用的另外的附加用户界面输入;
确定所述另外的用户界面输入是对经由所述活动应用渲染所述至少一个另外的交互式图形界面元素的请求,所述至少一个另外的交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制与所述特定第三方有区别的另外的第三方的一个或多个另外的智能设备;
确定所述客户端设备缺少由所述另外的第三方控制的另外的第三方应用;
响应于确定所述另外的用户界面输入是对渲染所述至少一个另外的交互式图形界面元素的所述请求并且所述客户端设备缺少所述另外的第三方应用:
使得所述活动应用同时地渲染:
所述至少一个另外的交互式图形界面元素,所述至少一个另外的交互式图形界面元素当经由另外的用户界面输入与之交互时,使得对应地控制所述另外的第三方的所述一个或多个另外的智能设备,和
另外的可选择第三方元素,所述另外的可选择第三方元素当被选择时,使得所述客户端设备呈现用于安装所述另外的第三方应用的选项。
11.一种设备,所述设备包括存储器和一个或多个处理器,所述存储器存储指令,并且所述一个或多个处理器可操作来执行所述指令以使得所述处理器执行根据权利要求1-10中的任一项所述的方法。
CN201980020663.0A 2018-12-03 2019-03-13 智能设备的高效控制和/或链接 Active CN111919179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311325365.7A CN117424773A (zh) 2018-12-03 2019-03-13 智能设备的高效控制和/或链接

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862774755P 2018-12-03 2018-12-03
US62/774,755 2018-12-03
PCT/US2019/022048 WO2020117302A1 (en) 2018-12-03 2019-03-13 Efficient control and/or linking of smart devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311325365.7A Division CN117424773A (zh) 2018-12-03 2019-03-13 智能设备的高效控制和/或链接

Publications (2)

Publication Number Publication Date
CN111919179A CN111919179A (zh) 2020-11-10
CN111919179B true CN111919179B (zh) 2023-11-03

Family

ID=65995852

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980020663.0A Active CN111919179B (zh) 2018-12-03 2019-03-13 智能设备的高效控制和/或链接
CN202311325365.7A Pending CN117424773A (zh) 2018-12-03 2019-03-13 智能设备的高效控制和/或链接

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311325365.7A Pending CN117424773A (zh) 2018-12-03 2019-03-13 智能设备的高效控制和/或链接

Country Status (6)

Country Link
US (3) US11269305B2 (zh)
EP (2) EP3770702A1 (zh)
JP (3) JP7110371B2 (zh)
KR (2) KR102448387B1 (zh)
CN (2) CN111919179B (zh)
WO (1) WO2020117302A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919179B (zh) 2018-12-03 2023-11-03 谷歌有限责任公司 智能设备的高效控制和/或链接
KR20210076415A (ko) * 2019-12-16 2021-06-24 삼성전자주식회사 전자장치 및 그 제어방법
US11487890B2 (en) 2020-06-19 2022-11-01 Apple Inc. Third-party access of end-user device assets
US11790173B2 (en) * 2020-10-22 2023-10-17 Google Llc Recommending action(s) based on entity or entity type
WO2022251991A1 (en) * 2021-05-31 2022-12-08 Citrix Systems, Inc. Resource recommendation system
WO2023048720A1 (en) * 2021-09-24 2023-03-30 Google Llc Hierarchical mobile application launch
WO2023069621A1 (en) * 2021-10-20 2023-04-27 Google Llc Operating-system-level setup for multi-ecosystem smart-home devices
WO2023069622A1 (en) * 2021-10-20 2023-04-27 Google Llc Operating-system-level permission management for multi-ecosystem smart home devices
US20230119043A1 (en) * 2021-10-20 2023-04-20 Google Llc Operating-system-level permission management for multi-ecosystem smart-home devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462358A (zh) * 2014-05-31 2017-02-22 苹果公司 在触敏装置上显示交互式通知
CN107438826A (zh) * 2015-05-28 2017-12-05 谷歌公司 用于信息递送的动作触发器
CN107895577A (zh) * 2016-10-03 2018-04-10 谷歌公司 使用长尾语音命令的任务发起

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4207996C2 (de) 1992-03-13 1995-03-09 Alcoa Gmbh Verpackwerke Schraubverschluß
US9565275B2 (en) * 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information
US20120124061A1 (en) 2010-11-12 2012-05-17 Microsoft Corporation Rich Search Over and Deep Integration with Applications
US9953278B2 (en) * 2011-05-02 2018-04-24 Sears Brands, L.L.C. System and methods for interacting with networked home appliances
CA2854142A1 (en) 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US20130326499A1 (en) 2012-05-31 2013-12-05 Microsoft Corporation Automatically installing and removing recommended applications
US8510764B1 (en) 2012-11-02 2013-08-13 Google Inc. Method and system for deep links in application contexts
CN104765627A (zh) * 2014-01-07 2015-07-08 联发科技(新加坡)私人有限公司 智能设备、可穿戴式设备及其应用程序安装及卸载方法
US10444715B2 (en) * 2014-05-01 2019-10-15 Belkin International, Inc. Controlling settings and attributes related to operation of devices in a network
US9509768B2 (en) * 2014-05-08 2016-11-29 Facebook, Inc. Associating user interactions across multiple applications on a client device
US20150370272A1 (en) 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
CN104503688B (zh) * 2014-12-31 2018-03-02 小米科技有限责任公司 智能硬件设备的控制实现方法及装置
US10348656B2 (en) 2015-02-06 2019-07-09 Jamdeo Canada Ltd. Methods and devices for display device notifications and key handling
US10762143B2 (en) * 2015-02-13 2020-09-01 Microsoft Technology Licensing, Llc Extension of third party application functionality for intent determination
US10425392B2 (en) * 2015-08-05 2019-09-24 Facebook, Inc. Managing a device cloud
US9311168B1 (en) * 2015-09-30 2016-04-12 Google Inc. Deeplinking to multiple native applications
CN105376410B (zh) * 2015-11-26 2019-03-15 小米科技有限责任公司 闹钟设置方法及装置
US9881191B2 (en) * 2015-12-14 2018-01-30 Leadot Innovation, Inc. Method of controlling operation of cataloged smart devices
JP6484189B2 (ja) * 2016-02-25 2019-03-13 Kddi株式会社 デバイス制御装置、デバイス制御方法及びデバイス制御システム
US10542069B2 (en) * 2016-07-13 2020-01-21 Mobisave Llc System and method for providing a customized resource
JP6683893B2 (ja) * 2016-10-03 2020-04-22 グーグル エルエルシー デバイストポロジーに基づく音声コマンドの処理
US10466963B2 (en) * 2017-05-18 2019-11-05 Aiqudo, Inc. Connecting multiple mobile devices to a smart home assistant account
US10819794B2 (en) * 2017-09-26 2020-10-27 Verizon Patent And Licensing Inc. Distribution hub for internet-of-things data
KR102299239B1 (ko) * 2017-10-21 2021-09-06 애플 인크. 공동 디바이스 상의 가상 어시스턴트 시스템에 대한 개인 도메인
US10749855B2 (en) * 2017-10-30 2020-08-18 Vmware, Inc. Securely managing digital assistants that access third-party applications
KR102498007B1 (ko) * 2018-01-08 2023-02-08 엘지전자 주식회사 음성인식을 이용한 세탁물 처리기기 제어시스템 및 동작방법
US20190238358A1 (en) * 2018-02-01 2019-08-01 Bby Solutions, Inc. Automatic device orchestration and configuration
US11016720B2 (en) * 2018-06-15 2021-05-25 Bose Corporation Audio system
US10656008B2 (en) * 2018-10-23 2020-05-19 Sway sp. z o.o. System and method for discovering the topology of devices within a building automation and control system
CN111919179B (zh) 2018-12-03 2023-11-03 谷歌有限责任公司 智能设备的高效控制和/或链接

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462358A (zh) * 2014-05-31 2017-02-22 苹果公司 在触敏装置上显示交互式通知
CN107438826A (zh) * 2015-05-28 2017-12-05 谷歌公司 用于信息递送的动作触发器
CN107895577A (zh) * 2016-10-03 2018-04-10 谷歌公司 使用长尾语音命令的任务发起

Also Published As

Publication number Publication date
US11269305B2 (en) 2022-03-08
JP7110371B2 (ja) 2022-08-01
US20210132559A1 (en) 2021-05-06
JP2022136137A (ja) 2022-09-15
EP3770702A1 (en) 2021-01-27
KR102620160B1 (ko) 2024-01-02
WO2020117302A1 (en) 2020-06-11
CN111919179A (zh) 2020-11-10
KR20200127234A (ko) 2020-11-10
KR20220134052A (ko) 2022-10-05
CN117424773A (zh) 2024-01-19
US20220187778A1 (en) 2022-06-16
US11815869B2 (en) 2023-11-14
JP2024026200A (ja) 2024-02-28
US20240036541A1 (en) 2024-02-01
JP7395670B2 (ja) 2023-12-11
KR102448387B1 (ko) 2022-09-28
EP3698224A1 (en) 2020-08-26
JP2021518941A (ja) 2021-08-05

Similar Documents

Publication Publication Date Title
CN111919179B (zh) 智能设备的高效控制和/或链接
US11991258B2 (en) Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
JP6574902B2 (ja) アプリケーションインスタンスにわたる識別子
JP7106686B2 (ja) アシスタントクライアントデバイスによるスマートデバイスのローカルな制御および/または登録
US8588990B2 (en) Communicating through a server between appliances and applications
US20060085638A1 (en) Portable computing environment
CN111095862A (zh) 基于动态ip地址修改防火墙的方法、系统和介质

Legal Events

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