GetBrowseNodeItems指令 (VSK Echo Show)
当用户在屏幕上选择一个搜索结果,其选择操作设置为显示另一层搜索结果,而不是启动播放时,VideoContentProvider API会向您的Lambda发送GetBrowseNodeItems指令,以获取该“浏览节点组”的项目。 当用户选择浏览播放列表、视频库或设备上的记录时,通常使用此指令。
GetBrowseNodeItems的表述
提示GetBrowseNodeItems指令的常见表述可能包括以下表述:
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
Next |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
prochain(e) suivant(e) next |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
prochain(e) suivant(e) next |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
nächste nächstes das nächste spring/geh vor spring/geh vorwärts vor überspring das eins weiter/vorwärts weiter spring nach vorn spring nach vorn auf [AppName]/[DeviceBrand] nächstes im [DeviceLocation] nächstes auf [DeviceLocation]? [DeviceType]/[DeviceBrand] gib mir das nächste von [AppName] nächstes auf allen [DeviceType] |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
[GroupDeviceBrand] [HomeAutomationType] पर अगला लगाओ[GroupDeviceBrand] पर अगला लगाओ[GroupDeviceBrand] वाले [HomeAutomationType] पर अगला चलाना[AppName] पर इसके बाद वाला दो[AppName] पर मुझे next वाला दे देनाnext recipe अगली recipe[DeviceLocation] पर इसके बाद वाला दो[LocationNonSpecificQuantity] अगला चलाओ अगला/next [Episode] play करो[DeviceLocation] पर DeviceBrand अगला वाला दो |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
prossima / seguente / avanti / salta / successivo |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
次 スキップ 次に行って[DeviceLocation]で次に行って[DeviceLocation]の[DeviceBrand]で次に行って[LocationNonSpecificQuantity]で次を再生[Episode]を再生して[VideoName]の[Episode]を再生[DeviceBrand]で再生 |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
próximo/próxima |
屏幕上会显示下一页结果。 |
| 功能 | 表述示例 | 预期回应 |
|---|---|---|
| 获取下一页 需要认证 |
siguiente salta muestra el siguiente siguiente en el sonos próxima en el jardín |
屏幕上会显示下一页结果。 |
处理GetBrowseNodeItems指令
GetDisplayableItemsResponse提供用于填充搜索结果页面或其他模板(例如登录页面)的项目,这些页面或模板提供可供浏览和选择的项目。
当屏幕上显示搜索结果时,您可以将相似的项目一起合并到一个逻辑组中。例如,对于“Show me my recordings”(显示我的记录)之类的表述,您可以将“电视节目”分成一组,将“电影”分成另一组。设备上的显示取决于来自您的GetDisplayableItemsResponse的selectionAction值。selectionAction的值决定了项目的分组方式。
当用户选择一个组(例如,“Alexa, select [X]”(Alexa,选择 [X]))时,他们就可以查看来自该组的更多结果。选择组时,会提示Alexa发送GetBrowseNodeItems,以从该组中获取项目。
要了解浏览节点组的工作原理,请转到您的Echo Show和“Open Prime Video”(打开Prime Video)(或说出“Video Home”(视频主页),然后点击“Prime Video”技能)。屏幕显示一系列的浏览节点组,如下所示:
例如,您可以点击一个节点(类别),也可以说“Alexa, select Prime movies”(Alexa,选择Prime电影)。Alexa发送GetBrowseNodeItems指令,允许用户深入探索特定的浏览节点项目。设备上的显示取决于selectionAction的值(来自您Lambda的GetDisplayableItemsMetadataResponse)。
-
如果
selectionAction的值为BROWSE,则当用户在设备上选择此项目时,屏幕上会显示更多搜索结果。用户选择类别后,Alexa会发送GetBrowseNodeItems指令以获取更多mediaIdentifiers,然后为这些项目发送GetDisplayableItemsMetadata指令以在屏幕上显示结果。 -
如果
selectionAction字段的值设置为PLAY,则需要在用户选择项目时播放该项目。在这种情况下,Alexa会发送GetPlayableItemsMetadata指令。
GetBrowseNodeItems示例
以下是GetBrowseNodeItems指令的示例。
{
"directive": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "0f918d6e-ebae-48f1-a237-13c6f5b9f5da",
"name": "GetBrowseNodeItems",
"namespace": "Alexa.VideoContentProvider",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
},
"endpointId": "videoDevice-001",
"cookie": {
}
},
"payload": {
"minResultLimit": 8,
"maxResultLimit": 25,
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
}
}
}
有效负载描述
下表描述了GetBrowseNodeItems代码示例中的payload字段。
| 字段 | 描述 | 数据类型 |
|---|---|---|
minResultLimit必需 |
此调用中要返回的最小结果数,对于此调用已接受 要考虑使用 示例: |
整数 |
maxResultLimit必需 |
对要返回的最大结果数的限制。有关更多详细信息,请参阅 示例: |
整数 |
mediaIdentifier必需 |
|
对象 |
id必需 |
视频项目的标识符,用于在后续调用 |
字符串 |
Lambda响应
当您收到GetBrowseNodeItems指令时,您的Lambda响应中应包含有关要显示的搜索结果的基本元数据(例如,所请求组中项目的ID列表)。该响应类似于GetDisplayableItems。当需要更多信息时,Alexa将以GetDisplayableItemsMetadata指令跟进。
响应示例
以下是您的Lambda应发送的GetBrowseNodeItemsResponse示例。
{
"event": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "5f0a0546-caad-416f-a617-80cf083a05cd",
"name": "GetBrowseNodeItemsResponse",
"namespace": "Alexa.VideoContentProvider",
"payloadVersion": "3"
},
"payload": {
"nextToken": "fvkjbr20dvjbkwOpqStr",
"mediaItems": [
{
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
},
{
"mediaIdentifier": {
"id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
}
}
]
}
}
}
有效负载描述
下表描述了GetBrowseNodeItemsResponse代码示例中的payload字段。
| 字段 | 描述 | 数据类型 |
|---|---|---|
nextToken可选 |
用于获取下一组结果的令牌。提供方发送的不透明字符串,该字符串在后续搜索请求中传回。 |
字符串 |
mediaItems必需 |
屏幕上显示为搜索结果的视频的 |
列表 |
mediaIdentifiers必需 |
包含媒体的 |
数组 |
id必需 |
视频项目的标识符,用于在后续调用 |
字符串 |

