開発者コンソール

Alexa.RemoteVideoPlayerインターフェース: SearchAndPlay


Alexa.RemoteVideoPlayerインターフェース: SearchAndPlay

「『ボッシュ』を再生して」や「ウォリアーズの試合を見せて」などと、特定ビデオコンテンツの再生をユーザーがAlexaに依頼すると、Alexa.RemoteVideoPlayerインターフェースはSearchAndPlayディレクティブをLambdaに送信します。

概要

SearchAndPlayディレクティブは、ユーザーがAlexaにアイテムの「再生」を依頼したことを通知します。SearchAndPlayでは、具体的にリクエストされたタイトル、またはリクエストされたエンティティに最も一致するタイトルが再生されます。一致するタイトルがない場合は、代わりに検索結果が返されます。

以下に、発話の例をいくつか示します。

  • アレクサ、<タイトル>を見せて
  • アレクサ、<タイトル>を再生して
  • アレクサ、<タイトル>を流して
  • アレクサ、<タイトル>を開始して

SearchAndPlayディレクティブの発話

ユーザーが以下の発話を行うと、AlexaはLambdaにSearchAndPlayディレクティブを送信します。

機能 サンプル発話 想定されるレスポンス バージョン
タイトルを再生

Watch breaking bad

ich möchte <VideoName> gucken

spiel <VideoName>

spiel watchlist ab von <VideoName>?

mets / joue / lance <VideoName> sur <AppName>

mets / joue / lance / pars <VideoName> sur <AppName>

