APIリファレンスの概要
Alexaは、ユーザーの発話(テレビ番組の検索や映画の視聴などを依頼する発話)をディレクティブに変換します。ディレクティブは、JSON形式のデータと命令のセットのことで、AlexaからアプリまたはLambdaに送信されます。Fire TV対応アプリ用ビデオスキルでは、SearchAndPlayやSearchAndDisplayResultsなど、さまざまなディレクティブをサポートできます。
ユーザーのリクエストに対応するため、Lambdaでディレクティブを解釈し、処理する必要があります。Lambdaでは、Alexaにレスポンスを返し、さらにリクエストを満たすための適切なアクションも実行します。
使用可能なディレクティブ
AlexaはFire TV対応アプリで次のディレクティブを送信します。
| ディレクティブ | 説明 | 
|---|---|
| RemoteVideoPlayer - SearchAndPlay | ユーザーが特定ビデオコンテンツの再生をAlexaにリクエストした際に送信されます。 | 
| RemoteVideoPlayer - SearchAndDisplayResults | ユーザーがビデオコンテンツの検索をAlexaにリクエストした際に送信されます。 | 
| PlaybackController | ユーザーがビデオコンテンツの再生、停止、ナビゲーションをリクエストした際に送信されます。 | 
| SeekController | ユーザーが時間を指定して早送り(またはスキップ)や早戻しをリクエストした際に送信されます。 | 
| ChannelController | ユーザーがチャンネルの変更をリクエストした際に送信されます。 | 
| KeypadController | ユーザーが左右へのスクロール、ページの上下スクロール、フォーカスされているアイテムの選択をリクエストした際に送信されます。 | 
これらの各ディレクティブの詳細や、ディレクティブをトリガーする発話については、上記のリンクを参照してください。
ビデオスキルのターゲット指定
発話でビデオスキルをターゲットにするには、以下を実行します。
- アプリを開いた状態で発話します。
- 「番組Xを再生して」ではなく、「XYZで番組Xを再生して」のように、リクエストでビデオスキルの名前を明示的に指定します(これは「明示的な発話」と呼ばれます)。
マルチモーダルディレクティブとの比較
マルチモーダルデバイス用VSK(Video Skills Kit)の実装では、Alexaから送信されるディレクティブを解釈して応答する必要があります(ディレクティブリファレンスの概要を参照)。このディレクティブは、Fire TV対応アプリで使用されるディレクティブと同じではありませんが、以下のように似ています。
- SearchAndPlay(Fire TV用)は- GetPlayableItems(マルチモーダル用)と似ています。これらのディレクティブは再生の発話をサポートします。
- SearchAndDisplayResults(Fire TV用)は- GetDisplayableItems(マルチモーダル用)と似ています。これらのディレクティブは検索の発話をサポートします。
ただし、マルチモーダルデバイスには、上記のそれぞれに対して2つのディレクティブが用意されています(GetPlayableItemsとGetPlayableItemsMetadata、GetDisplayableItemsとGetDisplayableItemsMetadata)。これは、基本的な対話モデルが異なるためです。マルチモーダルデバイスでは、LambdaはレスポンスでAlexaに情報を返します。Fire TV対応アプリでは、LambdaはAmazon Device Messagingを通じて必要な情報を直接アプリにプッシュします。
用語 – リクエストとディレクティブ
「リクエスト」と「ディレクティブ」という用語は、このビデオスキルのドキュメントではほぼ同じ意味です。リクエストは、AlexaからLambdaに送信されるメッセージを指す、より一般的な用語です。ビデオスキルでは、メッセージはコード内でdirectiveとして記述されるため、リクエストを「ディレクティブ」と呼びます。 これは、その他のAlexa Skills Kitドキュメントで使用されている用語と一致しています。
また、この「ディレクティブ」という用語を使用することで、ユーザーの発話(映画を視聴するリクエストなど)と、AlexaからLambdaに送信される情報とを区別することができます。

