智能家居 AppSelector trait 架构

action.devices.traits.AppSelector - 此 trait 适用于能够在应用之间切换的设备。

设备属性

具有此 trait 的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅intent 执行方式

属性 类型 说明
availableApplications 数组

必填。

应用列表。每个应用在每种支持的语言中都有一个或多个同义词。系统会在响应中使用第一个同义词。

[item, ...] 对象

此设备用户可以与之互动的应用。

key String

必填。

应用的唯一键,不会在语音或响应中向用户公开。

names 数组

必填。

每个应用的名称及其特定于语言的同义词。

[item, ...] 对象

应用同义词。

name_synonym 数组

必填。

给定语言的应用名称的易懂同义词。系统会在响应中使用第一个同义词。

[item, ...] String

应用名称。

lang String

必填。

语言代码。

示例

安装了 YouTube 应用的设备

{
 
"availableApplications": [
   
{
     
"key": "youtube",
     
"names": [
       
{
         
"name_synonym": [
           
"YouTube",
           
"YouTube US"
         
],
         
"lang": "en"
       
},
       
{
         
"name_synonym": [
           
"YouTube",
           
"YouTube DE"
         
],
         
"lang": "de"
       
}
     
]
   
}
 
]
}

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式

类型 说明
currentApplication String

必填。

当前在前台处于活动状态的应用的键值。

示例

设备上当前有 YouTube 应用在前台运行。

{
 
"currentApplication": "YouTube"
}

设备命令

具有此 trait 的设备可能会在 EXECUTE 操作期间响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅intent 执行方式

action.devices.commands.appInstall

安装给定应用。

参数

参数 类型 说明
newApplication String

要安装的应用的键。

newApplicationName String

要安装的应用的名称。

示例

通过密钥安装 YouTube 应用

{
 
"command": "action.devices.commands.appInstall",
 
"params": {
   
"newApplication": "YouTube"
 
}
}

按名称安装 YouTube 应用

{
 
"command": "action.devices.commands.appInstall",
 
"params": {
   
"newApplicationName": "YouTube US"
 
}
}

action.devices.commands.appSearch

搜索给定应用。

参数

参数 类型 说明
newApplication String

要搜索的应用的键。

newApplicationName String

要搜索的应用的名称。

示例

按键搜索 YouTube 应用

{
 
"command": "action.devices.commands.appSearch",
 
"params": {
   
"newApplication": "YouTube"
 
}
}

按名称搜索 YouTube 应用

{
 
"command": "action.devices.commands.appSearch",
 
"params": {
   
"newApplicationName": "YouTube US"
 
}
}

action.devices.commands.appSelect

选择给定应用。

参数

参数 类型 说明
newApplication String

要选择的应用的键。

newApplicationName String

要选择的应用的名称。

示例

按键选择 YouTube 应用

{
 
"command": "action.devices.commands.appSelect",
 
"params": {
   
"newApplication": "YouTube"
 
}
}

按名称选择 YouTube 应用

{
 
"command": "action.devices.commands.appSelect",
 
"params": {
   
"newApplicationName": "YouTube US"
 
}
}

示例话语

  • Öffne Netflix auf dem Fernseher .
  • begin using YouTube app on the smart TV
  • pon netflix en la tele del salón
  • Mets Netflix sur la télé .
  • टीवी पर नेटफ्लिक्स ऍप लॉन्च करो
  • Apri Netflix sulla televisione della mia camera .
  • YouTube のアプリを テレビ でスタート
  • TV 에서 유튜브 앱 열어 줘
  • Start Netflix op mijn TV .
  • Abra o Netflix na TV para mim.
  • Abre o Youtube na televisão .
  • Öppna Youtube TV:n

设备错误

查看错误和异常的完整列表。
  • noAvailableApp:应用不存在或不可用。
  • appLaunchFailed:应用未能启动。
  • alreadyInstalledApp:应用已安装。