智能家居 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"
  }
}

示例话语

de-DE

  • Öffne Netflix auf dem Fernseher .

en-US

  • begin using YouTube app on the smart TV

es-ES

  • pon netflix en la tele del salón

fr-FR

  • Mets Netflix sur la télé .

hi-IN

  • टीवी पर नेटफ्लिक्स ऍप लॉन्च करो

it-IT

  • Apri Netflix sulla televisione della mia camera .

ja-JP

  • YouTube のアプリを テレビ でスタート

ko-KR

  • TV 에서 유튜브 앱 열어 줘

nl-NL

  • Start Netflix op mijn TV .

pt-BR

  • Abra o Netflix na TV para mim.
  • Abre o Youtube na televisão .

sv-SE

  • Öppna Youtube TV:n

设备错误

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