metti / trasmetti / riproduci / fammi guardare / fammi vedere + VideoName (+ da/su DeviceName

pon interstellar

reproduce interstellar

ver interstellar

<VideoName>を再生して <VideoName>を<AppName>で再生して <AppName>で<VideoName><MediaType>を再生して

tocar/assistir/reproduzir <VideoName> no/na <AppName>

<VideoName> चलाओ/बजाओ/लगाओ/play/देखो <AppName> पे/पर/में <VideoName> चलाओ/बजाओ/लगाओ/play

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

1.0

メディアタイプで再生

Watch a movie

spiel einen <MediaType>

spiel <MediaType> aus der/meiner watchlist

streame den <MediaType> <VideoName> auf <AppName>/<Device> spiel trailer von <VideoName>

spiel die neueste folge von <VideoName>

regarde un film

mets un film

joue un film

regarde un film

mets un film

joue un film

pars un film

guarda un film

metti un fim

trasmetti un film

riproduci un film

pon la película*

reproduce la película*

Note: Not supported in es-ES or es-US

<VideoName>を再生して <VideoName>を<AppName>で再生して <AppName>で<VideoName><MediaType>を再生して

<MediaType>を再生して

<ActorNameName>が出ている<MediaType>を再生

<Anaphor><MediaType>を流して

<AppName>で<GenreNameName><MediaType>を再生

<AppName>で<VideoName><MediaType>を再生して

<ChannelName>の<MediaType>を再生

assistir um filme

colocar um filme

nós podemos assistir um filme

ver um filme

<VideoName> movies चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

俳優で再生

Watch sean connery

spiel <VideoName> (mit <ActorName>) auf <AppName>

streame einen film mit <ActorName> auf <AppName>

streame einen <ActorName> film auf <AppName>

streame eine serie mit <ActorName> auf <AppName>

streame eine <ActorName> serie auf <AppName>

regarde un film avec <actor>

mets un film avec <actor>

joue un film avec <actor>

regarde un film avec <actor>

mets un film avec <actor>

joue un film avec <actor>

pars un film avec <actor>

guarda un film con <ActorName>

metti un film con <ActorName>

pon salma hayek

reproduce salma hayek

<ActorNameName>が出ている<MediaType>を再生

assistir <ator>

colocar <ator>

coloque filmes com <ator>

encontre filmes com <ator>

me mostre filmes com <ator>

<ActorName> का/की/के movies को चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के movies चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के <GenreName> को चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के <GenreName> चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के <VideoName> को चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के <VideoName> चलाओ/बजाओ/लगाओ/play/देखो

<ActorName> का/की/के/वाला <GenreName> की <VideoName> को चलाओ/बजाओ/लगाओ/play/देखो <ActorName> का/की/के/वाला <GenreName> की <VideoName> चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

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

Watch breaking bad season two

spiel <VideoName> <Season> <Season_Numer>

spiel <VideoName> <Season> <Season_Numer> auf <AppName>

Regarde la saison <x> de <title>

Mets la saison <x> de <title>

Regarde <title> saison <x>

Mets <title> saison <x>

Joue <title> saison <x>

Joue la saison <x> de <title>

regarde la saison <x> de <title>

mets la saison <x> de <title>

joue la saison

<x> de <title>

pars la saison <x> de <title>

regarde <title> saison <x>

mets <title> saison <x>

joue <title> saison <x>

pars <title> saison <x>

joue la saison <x> de <title>

guarda <VideoName> stagione due

metti <VideoName> stagione due

riproduci <VideoName> stagione due

empieza la segunda temporada de los rompecorazones

comienza la segunda temporada de los rompecorazones

reproduce la segunda temporada de los rompecorazones

<VideoName>の<Season><Season_Number>の

assistir <title> temporada <x>

colocar <title> temporada <x>

reproduzir <title> temporada <x>

<VideoName> का/की/के <SeasonNumber> को चलाओ/बजाओ/लगाओ/play/देखो <VideoName> का/की/के <SeasonNumber> चलाओ/बजाओ/लगाओ/play/देखो <VideoName> का/की/के <SeasonNumber> को चलाओ/बजाओ/लगाओ/play/देखो <VideoName> का/की/के <SeasonNumber> <SeasonNumber> चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

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

Watch breaking bad episode five

spiel die <Episode_Number> <Episode> von <VideoName>

spiel <VideoName> <Episode_Number>

spiel von <VideoName> <Episode> <Episode_Number>

Regarde l'épisode <x> de <title>

Mets l'épisode <x> de <title>

Joue l'épisode <x> de <title>

Joue <title> épisode <x>

regarde l'épisode <x> de <title>

mets l'épisode <x> de <title>

joue l'épisode <x> de <title>

pars l'épisode <x> de <title>

joue <title> épisode <x>

mets <title> épisode <x>

guarda <VideoName> episodio cinque

metti <VideoName> episodio cinque

riproduci <VideoName> episodio cinque

pon el capítulo final de los serrano

<Episode_Number><Episode>を再生

assistir <title> episódio <x>

colocar <title> episódio <x>

reproduzir <title> episódio <x>

reproduzir o <title> episódio <x>

<VideoName> का/की/के <EpisodeNumber> को चलाओ/बजाओ/लगाओ/play/देखो <VideoName> का/की/के <EpisodeNumber> चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

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

Watch breaking bad season two episode five

spiel <Season> <Season_Numer> <Episode> <Episode_Number> von <VideoName>

spiel <VideoName> <Season> <Season_Numer> <Episode> <Episode_Number>

spiel die <VideoName> <Season> <Season_Numer> <Episode> <Episode_Number> auf <AppName> ab

Regarde l'épisode <x> de la saison <x> de <title>

Joue l'épisode <x> de la saison <x> de <title>

Mets l'épisode <x> de la saison <x> de <title>

Same as fr-FR

guarda <VideoName> stagione due episodio cinque

metti <VideoName> stagione due episodio cinque

riproduci <VideoName> stagione due episodio cinque

pon el segundo episodio de la primera temporada de anabel

reproduce el cuarto episodio de la temporada tres de águila roja

<Episode_Number><Episode>を再生

<VideoName>の<Season><Season_Number>の

assistir <title> temporada <x> episódio <x>

colocar <title> temporada <x> episódio <x>

reproduzir <title> temporada <x> episódio <x>

<VideoName> season one episode one चलाओ/बजाओ/लगाओ/play करो

<VideoName> season एक का episode एक चलाओ/बजाओ/लगाओ/play करो

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

1.0

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

Watch star trek

ich möchte <VideoName> gucken

spiel <VideoName>

spiel watchlist ab von <VideoName>?

Regarde <title>

Mets <title>

Joue <title>

regarde <title>

mets <title>

joue <title>

pars <title>

guarda star trek

fammi vedere star trek

mostra star trek

pon star wars

reproduce star wars

assitir jornada nas estrelas

colocar jornada nas estrelas

reproduzir jornada nas estrelas

você pode passsar jornada nas estrelas

por favor reproduzir jornada nas estrelas

star trek देखो/देखना/देखिए

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

1.0

キャラクター名で再生

Watch james bond

Not supported

Not supported

Not supported

guarda <CharacterName>

fammi vedere un film con james bond

mostrami un film di james bond

reproduce algo con james bond

Not Supported

<CharacterName> का/की/के/वाला movies चलाओ/बजाओ/लगाओ/play/देखो <CharacterName> का/की/के/वाला movies को चलाओ/बजाओ/लगाओ/play/देखो Watch <CharacterName> movie <VideoName>

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

1.0

ジャンル名で再生

Watch comedy

spiel eine <GenreName> <MediaType> auf <DeviceType> ab

spiel eine <GenreName> <MediaType> auf <AppName> ab

<GenreName> <MediaType> schauen

spiel einen <GenreName> <MediaType>

regarder un <GenreName>

regarder une <GenreName>

mets un <GenreName>

mets une <GenreName>

joue un <GenreName>

joue une <GenreName

regarder un <GenreName>

regarder une <GenreName>

mets un <GenreName>

mets une <GenreName>

joue un <GenreName>

joue une <GenreName

guarda una <GenreName>

fammi vedere una commedia

mostra mi una commedia

metti una commedia

pon comedia en netflix (Not supported without AppName)

<AppName>で<GenreNameName><MediaType>を再生<AppName>で<GenreNameName>を再生

assitir <GenreName>

assistir programas de <GenreName>

programas de <GenreName>

colocar <GenreName>

por favor reproduzir <GenreName>

reproduzir programas de <GenreName>

c

olocar um programa de <GenreName>

<GenreName> <VideoName> को चलाओ/बजाओ/लगाओ/play/देखो <GenreName> <VideoName> चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

スポーツのチームで再生

Watch seahawks

spiel <SportsTeam> <Event> auf <AppName>

<SportsTeam> <Event> anschauen/ansehen

das <SportsTeam> <Event> auf <AppName> anschauen/ansehen

spiel das <SportsTeam> <Event> auf meinem <Device>

Regarde le <team>

Regarde le match de <team>

Regarde le <team>

Regarde le match de <team>

riproduci la partita del <SportsTeam>

ver el partido del real madrid

<SportsTeam>の<Event>を<AppName>で見せて

assisitr <SportTeam>

assitir o/a <SportTeam>

colocar no/na <SportTeam>

colocar o jogo do/da <SportTeam>

me mostre o jogo do/da <SportTeam>

mostre o jogo do/da <SportTeam>

<Sport/League/Seam> games चलाओ/बजाओ/लगाओ/play/देखो <Sport/League/Seam> के games को चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

スポーツの種類で再生

Watch soccer

spiel das <Sport> <Event> auf meinem <Device>

das <Sport> <Event> ansehen

Not supported

Not supported

not supported

reproduce el partido de fútbol en mi televisor

ver el partido de fútbol en mi tele

ver el partido de fútbol

<SportsTeam>の<Event>を<AppName>で見せて

assistir <Sport>

<Sport/League/Seam> games चलाओ/बजाओ/लगाओ/play/देखो <Sport/League/Seam> के games को चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

スポーツのリーグで再生

Watch n. b. a. league

spiel <SportsTeam> <Event> auf <AppName>

<SportsTeam> <Event> anschauen

Mets <league>

Joue <league>

Regarde <league>

Mets <league>

Joue <league>

Regarde <league>

trasmetti la partita della <League>

pon el partido de la a. c. b. en mi tele

ver el partido de la a. c. b. en mi televisor

<SportsTeam>の<Event>を<AppName>で見せて

assistir <League>

colocar <League>

<Sport/League/Seam> games चलाओ/बजाओ/लगाओ/play/देखो

<Sport/League/Seam> के games को चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

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

Watch soccer game

spiel das <Sport> <Event> auf meinem <Device>

das <Sport> <Event> ansehen

Not supported

Not supported

not supported

ver el partido de fútbol

<SportsTeam>の<Event>を<AppName>で見せて

not supported

<Sport/League/Seam> games चलाओ/बजाओ/लगाओ/play/देखो <Sport/League/Seam> के games को चलाओ/बजाओ/लगाओ/play/देखो

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

1.0

SearchAndPlayディレクティブの処理

SearchAndPlayディレクティブには、メディアを再生するための命令が含まれています。このディレクティブでは、対象となるメディアオブジェクトと取得したURIがエンティティとして記述されます。このディレクティブには、検索および再生対象を指定するエンティティの配列が含まれます

SearchAndPlayディレクティブは、マルチモーダル実装用ビデオスキルのGetPlayableItemsと似ています)。

