GetPlayableItemsディレクティブ


GetPlayableItemsディレクティブ

VideoNameActorNameGenreNameなどの条件を使用して映画やテレビ番組、録画などを再生するようユーザーがAlexaに依頼すると、VideoContentProvider APIからGetPlayableItemsディレクティブがLambdaに送信されます。

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

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

GetPlayableItemsの発話

ユーザーが以下の発話を行うと、AlexaからLambdaにGetPlayableItemsディレクティブが送信されます。

機能 サンプル発話 想定される結果
タイトルを再生

Watch Breaking Bad

Play Interstellar

Spiele {title}

Öffne {title}

Gebe {title} wieder

Starte {title}

Zeige {title}

<Breaking Bad>

Mets Breaking Bad

Lance Breaking Bad

Mets/joue/fais jouer breaking bad

Fai partire breaking bad

Metti breaking bad

<House, The Office, Sneaky Pete>

Pon breaking bad

(quiero) ver breaking bad

Pon breaking bad

Ponme breaking bad

Pon me breaking bad

(quiero) ver breaking bad

{title}再生して

{title}見せて

{title}流して

{title}かけて

{title}見たい

{title}をお願い

リクエストされたメディアが再生されます。一致するコンテンツが複数ある場合、ユーザーは目的のメディアを選択するように求められます。

メディアタイプで再生

Watch movies

Spiele Filme

Spiele einen Film

Mets un film

Mets les films

Je veux voir un film

Je veux voir des films

Je veux regarder un film

Je veux regarder des films

Mets-moi un film

Mets/joue/fais jouer un film

Je veux écouter/regarder/voir un film

fai partire un film

metti un film

fammi vedere un film

pon una película

pon películas

(quiero) ver una película

(quiero) ver películas

pon una película

pon una peli

pon películas

ponme una película

ponme una peli

ponme películas

pon me una película

pon me una peli

pon me películas

(quiero) ver una película

(quiero) ver una peli

(quiero) ver películas

{media type}を再生して

{media type}を見せて

{media type}を流して

{media type}をかけて

{media type}見たい

{media type}をお願い

タイトル以外のリクエストに一致するメディアが(ユーザーへのおすすめビデオを選び出すアルゴリズムによって)再生されるか、検索結果リストがユーザーに表示されます。

俳優で再生

Watch Sean Connery

Play a movie with Tom Hanks

spiele einen Film mit {actor} ab.

<Ann Blyth, Axel Deller, John Oliver>

Mets un film de Sean Connery

Je veux voir un film avec Sean Connery

Je veux voir un film de Sean Connery

Je veux regarder un film avec Sean Connery

Je veux regarder un film de Sean Connery

Mets-moi un film avec Sean Connery

Mets-moi un film de Sean Connery

Mets/joue/fais jouer un film de/avec Sean Connery

Je veux écouter/regarder/voir un film de/avec Sean Connery

fai partire un film con sean connery

metti un film con sean connery

fammi vedere un film con sean connery

<Gianni Franco, Sonia Scotti, Stefano Sani>

pon (una película) de Sean Connery

(quiero) ver (una película) de Sean Connery

pon (una película) de Sean Connery

ponme (una película) de Sean Connery

pon me (una película) de Sean Connery

(quiero) ver (una película) de Sean Connery

pon (una peli) de Sean Connery

ponme (una peli) de Sean Connery

pon me (una peli) de Sean Connery

(quiero) ver (una peli) de Sean Connery

{actor}再生して

{actor}見せて

{actor}流して

{actor}かけて

{actor}の{media type}を再生して

{actor}の{media type}見せて

{actor}の{media type}を流して

{actor}の{media type}をかけて

{actor}が出てる{media type}を再生して

{actor}が出てる{media type}見せて

{actor}が出てる{media type}を流して

{actor}が出てる{media type}をかけて

*{media type}:映画/ドラマ/やつ/もの/の

俳優が出演しているメディアが(ユーザーへのベストマッチを選び出すアルゴリズムによって)再生されるか、検索結果リストがユーザーに表示されます。

