APIがGetDisplayableItemsMetadataディレクティブをLambdaに返します。GetDisplayableItemsMetadataディレクティブの目的は、コンテンツを再生することではなく、検索結果を適切に表示するための情報を取得することです。次の図は、このAlexaディレクティブとそれに対するLambdaのレスポンスを示しています。Showデバイスでサポートされる画像サイズリクエストの例GetDisplayableItemsMetadataディレクティブの発話GetDisplayableItemsMetadataディレクティブの送信をAlexaに促すような発話はありません。このディレクティブは、GetDisplayableItemsに対するLambdaのレスポンスを受信したAlexaがフォローアップとして送信します。GetDisplayableItemsMetadataディレクティブの処理Alexaは、検索結果をデバイスで表示する直前にGetDisplayableItemsMetadataを送信します。したがって、Alexaからこのディレクティブが送信されるシナリオは、検索、閲覧、ランディングページのいずれかとなります。このディレクティブに含まれるのは、Alexaがメタデータを必要としているid値のリストだけです。id値は、その前に送信したGetDisplayableItemsResponseでLambdaから返したものです。LambdaのGetDisplayableItemsResponseレスポンスには、アイコン、バッジ、selectionActionなどに関するメタデータのほか、ユーザーに対するAlexaの音声レスポンスのメタデータを含める必要があります。ユーザーに表示するアートワークは、タイトルにふさわしいものにしてください。アートワークを使用すると、ユーザーが検索結果でおすすめのコンテンツを識別しやすくなります。GetDisplayableItemsMetadataの例GetDisplayableItemsMetadataディレクティブの例を次に示します。次の表は、GetDisplayableItemsMetadataディレクティブのpayloadのフィールドについて説明しています。ペイロードの説明フィールド説明データ型locale(必須)ユーザーのロケール。検索結果に対応する表示可能な情報を取得するために必要となります。47(BCP-47)」(英語のみ)で規定されている言語の形式と同じです。認識されないロケールを受信した場合は、デフォルトでen-USになります。例:en-US、en-GB、de-DE文字列mediaIdentifiers(必須)メディアのid値のリストが格納されます。配列id(必須)ビデオアイテムの識別子。後続のGetDisplayableItemsMetadataまたはGetPlayableItemsMetadataの呼び出しで、表示または再生に関連したメタデータ情報を取得する目的で使用されます。この識別子は、Alexaからは認識できず、メタデータ情報を照会する際にそのまま使用されます。文字列LambdaのレスポンスLambdaのレスポンスにはメタデータ情報が含まれている必要があります。この情報は、(Amazonが提供する)デバイスでテンプレートに値を設定し、画面に検索結果を表示するうえで必要となります。レスポンスに含まれるのは、表示に関連した情報だけです。この場合、再生に関する情報は必要ありません。レスポンスの例Lambdaから送信されるGetDisplayableItemsMetadataResponseの例を次に示します。このレスポンスには、デバイスに表示するアイテムのid値のリストが含まれています。}}レスポンスのペイロードの例GetDisplayableItemsMetadataResponseのpayloadオブジェクトには、メディアに応じてさまざまなフィールドが格納されます。次のレスポンス例は、各種メディアのpayloadを示しています。次の表は、GetDisplayableItemsMetadataResponseのpayloadのフィールドについて説明しています。リストname(必須)ビデオの名前。再生されるビデオについてのプロンプトをユーザーに提供する目的で使用します。「インターステラーはこちらです」などです。文字列contentType(必須)ContentTypeは、検索結果で返されたビデオのコンテンツタイプを示します。録画された映画やテレビ番組を送信する場合、contentTypeはRECORDINGに設定されます。ライブのテレビ番組に関する情報が結果に含まれる場合、contentTypeはLIVEに設定されます。オンデマンドコンテンツが結果に含まれる場合、contentTypeはON_DEMANDに設定されます。contentTypeは、ユーザーにプロンプトを提供する際にも使用されます。contentTypeがLIVEの場合、「CBSで現在放送中のアカデミー賞はこちらです」などのプロンプトがAlexaから提供されます。contentTypeがRECORDINGの場合は、「アカデミー賞はこちらです」などのプロンプトが提供されます。RECORDING、LIVE、ON_DEMAND列挙型itemType(必須)itemTypeは、検索するアイテムのタイプを指定します。itemTypeは、ランディングページテンプレートに関連したGetDisplayableItemsディレクティブに固有です。ユーザーが(「アレクサ、ACMEのビデオを開いて」と言うか、「ビデオホーム」と言った後でビデオスキルを選択することで)ランディングページを開くと、Alexaは次の2つのGetDisplayableItemsディレクティブを送信します。1つ目のGetDisplayableItemsディレクティブは、ランディングページのカテゴリーを取得するためのものです。itemTypeプロパティはCATEGORYで、sortTypeがRECOMMENDEDに設定されています。2つ目のGetDisplayableItemsディレクティブは、ランディングページの注目ビデオを取得するためのものです。1つ目のディレクティブとは異なり、このリクエストではitemTypeがVIDEOに設定されています。Alexaは両方のディレクティブに対するレスポンス(GetDisplayableItemsResponse)を受信したら、カテゴリーIDとビデオIDを組み合わせたリストを含むGetDisplayableItemsMetadata呼び出しを1回送信します。レスポンスには、カテゴリーとビデオに関するメタデータが含まれます。VIDEO、CATEGORY列挙型releaseYear(省略可能)ビデオのリリース年。画面にアイテムを表示する際にリリース年を表示する目的で使用されます。文字列selectionAction(必須)ユーザーがこのアイテムを選択したときのエンティティの閲覧方法についての指示です。検索結果を送信する際、類似するアイテムをグループ化することがあります。映画やテレビ番組は、ジャンル、俳優などでグループ化できます。このような場合、グループを選択してアイテムをドリルダウンすることで、結果をさらに表示することができます。次の列挙値を使用できます。グループ化されたエンティティでブラウズノードアイテムを取得し、結果をさらに表示できることを意味します。この場合、Alexaは最終的に、選択されたエンティティidでGetBrowseNodeItemsを呼び出します。指定のエンティティはグループ化されていないため、選択すれば再生できることを意味します。この場合、Alexaは最終的に、選択されたエンティティidでGetPlayableItemsMetadataを呼び出します。BROWSE、PLAY列挙型thumbnailImage(必須)画像の情報。画面に結果アイテムの画像を表示する目的で使用されます。URLのプレフィックスはhttpsである必要があります。ビデオの再生時間についての詳細。ビデオの再生時間(ミリ秒)。ビデオの再生時間を表すフォーマットされた表示文字列。画面に再生時間を表示する目的で使用されます。ビデオや表示情報でクローズドキャプションが利用できるかどうかについての詳細。オブジェクトstatus(closedCaption)(省略可能)ビデオでクローズドキャプションが利用できるかどうか。次の値を取る列挙値です。ビデオでクローズドキャプションが利用できることを意味します。ビデオでクローズドキャプションが利用できないことを意味します。AVAILABLE、NOT_AVAILABLE列挙型displayString(closedCaption)(省略可能)画面に表示される、クローズドキャプションを表すフォーマットされた表示文字列。文字列series(省略可能)シリーズに関するメタデータ(このアイテムがシリーズの一部である場合)。この情報は、テレビ番組にのみ設定してください。ここに値が設定されている場合は、その情報を使用してユーザーにプロンプトが提供されます(例:「『ビッグバン・セオリー』のシーズン1、エピソード4はこちらです」)。オブジェクトseasonNumber(series)(省略可能)ビデオのシーズン番号。1文字列episodeNumber(series)(省略可能)ビデオのエピソード番号。3文字列episodeName(series)(省略可能)エピソード名。4文字列absoluteViewingPositionMilliseconds(必須)ユーザーの視聴履歴に基づいたビデオの進行状況オフセット(ミリ秒)。ユーザーに視聴履歴がある場合、このフィールドが表すオフセットは0より大きくなります。結果アイテムで進行状況バーを表示して、ユーザーが以前どこまで視聴したかを示す目的で使用されます。1248625長整数parentalControl(必須)ユーザーとビデオに基づくペアレンタルコントロール情報。オブジェクトpinControl(必須)このフィールドは、このビデオのユーザーに対して、設定に基づくペアレンタルコントロールが必要であるかどうかを示します。次の2つの値を取る列挙値です。ユーザーの設定に基づくペアレンタルコントロールがこのアイテムに適用されることを意味します。これが設定されている場合は、アイテムにロックアイコンが表示されます。これにより、そのアイテムにはペアレンタルコントロールが適用されており、ユーザーがビデオを視聴するにはPINの入力が必要であることがわかります。ユーザーの設定に基づくペアレンタルコントロールがこのアイテムには適用されないことを意味します。REQUIRED、NOT_REQUIRED列挙型viewingDisplayString(省略可能)表示文字列は結果アイテムと共に画面に表示され、すぐに再生できるのか、または購入・レンタル・定期購入などが必要なのかをユーザーに示します。非消費型アイテムのステータスに基づいて、異なる文字列を使用できます。この文字列は、リクエストで送信されたロケールに基づいてローカライズする必要があります。ビデオのレビューに関する情報。ビデオの合計レビュー数。情報の基となるレビューのタイプ。上記のタイプとレビューに基づくビデオの評価。検索結果に含まれる各アイテムの下にその評価を表示する目的で使用されます。ビデオのレーティングに関連した情報。ビデオのレーティングカテゴリー(PG-13など)。このレーティングはこのビデオが視聴される地域で適用されます。レーティングの値はコンテンツによっても異なる場合があります。映画の場合はMPAAレーティング(「PG-13」など)を、テレビ番組の場合はテレビレーティング(「TV-PG」など)を送信できます。PG-13、TV-PG文字列recording(省略可能)録画に関連する情報。現在のところ、構造体のフィールドはstatusの1つのみです。Kitによって、recording構造体にほかの情報が追加される可能性があるためです。Kitでこうしたアイテムをグループ化し、将来の要件に合わせて拡張することが可能になります。オブジェクトstatus(recording)(省略可能)コンテンツの録画ステータス。次の列挙値を使用できます。コンテンツが以前に録画されたことを意味します。リクエストの時点でコンテンツが意図的に録画されていることを意味します。コンテンツが将来録画されるようにスケジュールされていることを意味します。RECORDED、RECORDING、SCHEDULED文字列contentFreshness(省略可能)コンテンツの鮮度についての詳細。オブジェクトstate(contentFreshness)(省略可能)Alexaに結果を返しているプロバイダーの新しいコンテンツであるかどうか。使用できる列挙値はNEWのみです。これは、コンテンツが新しいもので、そのプロバイダーでの初回放送であることを意味します。NEW文字列networkDetails(省略可能)番組を放送しているネットワークについての情報。「ビッグバン・セオリー」の新しいエピソードであればCBS、サッカーの生中継であればESPNといった放送局の情報です。オンデマンドコンテンツの場合は、たとえばAmazonプライム・ビデオで配信される「ゲーム・オブ・スローンズ」であれば、制作局のHBOとなります。LIVE)である場合は、そのメタデータがこのオブジェクトに格納されます。リストchannel(省略可能)ビデオを放送しているチャンネルに関する情報。PBSなどのコールサインでチャンネルを指定します。KCTS9といった地方系列局のコールサインでチャンネルを指定します。チャンネルのURIです(「entity://provider/channel/12307」など)。channelMetadata(省略可能)指定されたチャンネルの追加情報を指定します。「FOX」など、チャンネルを識別する別の値。文字列image(channelMetadata)(省略可能)例:http://ecx.images-amazon.com/images/I/81nSh3pZUDL.RI.jpg文字列airingDetails(省略可能)このオブジェクトには、コンテンツがいつ放送されるかの情報が含まれます。リストisLiveBroadcast(省略可能)このコンテンツがリアルタイムで放送されているかどうか。NFLフットボールの試合中継や、アカデミー賞、エミー賞のような授賞式など、リアルタイムで放送されるライブイベントの場合は、trueに設定します。実際に放送される時刻よりも前に撮影されたコンテンツの場合は、falseに設定します(毎週木曜日に放送される「ビッグバン・セオリー」の新しいエピソードなど)。リアルタイムでは二度と行われない過去のフットボールの試合など、一度リアルタイムで配信されたコンテンツの場合も、falseに設定する必要があります。例:true、falseブール型end(省略可能)タイムウィンドウの終了時刻。8601形式の文字列start(省略可能)タイムウィンドウの開始時刻。8601形式の文字列mediaIdentifier(必須)mediaItemの識別子。mediaIdentifierオブジェクトからの画像サイズデータの取得を参照してください。APIは、カタログ内のアイテムに関連する情報を返します。返されるメタデータフィールドの1つがサムネイル画像のURLです。このURLは、検索結果、ランディングページ、カテゴリー選択の画面で表示される画像を読み込む際に使用されます。Showデバイスにはさまざまなサイズと解像度があるため、このURLによって設定される画像コンテナのサイズと解像度もさまざまです。GetDisplayableItemsMetadataが返す画像がリクエスト元のデバイスに適合しない場合、ディスプレイによっては画像がゆがむことがあります。これを回避するには、mediaIdentifierに属するdisplayContextオブジェクトのデータを使用します。displayContextオブジェクトのデータの使用方法displayContextオブジェクトには、次のフィールドがあります。任意リクエストのimageWidthフィールドとimageHeightフィールドにより、使用する画像のサイズを正確に把握できます。画像の最適な縦横比を指定するimageAspectRatioフィールドと、画像サイズを指定するimageSizeフィールドを使用して、画像を調整することも可能です。リクエストされた正確な比率やサイズの画像がない場合、スキルはまずimageAspectRatioを適用し、次にimageSizeを適用することで、画像を自動的に拡大・縮小します。複数の画像を使用する場合、APIはまずimageAspectRatioでマッチングを行い、画像の伸長やトリミングを回避します。各デバイスについて、APIが返す画像プロパティを以下に示します。開発者は、自身で決定した粒度の画像を提供することができます。5を除くすべてのデバイスで拡大表示されます。各デバイスに適した解像度の画像を提供することも可能です。imageSizeのプロパティ以下は、imageSizeフィールドの列挙型プロパティの一覧です。Showデバイスでサポートされる画像サイズサポートされる画像サイズは次のとおりです。無断複写·転載を禁じます。