SearchAndPlayの例

以下は、SearchAndPlayディレクティブの例です。これは、ユーザーが『マンチェスター・バイ・ザ・シー』の再生をリクエストした場合に、Alexaからレスポンスとして送信されるディレクティブです。

{
    "directive": {
        "endpoint": {
            "cookie": {},
            "endpointId": "<ターゲットエンドポイントの識別子>",
            "scope": {
                "token": "<OAuth2ベアラートークン>",
                "type": "BearerToken"
            }
        },
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "e7f9c31f-cb90-4003-9795-c6fb9f487945",
            "name": "SearchAndPlay",
            "namespace": "Alexa.RemoteVideoPlayer",
            "payloadVersion": "3"
        },
        "payload": {
            "displayMode": "VUI",
            "entities": [
                {
                    "externalIds": {
                        "gracenote": "MV000000099001"
                    },
                    "type": "Video",
                    "uri": "entity://provider/show/manchesterbythesea",
                    "value": "マンチェスター・バイ・ザ・シー"
                }
            ],
            "searchText": [
                {
                    "transcribed": "マンチェスター・バイ・ザ・シー"
                }
            ],
            "timeWindow": {
                "end": "2016-09-07T23:59:00+00:00",
                "start": "2016-09-01T00:00:00+00:00"
            }
        }
    }
}