シーズン番号で<タイトル>を再生

Watch breaking bad season two

Spiele {title} Staffel {X}

Spiele die {X}. Staffel von {title}

<Breaking Bad>

Mets la saison 2 de Breaking Bad

Mets la deuxième saison de Breaking Bad

Je veux regarder la saison 2 de Breaking Bad

Je veux voir la saison 2 de Breaking Bad

Je veux regarder la deuxième saison de Breaking Bad

Je veux voir la deuxième saison de Breaking Bad

Mets-moi la saison 2 de Breaking Bad

Mets-moi la deuxième saison de Breaking Bad

Mets/joue/fais jouer la deuxième saison/saison 2 de breaking bad

Je veux écouter/regarder/voir la deuxième saison/saison 2 de breaking bad

metti la seconda stagione di breaking bad

fai partire la seconda stagione di breaking bad

fammi vedere la seconda stagione di breaking bad

riproduci la seconda stagione di breaking bad

<House, The Office, Sneaky Pete>

Pon la temporada 2 de breaking bad

pon la segunda temporada de breaking bad

(quiero) ver la temporada 2 de breaking bad

(quiero) ver la segunda temporada de breaking bad

pon la temporada 2 de breaking bad

pon la segunda temporada de breaking bad

ponme la temporada 2 de breaking bad

ponme la segunda temporada de breaking bad

pon me la temporada 2 de breaking bad

pon me la segunda temporada de breaking bad

(quiero) ver la temporada 2 de breaking bad

(quiero) ver la segunda temporada de breaking bad

{title} シーズン{season number}を再生して

{title} シーズン{season number}を見せて

{title} シーズン{season number}を流して

{title} シーズン{season number}をかけて

{title} シーズン{season number}見たい

{title} シーズン{season number}をお願い

シリーズの最後に視聴したエピソードが視聴途中の場合は、そのエピソードが再生されます。視聴が完了している場合は、次の未視聴エピソードが再生されます。

エピソード番号で<タイトル>を再生

Watch breaking bad episode five

Spiele {title} Folge 5 ab.

<Breaking Bad>

Mets l'épisode 5 de Breaking Bad

Mets le cinquième épisode de Breaking Bad

Je veux voir l'épisode 5 de Breaking Bad

Je veux voir le cinquième épisode de Breaking Bad

Je veux regarder l'épisode 5 de Breaking Bad

Je veux regarder le cinquième épisode de Breaking Bad

Mets-moi l'épisode 5 de Breaking Bad

Mets-moi le cinquième épisode de Breaking Bad

Mets/joue/fais jouer le/la cinquième épisode/épisode 5 de breaking bad

Je veux écouter/regarder/voir le/la cinquième épisode/épisode 5 de breaking bad

metti il quinto episodio di breaking bad

fai partire il quinto episodio di breaking bad

fammi vedere l'episodio cinque di breaking bad

<House, The Office, Sneaky Pete>

pon el episodio 5 de breaking bad

pon el capítulo 5 de breaking bad

(quiero) ver el episodio 5 de breaking bad

(quiero) ver el capítulo 5 de breaking bad

pon el episodio 5 de breaking bad

pon el capítulo 5 de breaking bad

ponme el episodio 5 de breaking bad

ponme el capítulo 5 de breaking bad

pon me el episodio 5 de breaking bad

pon me el capítulo 5 de breaking bad

(quiero) ver el episodio 5 de breaking bad

(quiero) ver el capítulo 5 de breaking bad

{title} エピソード{episode number}を再生して

{title} エピソード{episode number}を見せて

{title} エピソード{episode number}を流して

{title} エピソード{episode number}をかけて

{title} エピソード{episode number}見たい

{title} エピソード{episode number}をお願い

ユーザーが最後に視聴したエピソードから、適切なシーズンが特定されます。シリーズの最後に視聴したエピソードが視聴途中の場合は、そのエピソードが再生されます。視聴が完了している場合は、次の未視聴エピソードが再生されます。

