ディレクティブリファレンスの概要


ディレクティブリファレンスの概要

Alexaは、ユーザーの発話(TV番組の検索や映画の再生など)をディレクティブに変換します。ディレクティブは、JSON形式で記載されたデータと命令のセットのことで、AlexaからLambdaに送信されます。Fire TV対応アプリ用ビデオスキルでは、SearchAndPlaySearchAndDisplayResultsなど、さまざまなディレクティブをサポートできます。

Lambdaはユーザーのリクエストを満たすために、ディレクティブを解釈して処理する必要があります。Lambdaでは、Alexaにレスポンスを返し、さらにリクエストを満たすための適切なアクションも実行します。

使用可能なディレクティブ

AlexaはFire TV対応アプリで次のディレクティブを送信します。

ディレクティブ 説明
SearchAndPlay ユーザーが特定のビデオコンテンツの再生を依頼した場合に、Alexaからこのディレクティブが送信されます。
SearchAndDisplayResults ユーザーがビデオコンテンツの検索を依頼した場合に、Alexaからこのディレクティブが送信されます。
トランスポートコントロールPlayPauseStopStartOverPreviousNextRewindFastForwardAdjustSeekPosition ユーザーがビデオコンテンツの再生、停止、移動をリクエストした場合に、Alexaからこのディレクティブが送信されます。
ChangeChannel ユーザーがチャンネルの変更をリクエストした場合に、Alexaからこのディレクティブが送信されます。
録画SearchAndRecordCancelRecordingDeleteRecordingStartRecordingStopRecording 録画の開始、停止、予約、キャンセルなど、コンテンツの録画に関するリクエストをユーザーが行った場合に、Alexaからこのディレクティブが送信されます。

これらの各ディレクティブの詳細や、ディレクティブをトリガーする発話については、上記のリンクを参照してください。

ビデオスキルのターゲット指定

発話でビデオスキルをターゲットにするには、以下を実行します。

  • アプリを開いた状態で発話します。
  • 「番組Xを再生して」ではなく、「XYZで番組Xを再生して」のように、リクエストでビデオスキルの名前を明示的に指定します(これは「明示的な発話」と呼ばれます)。

マルチモーダルディレクティブとの比較

マルチモーダルデバイス用ビデオスキルの実装では、Alexaからのディレクティブを解釈して応答する必要があります(APIリファレンスについてを参照)。このディレクティブは、Fire TV対応アプリで使用されるディレクティブと似ていますが、以下のように違いがあります。

ただし、マルチモーダルデバイスには、上記のそれぞれに対して2つのディレクティブが用意されています(GetPlayableItemsGetPlayableItemsMetadataGetDisplayableItemsGetDisplayableItemsMetadata)。これは、基本的な対話モデルが異なるためです。マルチモーダルデバイスでは、LambdaはレスポンスでAlexaに情報を返します。Fire TV対応アプリでは、LambdaはAmazon Device Messagingを通じて必要な情報を直接アプリにプッシュします。

用語 – リクエストとディレクティブ

「リクエスト」と「ディレクティブ」という用語は、このビデオスキルのドキュメントではほぼ同じ意味です。リクエストは、AlexaからLambdaに送信されるメッセージを指す、より一般的な用語です。ビデオスキルでは、メッセージはdirectiveとして記述されるため、コード内ではリクエストを「ディレクティブ」と呼びます。 これは、その他のAlexa Skills Kitドキュメントで使用されている用語と一致しています。

また、この「ディレクティブ」という用語を使用することで、ユーザーの発話(映画を再生するリクエストなど)と、AlexaからLambdaに送信される情報とを区別することができます。