以下のセクションでは、さまざまなリクエストに対してSearchAndPlayディレクティブを処理するためのガイダンスを提供します。

タイトルで再生

「アレクサ、『インターステラー』を再生して」など、ユーザーがAlexa搭載デバイスにタイトルを言った場合に、LambdaはSearchAndPlayディレクティブを受け取ります。

SearchAndPlayディレクティブには、externalIdsセクションが含まれています。このセクションで、カタログに対応するフィールドを探す必要があります。このフィールドには、カタログ統合で使用したID値が含まれるため、ユーザーがどの番組を再生したいかを正確に知ることができます。これを使用してメディアを再生することで、ユーザーのリクエストを満たすことができます。

アプリにあるコンテンツの再生をAlexaに確実に依頼しているにもかかわらず、externalIdsフィールドにカタログのID値が見つからない場合は、Fire TVソリューションアーキテクトに問い合わせてサポートを依頼してください。

また、受信したディレクティブには複数のエンティティが含まれる場合があることにも注意してください。これは、同じ名前の番組が複数存在することが多いためです。Alexa Client Libraryを統合して、スキルの自動ペアリングを設定して仕上げる手順が完了したら、ディレクティブが絞り込まれ、(すべてのカタログからエントリを受け取るのではなく)独自のカタログから1つのエンティティのみを受け取ることができるようになります。ID値を自分のカタログのみに絞り込まない限り、独自のカタログIDを持つエンティティが見つかるまで、Lambdaコードで受け取ったエンティティを繰り返し処理する必要があります。エンティティが見つかったら、コード内で対応します。

同じカタログ内でディレクティブに複数のID値が含まれている場合は、Alexaがカタログ内の複数の番組を、ユーザーがリクエストしたタイトルに一致すると識別したことが原因である可能性があります。その場合は、ユーザーに最適な再生コンテンツを選択する必要があります。ユーザーに合ったコンテンツを選び出すためのアルゴリズムを活用してください。

タイトル、エピソード、シーズンで再生

ユーザーが「アレクサ、『インターステラー』シーズン2エピソード2を再生して」と話しかけた場合は、ユーザーが「アレクサ、『インターステラー』を再生して」と話しかけた場合と類似のディレクティブを受け取ります。 ただし、重要な違いとして、このディレクティブには次のJSONが含まれます。

{
  "type": "Episode",
  "value": "2"
},
{
  "type": "Season",
  "value": "2"
}

このJSONは、ユーザーがリクエストしたシーズン番号とエピソード番号を示します。これを基に、ユーザーの希望するシーズンやエピソードを再生する必要があります。受け取るカタログIDには、シーズン/エピソードIDではなく、トップレベルの番組のカタログIDのみが含まれます。ただし、正しいコンテンツを再生するには、番組のカタログIDと一緒にシーズン番号やエピソード番号を使用できる必要があります。