シーズン番号とエピソード番号で<タイトル>を再生

Watch breaking bad season two episode five

Spiele {title} Staffel 2 Folge 5 ab.

<Breaking Bad>

Mets l'épisode 5 de la saison 2 de Breaking Bad

Mets l'épisode 5 de la deuxième saison de Breaking Bad

Je veux voir l'épisode 5 de la saison 2 de Breaking Bad

Je veux voir l'épisode 5 de la deuxième saison de Breaking Bad

Je veux regarder l'épisode 5 de la saison 2 de Breaking Bad

Je veux regarder l'épisode 5 de la deuxième saison de Breaking Bad

Mets-moi l'épisode 5 de la saison 2 de Breaking Bad

Mets-moi l'épisode 5 de la deuxième saison de Breaking Bad

Mets/joue/fais jouer le/la cinquième épisode/épisode 5 de la deuxième saison/saison 2 de breaking bad

Mets/joue/fais jouer (la) saison 2 épisode 5 de breaking bad
Je veux écouter/regarder/voir le/la cinquième épisode/épisode 5 de la deuxième saison/saison 2 de breaking bad
Je veux écouter/regarder/voir (la) saison 2 épisode 5 de breaking bad

metti il quinto episodio della seconda stagione di breaking bad

fai partire il quinto episodio della seconda stagione di breaking bad

metti l'episodio cinque della stagione due di breaking bad

fai partire l'episodio cinque della seconda stagione di breaking bad

<House, The Office, Sneaky Pete>

pon el episodio 5 de la temporada 2 de breaking bad

pon el episodio 5 de la segunda temporada de breaking bad

(quiero) ver el episodio 5 de la temporada 2 de breaking bad

(quiero) ver el episodio 5 de la segunda temporada de breaking bad

pon el episodio 5 de la temporada 2 de breaking bad

pon el episodio 5 de la segunda temporada de breaking bad

ponme el episodio 5 de la temporada 2 de breaking bad

ponme el episodio 5 de la segunda temporada de breaking bad

pon me el episodio 5 de la temporada 2 de breaking bad

pon me el episodio 5 de la segunda temporada de breaking bad

(quiero) ver el episodio 5 de la temporada 2 de breaking bad

(quiero) ver el episodio 5 de la segunda temporada de breaking bad

{title} シーズン{season number}エピソード{episode number}再生して

{title} シーズン{season number}エピソード{episode number}見せて

{title} シーズン{season number}エピソード{episode number}流して

{title} シーズン{season number}エピソード{episode number}かけて

{title} シーズン{season number}エピソード{episode number}見たい

{title} シーズン{season number}エピソード{episode number}をお願い

リクエストされたシーズンとエピソードに対応するコンテンツが再生されます。

シリーズの<タイトル>で再生

Watch star trek

Spiele {franchise title}

Spiele {franchise title} Filme

<Star Wars, James Bond, Batman, Star Trek>

Mets Star Trek

Je veux voir Star Trek

Je veux regarder Star Trek

Mets-moi Star Trek

Mets/joue/fais jouer star trek

Je veux écouter/regarder/voir star trek

metti star trek

fai partire star trek

fammi vedere star trek

<Superman, cars, Scream>

pon star trek

(quiero) ver star trek

pon star trek

pon una película de star trek

pon una peli de star trek

ponme star trek

ponme una película de star trek

ponme una peli de star trek

pon me una película de star trek

pon me una peli de star trek

(quiero) ver star trek

(quiero) ver (una película de) star trek

{franchise title}再生して

{franchise title}見せて

{franchise title}流して

{franchise title}かけて

{franchise title}見たい

{franchise title}をお願い

リクエストされたシリーズの検索結果から最上位のおすすめが再生されるか、一致するシリーズのリストがユーザーに表示されます。

キャラクター名で再生

Watch james bond

spiele einen Film mit {actor} ab.

<James Bond>

Mets James Bond

