開発者コンソール

チャンネルナビゲーション用のGetPlayableItemsディレクティブ

チャンネルナビゲーション用のGetPlayableItemsディレクティブ

チャンネルを変更するための発話(「PBSを見せて」など)をユーザーが行うと、表示するチャンネルについての情報を含むGetPlayableItemsディレクティブがVideoContentProvider APIからLambdaに送信されます。

下図のように、LambdaからはレスポンスとしてGetPlayableItemsResponseを返す必要があります。

GetPlayableItemsディレクティブとLambdaのGetPlayableItemsResponse

GetPlayableItemsの発話(チャンネルナビゲーション)

ユーザーが以下のチャンネル変更の発話を行うと、AlexaはLambdaにGetPlayableItemsディレクティブを送信します。これは通常のGetPlayableItemsディレクティブとほぼ同じですが、チャンネル固有のプロパティが含まれます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

Go to fox

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

Go to channel thirteen

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

Go to channel k. c. p. q.

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

Watch fox

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

Watch channel thirteen

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

Va sur [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

va sur [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

cambia canal a t. p. d.

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

mets [ChannelName]

joue [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

mets la chaîne[ChannelNumber]

joue la chaîne[ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

Va sur [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

va sur [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

va sur [channel]

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

mets [ChannelName]

joue [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

mets la chaîne[ChannelNumber]

joue la chaîne[ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

(schalt auf|geh zu) [ChannelName]

schalt kanal [ChannelName] ein

(geh|schalt|wechsel|änder) zum kanal [ChannelName]

(geh|schalt|wechsel|änder) zu [ChannelName] kanal

(wechsel|änder) den kanal zu [ChannelName]

(wechsel|änder) den kanal zu [ChannelName] auf [AppName]

schalt [ChannelName] auf [AppName] an

schalt kanal [ChannelName] auf [AppName] an

(geh|schalte|wechsel) zu [ChannelName] auf [AppName]

(stell|schalt) [ChannelName] ein auf [AppName]

(stell|schalt|wechsel) (um zu|auf) [ChannelName] auf [AppName]

schalt kanal [ChannelName] auf [AppName] an

mach [ChannelName] auf [AppName] an

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

schalt kanal [ChannelNumber] ein

(geh|schalt|wechsel|änder) zum kanal [ChannelNumber]

(geh|schalt|wechsel|änder) zu [ChannelNumber] kanal

(wechsel|änder) den kanal zu [ChannelNumber]

(wechsel|änder) den kanal zu [ChannelNumber] auf [AppName]

schalt [ChannelNumber] auf [AppName] an

schalt kanal [ChannelNumber] auf [AppName] an

(geh|schalte|wechsel) zu [ChannelNumber] auf [AppName]

(stell|schalt) [ChannelNumber] ein auf [AppName]

(stell|schalt|wechsel) (um zu|auf) [ChannelNumber] auf [AppName]

schalt kanal [ChannelNumber] auf [AppName] an

mach [ChannelNumber] auf [AppName] an

kanal [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

schalte/änder/geh zu/auf den fernsehsender [ChannelName]

geh zum (fernseh)kanal [ChannelName]

ändern den (fernseh)kanal zu/auf [ChannelName]

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

[ChannelName] auf [AppName] ansehen

spiel den kanal [ChannelName] ab

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

Zeige Kanal/Sender [channel number]

Kanal/Sender [channel number] anschauen

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

fox पर/पे जाओ/जाइए/जाना/चलो/चलना

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

channel दस पर/पे जाओ/जाना/जाइए/चलो/चलना

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

channel sony पर/पे जाओ/जाना/जाइए/चलो/चलना

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

fox देखो/देखिए/देखना/देखें

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

channel बारह देखो/देखना/देखिए/देखें

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

vai su [ChannelName]

vai a [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

vai al [ChannelNumber]

vai su [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

vai su [Channel]

vai a [Channel]

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

guarda [ChannelName]

fammi vedere [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

metti [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

[ChannelName]を検索

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

[ChannelName]を見せて

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

チャンネル[ChannelNumber]を見せて

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

vá/vai/ir para o canal [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

vá para o canal [CallSign]

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

assistir/assiste/assista [ChannelName]Assistir/assiste/assistao [ChannelName]

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

assitir canal [ChannelNumber]

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

機能 サンプル発話 想定されるレスポンス
チャンネル名に移動
認定に必須

cambia a antena tres

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号に移動
認定に必須

cambia el canal a la dos

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルコールサインに移動
認定に必須

cambia canal a t. p. d.

ビューが指定されたチャンネルコールサインに切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル名を視聴
認定に必須

ver la sexta

pon la sexta

ビューが指定されたチャンネル名に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネル番号を視聴
認定に必須

pon canal dos

ビューが指定されたチャンネル番号に切り替わり、そのチャンネルのコンテンツが再生されます。

チャンネルに関しては、マルチモーダルデバイスとFire TV対応アプリとで実装が異なることに注意してください。Fire TV対応アプリではチャンネルナビゲーション専用のディレクティブ(ChangeChannel)があるのに対し、マルチモーダルの実装では、再生とチャンネルナビゲーションのどちらの発話にもGetPlayableItemsを使用します(ただしプロパティは異なります)。

GetPlayableItemsの例(チャンネルナビゲーション)

特定のチャンネルのGetPlayableItemsディレクティブの例を次に示します。payloadには、チャンネルのシナリオに固有のフィールドが存在します。

{
    "directive": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "9f4803ec-4c94-4fdf-89c2-d502d5e52bb4",
            "name": "GetPlayableItems",
            "namespace": "Alexa.VideoContentProvider",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "access-token-from-skill"
            },
            "endpointId": "videoDevice-001",
            "cookie": {

            }
        },
        "payload": {
            "entities": [
                {
                    "type": "Channel",
                    "value": "PBS",
                    "externalIds": {
                        "imdb": "tt4574334"
                    },
                    "entityMetadata": {
                        "channelCallSign": "KBTC",
                        "channelNumber": "123"
                    }
                }
            ],
            "contentType": "RECORDING",
            "locale": "ja-JP",
            "minResultLimit": 8,
            "maxResultLimit": 25,
            "timeWindow": {
                "start": "2016-09-01T00:00:00+00:00",
                "end": "2016-09-07T23:59:00+00:00"
            }
        }
    }
}

"type": "Channel"を持つentitiesには、 テレビチャンネルに関する情報が含まれていることに注意してください。

ペイロードの説明

次の表は、GetPlayableItemsディレクティブのpayloadについて説明しています。

ペイロードの説明
フィールド 説明 データ型
entities
(必須)

検索するエンティティオブジェクトのリスト。通常、異なるエンティティタイプ間の関係は、AND演算と解釈されます。たとえば、{genreName = "コメディ," actorName ="トム・ハンクス"}を含むリクエストの場合、検索結果にはトム・ハンクスが出演するコメディの映画またはテレビ番組が含まれることになります。

一方、{videoName = "インターステラー," VideoName = "宇宙戦争"}など、同じタイプの複数のエンティティがリクエストに含まれる場合は、OR演算と見なし、ディレクティブ内のすべてのエンティティを検索することができます。不確かな場合は、そのタイプ(このケースではvideoName)の先頭のエンティティを最も関連性が高いものと見なします。

さらに、{mediaType = "MOVIE', genreName = "コメディ," actorName ="トム・ハンクス," actorName = "トム・ハンクス}というリクエストを考えてみましょう。これは、トム・ハンクスという名前の俳優が複数存在すると考えられます。このような場合は、リクエスト内のすべての俳優を含む映画を検索したうえで、コメディのジャンルでフィルタリングして、すべての検索結果を返すことができます。

現時点では、一致するエンティティが複数ある場合にユーザーが何を再生したいかを知る方法がAlexaにはないため、エンティティのランク付けは行われません。

type: Channelを持つentitiesには、 テレビチャンネルの識別データが格納されます。以下に例を示します。

 {
  "type": "Channel",
  "value": "PBS",
  "externalIds": {
      "imdb": "tt4574334"
  },
  "entityMetadata": {
      "channelCallSign": "KBTC",
      "channelNumber": "123"
  }
} 

リスト
type
(必須)

ビデオコンテンツのエンティティタイプ。ビデオコンテンツのエンティティタイプの一覧については、エンティティタイプを参照してください。



例: MediaTypevideoActorGenreFranchiseSeasonEpisode

文字列
value
(必須)

エンティティの値。チャンネルの場合は、チャンネル名。



例: インターステラーPBS

文字列
externalIds
(省略可能)
このエンティティの外部識別子のマップ。keyはプロバイダー、valueidです。

例:key = gtivalue = SH000000012

オブジェクト
minResultLimit
(必須)

この呼び出しで返される結果でpageTokenが必要となる最小件数。pageTokenは次の結果を取得するためのもので、新しいアイテムを取得する際にこれと一緒に返されたアイテムの件数がminResultLimitフィールドよりも少ない場合、AlexaはpageTokenを無視し、受信したアイテムをそのまま表示します。

pageTokenを使用して次の結果を取得するのは、アイテムの件数がminResultLimitの値以上である場合のみです。ただし、アイテムの件数がminResultLimitを超える場合は、maxResultLimitが上限となります。アイテムの件数がmaxResultLimitを超えると、maxResultLimitを超えたアイテムはAlexaによって破棄されます。



例: 8

整数
maxResultLimit
(必須)

返される結果の最大件数(上限)。詳細については、minResultLimitフィールドの説明を参照してください。



例: 25

整数
timeWindow
省略可能

リクエストされた処理の開始時刻と終了時刻を指定します。これは通常、ライブTVや録画にのみ使用され、オンデマンドコンテンツには使用されません。一般的に、タイムウィンドウが指定されており、それを使用して結果をフィルタリングできる場合は、タイムウィンドウを使用する必要があります。

検索対象がオンデマンドコンテンツのみとなるプロバイダーの場合は、タイムウィンドウフィールドが通常nullに設定されているため、無視して構いません。

ライブTVや録画でユーザーがタイムウィンドウを指定している場合(「午後4時から5時のテレビ番組を検索して」や「先週録画したテレビ番組を探して」など)、開始時刻と終了時刻が指定されていれば、それらを使用して結果をフィルタリングする必要があります。

機能によって、startendの両方のフィールドが存在する場合と、どちらか一方のフィールドしか存在しない場合とがあります。たとえば、「午後4時から5時のテレビ番組を検索して」の場合は両方のフィールドが存在しますが、「午後5時に始まるテレビ番組を見せて」の場合、設定されるのはstartフィールドだけで、endフィールドはnullになります。

startendの時間を含むオブジェクト
start
(省略可能)

タイムウィンドウの開始時刻。



例: 2016-09-07T23:59:00+00:002018-01-24T02:30:00Z

ISO 8601形式の文字列
end
(省略可能)

タイムウィンドウの終了時刻。



例: 2016-09-07T23:59:00+00:002018-01-24T02:30:00Z

ISO 8601形式の文字列
contentType
(必須)

ContentTypeは、検索結果で返されたビデオのコンテンツタイプを示します。録画された映画やテレビ番組を送信する場合、contentTypeRECORDINGに設定されます。ライブのテレビ番組に関する情報が結果に含まれる場合、contentTypeLIVEに設定されます。オンデマンドコンテンツが結果に含まれる場合、contentTypeON_DEMANDに設定されます。

contentTypeは、ユーザーにプロンプトを提供する際にも使用されます。たとえば、contentTypeLIVEの場合、「CBSで現在放送中のアカデミー賞はこちらです」などのプロンプトがAlexaから提供されます。 contentTypeRECORDINGの場合は、「アカデミー賞はこちらです」などのプロンプトが提供されます。



例: RECORDINGLIVEON_DEMAND

列挙型
locale
(必須)

ユーザーのロケール。検索結果に対応する表示可能な情報を取得するために必要となります。ロケールの形式は、Network Working Groupの「Best Current Practice 47(BCP-47)」(英語のみ)で規定されている言語の形式と同じです。認識されないロケールを受信した場合は、デフォルトでen-USになります。



例:en-USen-GBde-DE

文字列
imdb
(省略可能)

外部IMDB識別子です。



例:tt4574334

文字列
entityMetadata
省略可能

チャンネルに関連付けられたメタデータのマップです。

オブジェクト
channelCallSign(channel)
省略可能

チャンネルのコールサインです。



例: KBTC

文字列
channelNumber(channel)
省略可能

チャンネル番号です。



例: 1234

整数

エンティティタイプ

entitiesオブジェクトは、オブジェクトのリストで構成されています。それぞれのオブジェクトには、タイプ(type)や値のほか、外部IDなどのその他のデータが含まれます。type値として使用できる値は、 ActorAppChannelCharacterDirectorEpisodeEventFranchiseGenreLeagueMediaTypeProductionCompanySeasonSportSportsTeamVideoPopularityRecencyVideoResolutionです。以下のセクションでは、各エンティティタイプのペイロードの詳細について説明します。

Actor

Actorは、ビデオメディアコンテンツに出演している俳優を表します。たとえば、俳優の「ケイシー・アフレック」の場合は、以下のようなフィールドが含まれます。

Actorペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ ASIN このエンティティの外部ASINです。 文字列 B01LTHZVKG
└─ imdb 俳優のIMDB識別子です。 文字列 tt4034228
uri 俳優/女優へのURIマッピングです。 URI entity://provider/actor/caseyaffleck
value 俳優の名前です。 文字列 ケイシー・アフレック

App

Appは、ユーザーが発話で指定した明示的なアプリ名を表します。たとえば、「Amazonプライム・ビデオの『マンチェスター・バイ・ザ・シー』」の場合は、以下のようなフィールドが含まれます。

Appペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ ENTITY_ID アプリのリストに含まれるアプリ識別子です。 文字列 amzn1.alexa-ask-target.app.72095
value アプリの名前です。 文字列 Amazonプライム・ビデオ

Channel

Channelは、テレビチャンネルの識別データを表します。たとえば、「PBS」には以下のようなフィールドが含まれます。

Channelペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb 外部IMDB識別子です。 文字列 tt4034228
entityMetadata チャンネルに関連付けられたメタデータのマップです。 オブジェクト
└─ channelNumber チャンネル番号です。 整数 1234
└─ channelCallSign チャンネルのコールサインです。 文字列 KBTC
uri チャンネルのURIです。 URI entity://provider/channel/1234
value チャンネルの名前です。 文字列 PBS

Character

Characterは、ビデオメディアコンテンツのキャラクターを表します。

Characterペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ ASIN このエンティティのASIN(Amazon Standard Identification Number)です。 文字列 B00DT55P3K
└─ imdb キャラクターのIMDB識別子です。 文字列 character id
uri キャラクターへのURIマッピングです。 URI entity://provider/character/snowwhite
value キャラクターの名前です。 文字列 白雪姫

Director

Directorは、ビデオメディアコンテンツの監督名を表します。たとえば、「ケネス・ロナーガン」の場合は、以下のようなフィールドが含まれます。

Directorペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb 外部IMDB識別子です。 文字列 tt4034228
uri 監督へのURIマッピングです。 URI entity://provider/director/kennethlonergan
value 監督の名前です。 文字列 ケネス・ロナーガン

Episode

Episodeは、TV番組などの連続コンテンツのエピソード番号を表します。たとえば、「トランスペアレント」第8話のエピソード番号は「8」になります。

Episodeペイロードのフィールド 説明
value エピソード番号です。 整数 8

Event

Eventは、イベントタイプへの参照です。これには、スポーツ、音楽、その他のタイプのイベントが含まれます。たとえば、「フットボールの試合」を検索する場合、「試合」というイベントエンティティと「フットボール」というスポーツエンティティが検索されます。

Eventペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb イベントのIMDB識別子です。 文字列 tt4034228
uri イベントへのURIマッピングです。 URI entity://amazon/events/games
value イベントタイプの名前です。 文字列 試合

Franchise

Franchiseは、映画やTV番組など、複数のビデオエンティティを表すビデオエンティティです。たとえば、「宇宙大戦争」というSFシリーズの場合、映画シリーズのほか、アニメと実写のTV番組もあります。このエンティティタイプを使用すると、たとえばユーザーが「『宇宙大戦争』の映画を探して」とリクエストした場合、1つのタイトルだけでなく、MediaTypeMOVIEである「宇宙大戦争」の全コンテンツを検索できます。

Franchiseペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb 外部IMDB識別子です。 文字列 tt4034228
uri シリーズへのURIマッピングです。 イベントへのURIマッピングです。 entity://amazon/franchise/intergalacticwars
value ジャンルの名前です。 文字列 宇宙大戦争

Genre

Genreは、アクション、ドラマ、コメディといった、ビデオメディアコンテンツのジャンルを表します。たとえば、アクションのジャンルの場合は、以下のようなフィールドが含まれます。

Genreペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb 外部IMDB識別子です。 文字列 tt4034228
uri ジャンルへのURIマッピングです。 URI entity://provider/genre/action
value ジャンルの名前です。 文字列 アクション

League

Leagueは、スポーツリーグのカテゴリー情報を表します。たとえば、NCAAというリーグの場合は、以下のようなフィールドが含まれます。

Leagueペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb リーグのIMDB識別子です。 文字列 tt4034228
uri リーグへのURIマッピングです。 URI entity://amazon/league/ncaa
value リーグの名前です。 文字列 NCAA

MediaType

MediaTypeは、特定のコンテンツのメディアタイプカテゴリーを表します。たとえば、「マンチェスター・バイ・ザ・シー」という映画の場合、MediaTypeMOVIEになります。

MediaTypeペイロードのフィールド 説明
value メディアタイプです。有効な値は、MOVIEVIDEOTV_SHOWです。 列挙型 MOVIE

ProductionCompany

ProductionCompanyは、ビデオメディアコンテンツの制作会社名を表します(例:Marvels、Disney)。

ProductionCompanyペイロードのフィールド 説明
value 制作会社の名前です。 文字列 Marvel

Season

Seasonは、TV番組などの連続コンテンツのシーズン番号を表します。たとえば、「トランスペアレント」シーズン2のシーズン番号は「2」になります。

Seasonペイロードのフィールド 説明
value シーズン番号です。 整数 2

Sport

Sportは、スポーツのカテゴリー情報を表します。たとえば、フットボールの場合は、以下のようなフィールドが含まれます。

Sportペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb スポーツのIMDB識別子です。 文字列 tt4034228
uri スポーツへのURIマッピングです。 URI entity://amazon/sport/football
value スポーツの名前です。 文字列 フットボール

SportsTeam

SportsTeamは、プロスポーツチームのカテゴリー情報を表します。たとえば、「ワシントン大学ハスキーズ」というスポーツチームの場合は、以下のようなフィールドが含まれます。

SportsTeamペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
└─ imdb このチームのIMDB識別子です。 文字列 tt4034228
uri スポーツチームへのURIマッピングです。 URI entity://amazon/sportsteam/huskies
value スポーツチームの名前です。 文字列 ワシントン大学ハスキーズ

Video

Videoは、ビデオコンテンツの識別データを表します。たとえば、「マンチェスター・バイ・ザ・シー」という映画の場合は、以下のようなフィールドが含まれます。

Videoペイロードのフィールド 説明
externalIds このエンティティの外部識別子のマップです。キーはプロバイダー、値はIDです。 オブジェクト
ASIN このエンティティの外部ASINです。 文字列 B01LTHZVKG
└─ imdb IMDB識別子です。 文字列 tt4034228
userConfirmations アイテムのユーザー確認に関する情報を含むオブジェクトです。 オブジェクト
└─ entitlementVoiceActivation 視聴期間または視聴権限の音声有効化に成功したかどうかをパートナーに通知するフラグです。有効な値 - CONFIRMED(省略可能)。 列挙型(デフォルトポリシー:認識されない値は無視) CONFIRMED
uri ビデオへのURIマッピングです。 URI entity://provider/movie/manchesterbythesea
value ビデオの名前です。 文字列 マンチェスター・バイ・ザ・シー

Popularity

Popularityは、ユーザーが人気コンテンツを求めているかどうかを示します。

Popularityペイロードのフィールド 説明
value ユーザーが人気コンテンツを検索したことをプロバイダーに示します。 文字列 TRUE
このエンティティタイプには、「externalIds」は含まれていません。レスポンスの例(関連する値のみ抜粋)は次のようになります。```json "entities": [..{ "value": "TRUE", "type": "Popularity" } ..], ```

Recency

Recencyの解決済みの値は、ユーザーが新しいコンテンツを求めているか、古いコンテンツを求めているかを示します。

Recencyペイロードのフィールド 説明
value ユーザーが新しいコンテンツと古いコンテンツのどちらを検索するかを示します。有効な値は、NEWOLDのいずれかです。 列挙型 NEW
このエンティティタイプには、「externalIds」は含まれていません。レスポンスの例(関連する値のみ抜粋)は次のようになります。```json "entities": [..{ "value": "NEW", "type": "Recency" } ..], ```

VideoResolution

VideoResolutionは、リクエストされたビデオ解像度を次のいずれかの規格で表します。

  • SD (480p)
  • HD (720p-1080p)
  • 4k (2160p)
  • 8k (4320p)
VideoResolutionペイロードのフィールド 説明
value ビデオ解像度です。有効な値は、SDHD4k8kです。 列挙型 HD
このエンティティタイプには、「externalIds」は含まれていません。レスポンスの例(関連する値のみ抜粋)は次のようになります。```json "entities": [..{ "value": "4k", "type": "VideoResolution" } ..], ```

マルチモーダルデバイスでは、追加のエンティティタイプとして、 LISTTYPESORTTYPEが用意されています。

LISTTYPEは、ユーザーがウォッチリストやライブラリの閲覧を希望した場合に設定されます。たとえば、「ウォッチリストを見せて」や「ビデオライブラリを見せて」といった発話が挙げられます。 LISTTYPEには、次の列挙値を設定できます。

  • WATCHLIST: 「ウォッチリストを見せて」 - ユーザーのウォッチリストに追加されているビデオを表示する際に使用します。
  • LIBRARY: 「ビデオライブラリを見せて」 - ユーザーのライブラリに存在するビデオを表示する際に使用します。通常、これにはユーザーが購入したビデオが該当します。

SORTTYPEは、検索時に使用するリクエストや、結果のソート方法に関して、追加情報を提供する際に使用されます。たとえば、「おすすめの映画を見せて」という発話の場合、Alexaはコンテンツプロバイダーからのおすすめコンテンツを取得する必要があります。SORTTYPEには、次の列挙値を設定できます。

  • RECOMMENDED: 「おすすめの映画を見せて」や「おすすめのアクション映画を見せて」といった発話の場合、この値が設定されます。

エクスペリエンスタイプ

experienceオブジェクトを使用すると、検索に使用されたデバイスに基づいて、検索結果の表示を最適化できます。たとえば、ユーザーがFire TVリモコンを使用して検索した場合、ユーザーはリモコンを使用して結果を閲覧できるため、experienceオブジェクトによって多数の検索結果が表示されます。一方、Fire TVとペアリングされたEchoを使用して検索リクエストが行われた場合は、experienceオブジェクトによって表示される結果の数と表示方法が制限され、ユーザーはリモコンを使用せずに結果を確認できます。

experienceオブジェクトは、検索結果の表示方法を決定するmodeオブジェクトで構成されています。modeオブジェクトは、 VOICE_OPTIMIZEDDEFAULTの2つの値を取ります。

  • VOICE_OPTIMIZED: 音声専用デバイス向けに最適化された表示方法です。リモコンを使用せずに音声で操作できる検索結果のリストが表示されます。

  • DEFAULT: 検索に使用されたデバイスに関係なく、すべての検索結果をリスト形式で表示する、デフォルトの表示方法です。

上位互換性を確保するため、modeで不明な値を受け取った場合は、失敗とするのではなく、DEFAULTにフォールバックするようにしてください。

Lambdaのレスポンス

GetPlayableItemsディレクティブを受信したら、Lambdaはここで示す構造に準拠したGetPlayableItemsResponseレスポンスを返す必要があります。この場合のレスポンス構造は、GetDisplayableItemsディレクティブに対して返すレスポンスと同様です。

レスポンスについては、以下のガイドラインに従ってください。 

  • GetPlayableItemsディレクティブの目的は、そのディレクティブで再生できる単一のアイテムを取得することです。 

  • 再生するアイテムが1つしかない場合、そのアイテムを返せば、Alexaによってアイテムが再生されます。 

  • 再生するアイテムがはっきりしない場合は、レスポンスで複数のアイテムを返すことができます。Alexaは、その中から再生するアイテムを選択するようユーザーに促します。たとえば、ユーザーが「『スター・ウォーズ』を再生して」と言った場合、レスポンスで返すアイテムとしては、「スター・ウォーズ」シリーズの映画だけでなく、「スター・ウォーズ」に関連したさまざまな映画やテレビ番組が考えられます。複数の結果を返した場合、Alexaはメタデータを取得して検索結果を表示するためにGetDisplayableItemsMetadataディレクティブを送信します。1回目の呼び出しで返す結果の件数が、ディレクティブで指定されたresultLimitパラメーターの値を超えないように注意してください。

  • ユーザーにタイトルを再生する権限がないことや、定期購入が必要であることが原因で、見つかった唯一の結果が再生できない場合でも、そのアイテムを返すことができます。そのアイテムが再生できないとわかると、Alexaはメタデータを取得して、購入・レンタル・定期購入を促すプロンプトを提供します。その後、ユーザーは購入ワークフローを開始し、タイトルを購入・レンタルしてから再生することができます。

  • 再生できない結果が複数見つかった場合は、その結果をすべて返すことができます。Alexaは、再生するアイテムを選び出すようユーザーに求めるか、アイテムの購入・レンタル・定期購入を促すプロンプトを提供します。

  • 再生できるアイテムと再生できないアイテムとが混在する複数の結果が見つかった場合は、再生できるアイテムを優先する必要があります。デバイスで再生できるように、再生可能な結果を返すようにしてください。

レスポンスの例(チャンネルナビゲーション)

チャンネル変更のシナリオに関連するGetPlayableItemsResponseの例を次に示します。

{
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "5f0a0546-caad-416f-a617-80cf083a05cd",
            "name": "GetPlayableItemsResponse",
            "namespace": "Alexa.VideoContentProvider",
            "payloadVersion": "3"
        },
        "payload": {
            "nextToken": "fvkjbr20dvjbkwOpqStr",
            "mediaItems": [
                {
                    "mediaIdentifier": {
                        "id": "channelId://provider1.dvr.rp.1234-2345-63434-asdf"
                    }
                }
            ]
        }
    }
}

ペイロードの説明

次の表は、GetPlayableItemsResponsepayloadフィールドについて説明しています。

ペイロードの説明
フィールド 説明 データ型
nextToken
省略可能

次の結果セットを取得するためのトークン。プロバイダーから送信される不透明型の文字列で、後続の検索リクエストで返されます。

文字列
mediaItems
(必須)

検索結果として画面に表示されるビデオのmediaIdentifierのリスト。

リスト
mediaIdentifier
(必須)

mediaItemの識別子。mediaIdentifierオブジェクトからの画像サイズデータの取得を参照してください。

オブジェクト
id
(必須)

ビデオアイテムの識別子。後続のGetDisplayableItemsMetadataまたはGetPlayableItemsMetadataの呼び出しで、表示または再生に関連したメタデータ情報を取得する目的で使用されます。この識別子は、Alexaからは認識できず、メタデータ情報を照会する際にそのまま使用されます。

文字列