また、ユーザーがエピソードではなくシーズンだけを指定したり、シーズンではなくエピソードだけを指定する可能性も考慮して、ユーザーのリクエストを満たす必要があります。正しいコンテンツを特定するには、次のガイダンスに従ってください。

  • ユーザーがTVシリーズのシーズンでタイトルを再生するよう依頼していて(「アレクサ、『ボッシュ』シーズン3を再生して」など)、希望するエピソードが不明な場合は、最後に視聴したエピソードを表示します。最後に視聴したエピソードの視聴が完了している場合は、それ以降の次の未視聴エピソードを表示します。または、シーズンのエピソードリストを表示します。
  • ユーザーがエピソードでタイトルを再生するよう依頼していて(「アレクサ、『ボッシュ』エピソード5を再生して」など)、複数のシーズンが考えられる場合は、ユーザーが最後に視聴したエピソードを確認して、正しいシーズンを特定します。最後に視聴したエピソードがシーズン2のものである場合は、シーズン2のエピソード5を再生します。または、シーズンのエピソードリストを表示します。

シリーズで再生

ユーザーが希望するコンテンツが明確に理解できないような発話もあります。たとえば、ユーザーが「アレクサ、『ジュラシックパーク』を見せて」と話しかけたとします。 こういったシナリオでは、ユーザーが「ジュラシックパーク 1」「ジュラシックパーク 2」「ジュラシックパーク 3」のどれを指しているのかがわかりません。このように複数のバリエーションがあるメディアは「シリーズ物」と呼ばれます。 シリーズ物のシナリオは、シーズンやエピソードのモデルにはうまく当てはまらないため、「シリーズで再生」で処理します。

ユーザーがシリーズで再生のリクエストを行うと、ユーザーがリクエストしたシリーズ(この例の場合は「ジュラシックパーク」)をディレクティブで受け取りますが、このディレクティブにはカタログIDは含まれません。このようなディレクティブの場合、カタログ内でこのコンテンツの検索を実行し、検索最上位のタイトルを再生することが望ましい動作です。それができない場合は、少なくともアプリでユーザーに検索結果を表示し、ユーザーがリモコンを使用して希望のコンテンツを見つけられるようにする必要があります。ディレクティブを単に無視することは適切ではありません。

シリーズ物のリストは、シリーズ物リストで確認することができます。

ジャンル、スポーツ、チーム、リーグ、その他あいまいな再生ディレクティブで再生

Alexaは、「アレクサ、コメディを再生して」や「アレクサ、バスケットボールを見せて」などのフレーズもサポートしています。 このように汎用的なシナリオの場合は、ユーザーに検索結果を表示するか、その特定ジャンルまたは適切なエンティティの詳細ページを表示するかを選択します。

たとえば、多くのアプリには、コメディ、アクション映画、シチュエーションコメディなどの専用ページがありますが、これは単純な検索結果とは異なります。このジャンルページは、そのトピックに関連するメディアを厳選したものです。ユーザーからのあいまいなリクエストを受信したときは、必要に応じて、こうした関連するジャンルページに移動することができます。最悪の場合でも、少なくともアプリでユーザーに検索結果を表示する必要があります。ディレクティブを単に無視することはしないでください。

ディレクティブで受け取る可能性のあるジャンルのリストは、ジャンルリストで確認することができます。

あいまいな再生リクエストの処理

SearchAndDisplayResultsと同様に、SearchAndPlayでは、コンテンツタイトル、シリーズ名、俳優、監督、スポーツチーム、メディアタイプなど、複数のエンティティタイプをサポートしています。したがって、これらのディレクティブには、あいまいなエンティティのリクエストが含まれる可能性があります。

たとえば、ユーザーが「アレクサ、人気のコメディを再生して」や「アレクサ、ビリー・ボブ・ソーントンが出ている映画を見せて」のようなリクエストを行った場合、 あいまいさにかかわらず、リクエストをどのように処理するかは開発者が決定できます。たとえば、以下のように処理できます。

  • 人気のコメディやビリー・ボブ・ソーントンの映画の再生を開始する
  • コメディやビリー・ボブ・ソーントンの映画の上位10件のリストを生成し、ユーザーが繰り返し処理を行わずに済むよう、ランダムに1つを選択する
  • あいまいなエンティティの検索結果をそのまま表示する

応答の方法は選択できますが、可能な限りユーザーの再生リクエストに対応することをお勧めします。

searchTextオブジェクト