Je veux voir James Bond

Je veux regarder James Bond

Mets-moi James Bond

Mets un James Bond

Je veux voir un James Bond

Je veux regarder un James Bond

Mets-moi un James Bond

Mets/joue/fais jouer james bond

Je veux écouter/regarder/voir james bond

metti james bond

metti un film di james bond

fai partire un james bond

<Superman>

pon james bond

(quiero) ver james bond

pon james bond

pon una película de james bond

ponme james bond

ponme una película de james bond

pon me james bond

pon me una película de james bond

(quiero) ver james bond

(quiero) ver (una película de) james bond

{character}を再生して

{character}を見せて

{character}を流して

{character}をかけて

{character}の{media type}再生して

{character}の{media type}見せて

{character}の{media type}流して

{character}の{media type}かけて

{character}が出てる{media type}再生して

{character}が出てる{media type}見せて

{character}が出てる{media type}流して

{character}が出てる{media type}かけて

*{media type}:映画/ドラマ/やつ/もの/の

キャラクター名に一致するメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、メディアの検索結果リストがユーザーに表示されます。

ジャンル名で再生

Watch comedy

spiele ein(e/n) {genre} ab.

<Familie,Architektur, Landestypisch>

Mets une comédie

Je veux voir une comédie

Je veux regarder une comédie

Mets-moi une comédie

Mets/joue/fais jouer une comédie

Je veux écouter/regarder/voir june comédie

metti una commedia

fammi vedere una commedia

fai partire una commedia

<Commedia>

pon una comedia

(quiero) ver una comedia

pon una comedia

pon una película de comedia

ponme una comedia

ponme una película de comedia

pon me una comedia

pon me una película de comedia

(quiero) ver una comedia

(quiero) ver una película de comedia

{genre}再生して

{genre}見せて

{genre}流して

{genre}かけて

{genre}見たい

{genre}をお願い

リクエストされたジャンルからメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、メディアの検索結果リストがユーザーに表示されます。

スポーツのチームで再生

Watch seahawks

Zeig mir {sports team}

Zeig mir das Spiel von {sports team}

Zeig mir Spiele von {sports team}

Zeig mir die Partie von {sports team}

Spiele von {sports team} anschauen

{sports team} anschauen

<Erster. FC Heidenheim, Erster FC Heidenheim, Erster FC Kaiserslautern>

Mets les Bleus

Mets le match des Bleus

Je veux voir le match des Bleus

Je veux regarder le match des Bleus

Je veux voir les Bleus

Je veux regarder les Bleus

Mets-moi les Bleus

Mets-moi le match des Bleus

Mets/joue/fais jouer le/les Canadiens

Mets/joue/fais jouer le match/la partie/ la game du/des Canadiens

Je veux écouter/regarder/voir le/les Canadiens

Je veux écouter/regarder/voir le match/la partie/ la game du/des Canadiens

fammi vedere la Juventus

<Aberdeen, ac milan>

pon el Madrid

(quiero) ver el Madrid

pon el América

pon el partido del América

ponme el América

ponme el partido del América

pon me el América

pon me el partido del América

(quiero) ver el América

(quiero) ver el partido del América

{sports team}再生して

{sports team}見せて

{sports team}流して

{sports team}かけて

{sports team}見たい

{sports team}をお願い

スポーツのチームに一致するメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、メディアの検索結果リストがユーザーに表示されます。

スポーツの種類で再生

Watch soccer

Zeig mir {sports type}

{sports type} anschauen

Spiel {sports type} ab

Mets le foot

Je veux voir le foot

Je veux regarder le foot

Mets-moi le foot

Mets/joue/fais jouer du/le hockey

Je veux écouter/regarder/voir

du/le hockey

fammi vedere una partita di calcio

metti la/una partita

pon el fútbol

(quiero) ver el fútbol

pon fútbol

ponme fútbol

pon me fútbol

pon el fútbol

ponme el fútbol

pon me el fútbol

(quiero) ver fútbol

