as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

探索指令 (VSK Echo Show)

探索指令 (VSK Echo Show)

亚马逊通过探索API发送Discover指令,以确定您的视频技能支持哪些功能。您对探索指令的响应决定了Alexa将向您的Lambda函数发送哪些类型的指令。

例如,如果您表明支持频道更改,Alexa将发送GetPlayableItems指令,这些指令采用type": "Channel"有效负载,并在用户说出Change the channel to PBS(将频道更改为PBS)时发出。但是,如果您不指明此项支持,Alexa不会发送指令。

探索指令

在用户将Alexa技能与其亚马逊账户关联后,Alexa会发送探索指令;之后,Alexa会定期发送探索指令以更新任何发现的设备。

当您收到Discover指令时,必须指定您的技能支持的指令。您可以通过supportedOperations数组表明支持的操作。

(请注意,在Fire TV实现中,在初始化Alexa客户端库时,您还会在Android应用中表明支持的功能。对于多模式实现,您只需要在Lambda函数中表明支持即可。)

探索示例

以下是Alexa发送的Discover指令示例。

{
    "directive": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover",
            "payloadVersion": "3",
            "messageId": "a1dccea0-fe52-45ca-9ed9-a03a45be6fb6"
        },
        "payload": {
            "scope": {
                "type": "BearerToken",
                "token": "1bdaa2eb-4aa3-d0dc-fb10-7a5513981cf8"
            }
        }
    }
}

有效负载描述

下表描述了payload字段。

有效负载描述
字段 描述 数据类型
scope
必需
请求范围。包括tokentype属性。 对象
token
必需
OAuth2持有者令牌

示例:b68f05cc-6a25-4134

字符串
type
必需
范围的类型。当前支持的值是 BearerToken

示例: BearerToken

枚举

响应示例

以下是对Discover指令的响应示例 (Discover.Response)。响应表明支持哪些操作。

{
"event": {
    "header" : {
        "messageId" : "directive.header.messageId",
        "name" : "Discover.Response",
        "namespace": "Alexa.Discovery",
        "payloadVersion": "3"
    },
    "payload": {
      "endpoints": [{
              "endpointId": "ALEXA_VOICE_SERVICE_EXTERNAL_MEDIA_PLAYER_VIDEO_PROVIDER",
              "endpointTypeId": "TEST_VSK_MM",
              "manufacturerName": "TEST_VSK_MM",
              "friendlyName": "TEST_VSK_MM",
              "description": "TEST_VSK_MM",
              "displayCategories": ["APPLICATION"],
              "cookie": {},
              "capabilities": [{
                      "type": "AlexaInterface",
                      "interface": "Alexa.RemoteVideoPlayer",
                      "version": "1.0"
                  }, {
                      "type": "AlexaInterface",
                      "interface": "Alexa.PlaybackController",
                      "version": "1.0"
                  }, {
                      "type": "AlexaInterface",
                      "interface": "Alexa.SeekController",
                      "version": "1.0"
                  }, {
                      "type": "AlexaInterface",
                      "interface": "Alexa.ChannelController",
                      "version": "1.0"
                  },
                  {
                      "type": "AlexaInterface",
                      "interface": "Alexa.MultiModalLandingPage",
                      "version": "1.0"
                  }
              ]
          }]
        }
}
};

有效负载描述

有效负载描述
字段 描述 数据类型
endpoints
必需
一组终端节点对象,代表与客户的设备云账户关联的设备。 对象
capabilities
必需
您的技能对终端节点支持的功能接口。有关更多详细信息,请参阅下面的功能对象 功能对象数组
interface
必需
描述设备操作的Alexa.Interface的限定名称。

示例: Alexa.RemoteVideoPlayer

字符串
type
必需
范围的类型。当前支持的值是 BearerToken

示例: BearerToken

枚举
version
可选
表示此终端节点支持的接口版本。

示例: 1.0

字符串
cookie
可选
字符串名称/值对,提供有关设备的其他信息,供技能适配器使用。此属性的内容不能超过5000字节。(亚马逊不使用此字段,客户也不会看到您输入的值。但是,您输入的值不能与视频技能名称相同。)

示例:key1

对象
extraDetail
可选
cookie对象的密钥。

示例:key1

description
必需
设备的描述。如果可能,描述应当包含您的公司名称或实现。此值最多可包含128个字符。(亚马逊不使用此字段,客户也不会看到您输入的值。但是,您输入的值不能与视频技能名称相同。)

示例: 亚马逊流媒体应用

字符串
endpointId
必需
终端节点的标识符。例如,VSKTV注意:​ 您输入的值不能与视频技能名称相同。还建议您在该值前加上TEST_PROD_,以确保它与您的视频技能名称不同。

示例: TEST_VSKTV

字符串
friendlyName
必需
此名称标识了视频技能的实现类型。此值最多可包含128个字符,不应包含特殊字符或标点符号。注意:​ 请勿输入与视频技能名称相同的值。例如,如果您的视频技能名称是“ACME Media”,则不要再输入“ACME Media”作为易记型名称。这样做会导致错误。在名称前加上“TEST_ACME_Media”或“PROD_ACME_Media”之类的内容。

示例: TEST_VSK_FTV

字符串
manufacturerName
必需
设备制造商的名称。此值最多可包含128个字符。(亚马逊不使用此字段,客户也不会看到您输入的值。但是,您输入的值不能与视频技能名称相同。)

示例: Amazon

字符串

功能对象

capabilities数组可以有一个对象列表,每个对象都包含一个interfacetypeversionsupportOperations属性。例如,capabilities数组中声明支持播放功能的项目可能如下所示:

{
    "type": "AlexaInterface",
    "interface": "Alexa.PlaybackController",
    "version": "3",
    "supportedOperations" : ["Play", "Pause", "Stop", "StartOver", "Next", "Previous",
      "Rewind", "FastForward"]
}

Alexa.PlaybackController接口是包含supportedOperations属性的唯一接口。

下表描述了支持的视频技能功能和相关指令:

功能 描述
Alexa.RemoteVideoPlayer 您的技能可以支持SearchAndPlaySearchAndDisplayResults指令。这些指令让用户可以搜索和播放视频内容。例如,“搜索Breaking Bad”或“Alexa,观看Breaking Bad”。
Alexa.PlaybackController 您的技能可以支持播放控制指令,这些指令用于播放、停止和导航音频或视频内容的播放。例如 “Alexa, fast forward”(Alexa,快进)或 “Alexa, stop”(Alexa,停止)。 请注意,Alexa.PlaybackController接口还允许supportedOperations属性,如上所示。允许的属性包括PlayPauseStopStartOverNextPreviousRewindFastForward
Alexa.SeekController 您的技能可以支持搜索控制指令,允许用户通过“Alexa, fast-forward 60 seconds”(Alexa,快进60秒)或“Alexa, skip back 5 minutes”(Alexa,向后跳过5分钟)(而不是“Alexa, fast-forward”(Alexa,快进)或“Alexa, rewind”(Alexa,快退))等请求导航到媒体时间线上的特定位置(如果您的应用只能快进或快退媒体项目,不能搜索到时间轴的另一点,则改为实现Alexa.PlaybackController接口。)
Alexa.ChannelController 您的视频技能可以支持ChangeChannel指令,这些指令用于更改或增加娱乐设备的频道。例如,“Alexa, change the channel to PBS”(Alexa,将频道更改为PBS)。
Alexa.MultiModalLandingPage 您的视频技能可以支持登陆页面填充。例如,当用户说“Video Home”(视频主页)然后点击您的视频技能时,您的技能会显示视频列表...