Alexa VSK APIは、searchTextオブジェクトを使用し、ユーザーの検索クエリをテキスト変換したものをtranscribedフィールドの文字列値にします。以下に、「アレクサ、人気のコメディTV番組をHDで再生して」という検索クエリに対するディレクティブの一部を示します。

{
    "searchText": {
        "transcribed": "h.d. 人気のコメディTV番組"
    }
}

ユーザーの発話に基づいて、searchTextにコンテンツプロバイダー名を含めることができます。以下に例をいくつか挙げます。

ユーザーの発話に基づいて、searchTextにコンテンツプロバイダー名を含めることができます。以下に例をいくつか挙げます。

vsk_dev

  • 「<コンテンツプロバイダー>の映画を検索して」という発話では、transcribed値として「<コンテンツプロバイダー>の映画」が返されます。
  • 「<コンテンツプロバイダー>でコメディを検索して」という発話では、transcribed値として「<コンテンツプロバイダー>のコメディ」が返されます。

searchTextの使用

searchTextオブジェクトは、ユーザーの検索リクエストを表します。searchTextオブジェクトのtranscribed値は、発話から必要なものだけを取り出してユーザーの目的を表した文字列です。

searchTextオブジェクトには、次のような制限事項があります。

語順の保証はありません。

同じ発話でも、searchTextが次のように、異なる順序でtranscribed値を返すことがあります。

  • 「h. d.朝鮮戦争のドキュメンタリー映画」
  • 「朝鮮戦争のドキュメンタリーh. d.映画」

searchTextの内容は、時間の経過やディレクティブによって変わることがあります。

同じ発話でも、時によってsearchTextが返すtranscribed値が次のように異なることがあります。

  • 「トップテンコメディ」
  • 「トップ10コメディ」

エンティティとsearchTextに関する推奨事項

エンティティは解決されたカタログ値に依存します。特定の値に関連する専門カタログ(映画カタログやジャンルカタログなど)がある場合や、構造化クエリを容易にする何らかのデータモデルを使用している場合は、エンティティを使用します。

キーワード検索(全文検索など)に重点を置く場合は、searchTextを使用します。

コンテンツが見つからない場合の処理

ユーザーがリクエストしたコンテンツが見つからない場合は、CONTENT_NOT_FOUNDエラータイプを指定してエラーレスポンスを送信できます。詳細については、エラー処理を参照してください。

ユーザーエクスペリエンスには、「ボイスクリフ」が含まれないようにしてください。 ボイスクリフとは、ユーザーがリモコンを使わざるを得なくなるような音声エクスペリエンスのことです。

ペイロードの説明

以下のフィールドがサポートされています。
フィールド 説明 データ型
entities
タイトル、シリーズ、俳優、チーム、メディアタイプなど、再生するエンティティオブジェクトの配列です。 配列
displayMode
ファーフィールドリクエスト(VUI)なのか、ニアフィールドリクエスト(GUI)なのかを識別します。 列挙値「VUI」または「GUI」
timeWindow
ユーザーが再生したいコンテンツのタイムウィンドウを指定します。たとえば、先週のエピソードを再生したい場合、タイムウィンドウには前の週を指定します。 startendの時間を含むオブジェクト
end

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

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

ISO 8601形式の文字列
start

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

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

ISO 8601形式の文字列

レスポンスの例

SearchAndPlayResultsディレクティブが正常に完了した場合、LambdaはAlexa.Responseメッセージで応答する必要があります。

{
    "context": {
        "properties": []
    },
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "1d8749ce-2805-4781-bb34-c5c59ce71f6a",
            "name": "Response",
            "namespace": "Alexa",
            "payloadVersion": "3"
        },
        "payload": {}
    }
}

payloadの内容は不要です。Fire TV対応アプリのビデオスキルでは、Alexaへのレスポンスは最小限で、空のpayloadが返されます。これは、必要な命令をADM経由でFire TV対応アプリに送信しているためです。Echo Show用VSKには、これは当てはまりません。

インターフェース機能に対するサポートの宣言

ビデオスキルがAlexa.RemoteVideoPlayerインターフェースをサポートしていることを示すには、Alexa.Discoveryインターフェースを介して送信されたDiscoverディレクティブへのレスポンスで、そのサポートを明示する必要があります。詳細については、Discoveryインターフェースを参照してください。

エラーレスポンス

何らかの理由でユーザーのリクエストを完了できない場合は、エラーレスポンスを返す必要があります。詳細については、エラー処理を参照してください。