pon partidos de fútbol

(quiero) ver partidos de fútbol

{sports type}再生して

{sports type}見せて

{sports type}流して

{sports type}かけて

{sports type}見たい

{sports type}をお願い

スポーツの種類に一致するメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、検索結果リストがユーザーに表示されます。

スポーツのリーグで再生

Watch n. b. a. league

Zeig mir die {sports league}

{sports league} anschauen

Spiel {sports league} ab

Ruf {sports league} auf

Zeig {sports league} Spiele

<Erste Baseball Bundesliga, Zweite Baseball Bundesliga, Zweite Bundesliga>

Mets la n.b.a.

Je veux voir la n.b.a.

Je veux regarder la n.b.a

Mets-moi la n.b.a.

Mets un match de la n.b.a.

Je veux voir un match de la n.b.a.

Je veux regarder un match de la n.b.a

Mets-moi un match de la n.b.a.

Mets/joue/fais jouer (un match de/une partie de/ une game de) la LNH/NHL/Ligue nationale

Je veux écouter/regarder/voir (un match de/une partie de/ une game de) la LNH/NHL/Ligue nationale

fammi vedere la n.b.a.

metti l'n.b.a.

<America's Cup>

pon la n. b. a.

(quiero) ver la n. b. a.

pon la n. b. a.

ponme la n. b. a.

pon me la n. b. a.

(quiero) ver la n. b. a.

{sports league}を再生して

{sports league}を見せて

{sports league}を流して

{sports league}をかけて

{sports league}見たい

{sports league}をお願い

スポーツのリーグに一致するメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、検索結果リストがユーザーに表示されます。

スポーツのイベントで再生

Watch soccer game

Zeig mir das {sports event}

Zeig mir ein {sports event}

Das {sports event} aufrufen

<wettkampf, spiel, match>

Mets un match de foot/football

Je veux voir un match de foot/football

Je veux regarder un match de foot/football

Mets-moi un match de foot/football

Mets/joue/fais jouer un match/une partie/ une game de hockey

Je veux écouter/regarder/voir un match/une partie/ une game de hockey

metti una partita di calcio

fammi vedere una/la partita

<gli europei>

pon el partido de fútbol

(quiero) ver el partido de fútbol

pon el partido de fútbol

ponme el partido de fútbol

(quiero) ver el partido de fútbol

{sports event}再生して

{sports event}見せて

{sports event}流して

{sports event}かけて

{sports event}見たい

{sports event}をお願い

スポーツのイベントに一致するメディアが(ユーザーへのおすすめメディアを選び出すアルゴリズムによって)再生されるか、検索結果リストがユーザーに表示されます。

GetPlayableItemsディレクティブの処理

Alexaは、ユーザーの発話を解析してインテントを判断し、それをGetPlayableItemsディレクティブとしてパッケージ化します。しかし、ユーザーが何を再生したいのかがはっきりとはわからない場合もあります。そこでAlexaは、再生するアイテムを検索できるよう、リクエストされたコンテンツをLambdaに送信します。

Lambdaから送信するレスポンスには、再生可能なコンテンツを特定する基本的な情報を含める必要があります。そのレスポンスに応じて、Alexaは次のことを行います。

  • Lambdaからのレスポンスで返されたアイテムが1つだけであった場合は、再生を開始するためにGetPlayableItemsMetadataディレクティブを送信します。
  • Lambdaからのレスポンスで複数のアイテムが返された場合は、検索結果を表示するためにGetDisplayableItemsMetadataディレクティブを送信します。

GetPlayableItemsディレクティブは、header名を除いてGetDisplayableItemsと同じです。GetPlayableItemsディレクティブが使用されるのは、デバイスでコンテンツを再生するようユーザーから依頼された場合です。再生用のディレクティブと検索用のディレクティブとが分かれているため、よりユーザーのインテントに沿った処理を行うことが可能になります。 

各種のシナリオで検索を実行する方法についての一般的な指針は次のとおりです。

ビデオ名 (例:「『インターステラー』を再生して」)

「『インターステラー』を再生して」のように、ユーザーの発話にビデオ名が含まれていた場合、Alexaから送信されるGetPlayableItemsディレクティブには、カタログ内で見つかった関連性の高いビデオ名がすべて含まれます。また、このディレクティブのexternalIdsフィールドには、カタログIDも含まれています。videoNamesと共に送信されるIDに基づいてコンテンツを選定し、再生できるアイテムを選択して返すようにしてください。

ジャンル/俳優 (例:「コメディ映画を再生して」、「トム・クルーズのアクション映画を再生して」)

ビデオ名が存在せず、ジャンルや俳優といったその他のスロットが存在する場合、GetPlayableItemsディレクティブがAlexaから送信されます。このような場合は、ディレクティブで送信されたエンティティを使用して検索を実行する必要があります。

たとえば、「アクション映画を再生して」という発話の場合、{mediaType: MOVIE, genreName: COMEDY}GetPlayableItemsディレクティブで送信されます。この情報を基に検索を実行し、コメディ映画の識別子を返すことができます。 

「トム・クルーズのアクション映画を再生して」という発話の場合も同様に、{mediaType: MOVIE, genreName: ACTION, actorName: Tom Cruise}GetPlayableItemsディレクティブで送信されるので、この条件に一致する映画の識別子を検索して返すことができます。

識別子をレスポンスで返すと、追加のメタデータを取得するためのGetPlayableItemsMetadataディレクティブがAlexaから送信されます。

GetPlayableItemsの例

GetPlayableItemsディレクティブの例を次に示します。この例では、メディアのタイトル(マンチェスター・バイ・ザ・シー)がユーザーから明示的に指定されています。

{
    "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": "Video",
                    "value": "マンチェスター・バイ・ザ・シー",
                    "externalIds": {
                        "gracenote": "MV000000099001"
                    }
                }
            ],
            "contentType": "RECORDING",
            "locale": "ja-JP",
            "minResultLimit": 8,
            "maxResultLimit": 25,
            "timeWindow": {
                "end": "2016-09-07T23:59:00+00:00",
                "start": "2016-09-01T00:00:00+00:00"
            }
        }
    }
}

ペイロードの説明

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

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

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

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

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

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

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

 {
  "type": "Channel",
  "value": "PBS",
  "externalIds": {
      "gracenote": "MV000000099001"
  },
  "entityMetadata": {
      "channelCallSign": "KBTC",
      "channelNumber": "123"
  }
} 

リスト
type

ビデオコンテンツのエンティティタイプ。ビデオコンテンツのエンティティタイプについては、[ビデオコンテンツのエンティティタイプ](../video-skills-fire-tv-apps/entity-types-for-video-content.html)を参照してください。このリストに加え、Alexa Skills Kitには、マルチモーダルデバイス用の新しいタイプ (LISTTYPESORTTYPE)が追加されています。

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

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

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

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

例: MEDIATYPEVIDEOACTORGENREFRANCHISESEASONEPISODE

文字列
value
(必須)

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

例: インターステラーPBS

文字列
externalIds

このエンティティの外部識別子のマップ。keyはプロバイダー、valueidです。

例:key = gracenote(またはgti)、value = SH000000012

オブジェクト
Gracenote

外部Gracenote ID。

例: ST0000000666661

文字列
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

文字列
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形式の文字列

Lambdaのレスポンス

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

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

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

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

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

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

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

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

レスポンスの例

GetPlayableItemsに対するLambdaからのレスポンスの例を次に示します。

{
    "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": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
                    }
                },
                {
                    "mediaIdentifier": {
                        "id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
                    }
                }
            ]
        }
    }
}

ペイロードの説明

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

ペイロードの説明
フィールド 説明 データ型
nextToken

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

文字列
mediaItems
(必須)

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

リスト
mediaIdentifier
(必須)

mediaItemの識別子。

オブジェクト
id
(必須)

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

文字列