開発者コンソール

Alexa.UIControllerインターフェース


Alexa.UIControllerインターフェース

UIControllerインターフェースは、よりインテリジェントにユーザーのリクエストに応答するため、アプリのUIの状態を考慮に入れます。UIControllerインターフェースを使用するには、ページ上のすべての要素とフォーカスがある要素をリストにして、UIの状態をAlexaに送信する必要があります。これらの詳細は、AlexaがLambdaに送信するディレクティブに含められます。

UIControllerを実装する場合は、MediaDetailsNavigatorの実装も検討してください。MediaDetailsNavigatorは、UI状態レポートを使用して「ビデオタイトルの詳細を表示する」リクエスト用のディレクティブを提供するAlexaインターフェースです。

詳細な説明

Alexaがよりインテリジェントにユーザーのリクエストに応答するには、ユーザーが画面で見ている要素と、各要素で使用できるアクションをAlexaが把握する必要があります。この情報はUIの状態と呼ばれます。UIの状態には、UIに表示されるアイテムを表すディメンションが2つあります。画面に表示される要素のリスト(状態レポートのuiElementsセクションで報告される)と、フォーカスがある要素(focusedUIElementセクションで報告される)です。

UIの状態をAlexaに通知するには、まずアプリ開発者がUIレポートをAmazonに送信します(特定のAlexaゲートウェイエンドポイントにChangeReportとしてイベントを送信)。これにより、Alexaがさまざまな画面要素を動的にターゲットにできます。たとえば、アプリを起動すると、画面のUI要素の構造化されたリスト(名前、エイリアス、位置、それらのオブジェクトでサポートされるアクションなど)が送信されます。UIが変更されるたびに、AlexaエンドポイントにUIの状態を送信します。

ユーザーが、画面上のUIナビゲーションや選択に関連するリクエスト(「アレクサ、3番を再生して」「アレクサ、[視聴を続ける] を選択して」「アレクサ、ハリーポッターを再生して」「アレクサ、これを再生して」など)を行うと、UIControllerインターフェースからLambdaにActionOnUIElementディレクティブが送信されます。このディレクティブには、以前にAlexaに送信したUIの状態の具体的な詳細情報が含まれています。たとえば、画面上で「Popcorn Movie」というタイトルがリストの2番目の位置にある場合、UIControllerインターフェースはその詳細を含むディレクティブをLambdaに送信します。

UIControllerインターフェースを使用すると、プロフィールや画面上の特定アイテムを音声で選択するなど、アプリのUIで高度な音声操作を行うことができます。

UIControllerとKeypadControllerの違い

UIControllerKeypadControllerと異なるのは、UIControllerはUIの状態を考慮し、送信するディレクティブにUI状態の詳細情報を含める点です。KeypadControllerはステートレスであり、アプリのUIに関する具体的な詳細情報を受け取ることはありません。結果的に、UIControllerの方がより幅広い発話のタイプをサポートできます。

KeypadControllerUIControllerは両方を同時に使用できます。UIの状態が利用可能になると、UIControllerKeypadControllerよりも優先されます。UIの状態が利用できない場合は、KeypadControllerがフォールバックとして使用されます。KeypadControllerを実装していない場合、Fire TVに組み込まれているアプリ内の音声ナビゲーション・選択機能がフォールバックになります。

サポート対象の発話

ユーザーが画面の要素に関連するナビゲーションまたは選択のリクエストを行うと、AlexaはLambdaにActionOnUIElementディレクティブを送信します。UIControllerはUIの状態にアクセスできるため、ほかの発話とは異なり、サポート対象の発話の厳格なセットはありません。サポート対象の発話と機能は、UI状態レポート(後述)で提供する画面上のコンテキストに基づいて動的に制御できます。アプリがサポートする発話は、UI状態レポートで提供する要素によって異なります。

たとえば、「Jakeのウォッチリスト」という要素を3番目の序数として記述した場合、Alexaは「Jakeのウォッチリストに移動して」や「3番目のウォッチリストを選択して」といった発話をサポートします(序数は、1番目、2番目などの位置を示す識別子です)。

状態レポートの詳細に応じて、次の発話とシナリオがサポートされます。

  • 「右/左/上/下にスクロールして」や「右/左/上/下のページに移動して」と話しかけて、リストをスクロールできます(注: 「前にスクロールして」はサポートされていません)。

  • 「もっと表示して/見せて」と話しかけると、ショートリストに表示されていないほかの/すべてのタイトルを表示できます(注: 「すべてを表示して/見せて」はサポートされていません)。

  • 「これ/あれ/最初のもの/1番を選択して/選んで」のように話しかけると、リストからアイテムを選択できます。また、「『Mockingjay』を選択して/再生して/選んで/見せて」のように話しかけて、リスト内のタイトルを再生するようAlexaに指示することもできます。

  • 「右/左/上/下に移動して」、「選択して/選んで/見せて/再生して」の順に発話すると、リモコンのD-Padコントローラーと同様の操作も音声で実行できます。

  • ビデオの詳細ページで、画面に表示される 「ウォッチリストに追加」、「今すぐ観る」、「予告編を観る」などのアクションを実行できます。

  • 最近視聴した番組、ウォッチリスト、おすすめビデオなど、任意のUIの場所に移動できます。

  • ダイアログ画面に応答してオプションを選択できます。リモコンに手を伸ばす必要はありません。

複数のロケールでの発話の例については、次のリストを参照してください。これらの発話には、KeypadControllerRemoteVideoPlayer: SearchAndPlayの発話が含まれます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

Watch this

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

Play this

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

Go up

go down

go left

go right

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

Move up

move down

move left

move right

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

Scroll up

scroll down

scroll left

scroll right

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

Page up

page down

page left

page right

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

Up

Down

Left

Right

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

Select this

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

Show more

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

Show details

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

Next

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

Watch breaking bad

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

俳優で再生
認定に必須

Watch sean connery

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

ジャンル名で再生
認定に必須

Watch comedy

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

シリーズの<タイトル>で再生
認定に必須

Watch star trek

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

メディアタイプで再生
省略可能

Watch a movie

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

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

Watch breaking bad season two

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

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

Watch breaking bad episode five

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

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

Watch breaking bad season two episode five

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

キャラクター名で再生
省略可能

Watch james bond

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

スポーツのチームで再生
省略可能

Watch seahawks

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

スポーツの種類で再生
省略可能

Watch soccer

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

スポーツのリーグで再生
省略可能

Watch n. b. a. league

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

スポーツのイベントで再生
省略可能

Watch soccer game

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

<パートナー>アプリを起動
認定に必須

Launch netflix app

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

Launch a. t. and t. u-verse app

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

Go to control settings

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

Go home

ビューがホーム画面に変わります。

閉じる
省略可能

Close [3P App]

e.g. Close Netflix

アプリまたはスキルが閉じます。

終了
省略可能

Exit [ 3p App]

Exit Netflix

アプリまたはスキルが終了します。

終了
省略可能

Quit [ 3p App]

Quit Netflix

アプリまたはスキルが終了します。

開く
省略可能
Open

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

Not supported

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

joue ça

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

va vers le haut

monte vers le haut

remonte

va en bas

descends

faire défiler vers le bas

va à gauche

aller à gauche

va à droite

aller à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

va vers le haut

monte vers le haut

remonte

navigue en bas

navigue vers le bas

Naviguer à gauche

Naviguer vers la gauche

Naviguer à droite

Naviguer vers la droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

fais défiler vers le haut

fais défiler en haut

faire défiler vers le bas

défiler vers le bas

se déplacer vers le bas

fais défiler à gauche

faire défiler à gauche

défiler à gauche

se déplacer à droite

fais défiler à droite

faire défiler à droite

défiler à droite

se déplacer à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

page vers le haut

Page vers le bas

Page vers la gauche

Page vers la droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

va en haut

monte

faire défiler vers le haut

va en bas

descends

faire défiler vers le bas

fais défiler à gauche

va à gauche

faire défiler à gauche

se déplacer à gauche

aller à gauche

défiler à gauche

fais défiler à droite

va vers la droite

fais défiler vers la droite

déplace-toi vers la droite

aller à droite

défile à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

sélectionne ça

choisis ça

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

montre moi en plus

montre en plus

encore

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

montre des détails

montre moi des détails

voir plus d'infos

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

prochain(e)

suivant(e)

next

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

mets / joue / lance / pars [VideoName] sur [AppName]

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

俳優で再生
認定に必須

regarde un film avec [actor]

mets un film avec [actor]

joue un film avec [actor]

pars un film avec [actor]

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

ジャンル名で再生
認定に必須

regarder un [GenreName]

regarder une [GenreName]

mets un [GenreName]

mets une [GenreName]

joue un [GenreName]

joue une [GenreName

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

シリーズの<タイトル>で再生
認定に必須

regarde [title]

mets [title]

joue [title]

pars [title]

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

メディアタイプで再生
省略可能

regarde un film

mets un film

joue un film

pars un film

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

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

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]

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

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

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]

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

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

Same as fr-FR

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

キャラクター名で再生
省略可能

Not supported

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

スポーツのチームで再生
省略可能

Regarde le [team]

Regarde le match de [team]

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

スポーツの種類で再生
省略可能

Not supported

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

スポーツのリーグで再生
省略可能

Mets [league]

Joue [league]

Regarde [league]

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

スポーツのイベントで再生
省略可能

Not supported

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

<パートナー>アプリを起動
認定に必須

pars [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

pars [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

vas à la configuration

vas aux paramètres

vas à la configuration des contrôles

vas aux paramètres des contrôles

ouvres la configuration

ouvres les paramètres

ouvres la configuration des contrôles

ouvres les paramètres des contrôles

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

retourne au home page

affiche-moi l'écran d'accueil

retourne à l'écran d'accueil

affiche l'accueil

affiche-moi l'accueil ouvre l'accueil

va à l'accueil

affiche la page d'accueil

retourne à la page d'accueil

rentre à l'accueil accueil

ビューがホーム画面に変わります。

閉じる
省略可能

Not supported

アプリまたはスキルが閉じます。

終了
省略可能

sors de là

アプリまたはスキルが終了します。

終了
省略可能

quitte [AppName]

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

Not supported

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

joue ça

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

va vers le haut

monte vers le haut

remonte

va en bas

descends

faire défiler vers le bas

va à gauche

aller à gauche

va à droite

aller à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

va vers le haut

monte vers le haut

remonte

navigue en bas

navigue vers le bas

Naviguer à gauche

Naviguer vers la gauche

Naviguer à droite

Naviguer vers la droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

fais défiler vers le haut

fais défiler en haut

faire défiler vers le bas

défiler vers le bas

se déplacer vers le bas

fais défiler à gauche

faire défiler à gauche

défiler à gauche

se déplacer à droite

fais défiler à droite

faire défiler à droite

défiler à droite

se déplacer à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

page vers le haut

Page vers le bas

Page vers la gauche

Page vers la droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

va en haut

monte

faire défiler vers le haut

va en bas

descends

faire défiler vers le bas

fais défiler à gauche

va à gauche

faire défiler à gauche

se déplacer à gauche

aller à gauche

défiler à gauche

fais défiler à droite

va vers la droite

fais défiler vers la droite

déplace-toi vers la droite

aller à droite

défile à droite

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

sélectionne ça

choisis ça

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

montre moi en plus

montre en plus

encore

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

montre des détails

montre moi des détails

voir plus d'infos

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

prochain(e)

suivant(e)

next

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

mets / joue / lance [VideoName] sur [AppName]

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

俳優で再生
認定に必須

regarde un film avec [actor]

mets un film avec [actor]

joue un film avec [actor]

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

ジャンル名で再生
認定に必須

regarder un [GenreName]

regarder une [GenreName]

mets un [GenreName]

mets une [GenreName]

joue un [GenreName]

joue une [GenreName

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

シリーズの<タイトル>で再生
認定に必須

Regarde [title]

Mets [title]

Joue [title]

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

メディアタイプで再生
省略可能

regarde un film

mets un film

joue un film

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

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

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 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 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]

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

キャラクター名で再生
省略可能

Not supported

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

スポーツのチームで再生
省略可能

Regarde le [team]

Regarde le match de [team]

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

スポーツの種類で再生
省略可能

Not supported

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

スポーツのリーグで再生
省略可能

Mets [league]

Joue [league]

Regarde [league]

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

スポーツのイベントで再生
省略可能

Not supported

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

<パートナー>アプリを起動
認定に必須

lance [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

lance [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

ouvre les paramètres de contrôles

ouvre les paramètres

va aux paramètres

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

affiche-moi l'écran d'accueil

retourne à l'écran d'accueil

affiche l'accueil

affiche-moi l'accueil

ouvre l'accueil

va à l'accueil

affiche la page d'accueil

retourne à la page d'accueil

rentre à l'accueil accueil

ビューがホーム画面に変わります。

閉じる
省略可能

Not supported

アプリまたはスキルが閉じます。

終了
省略可能

sors d'ici

アプリまたはスキルが終了します。

終了
省略可能

quitte [AppName]

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

das anschauen/angucken

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

spiel das ab?

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

geh/e nach oben

nach oben/rauf/hinauf/hoch gehen

gehe hoch

geh rauf/hinauf

nach unten/runter/hinunter gehen

geh runter/nach unten/hinunter

geh nach links

geh nach rechts

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

nach oben bewegen

nach unten bewegen

nach links bewegen

nach rechts bewegen

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

scroll hoch

scroll nach oben

scroll rauf

scrolle hinauf

scrolle hoch

scroll hier/dahin/dorthin runter

scroll zum letzten runter

scroll runter/hinunter/nach unten

runter/hinunter/nach unten scrollen

scroll nach links

scroll links

scroll nach rechts

scroll rechts

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

seite nach oben

seite rauf

seite hinauf

seite hoch

blätter hoch

blätter runter

seite runter/hinunter/nach unten

blätter links

seite nach links

seite links

blätter rechts

seite nach rechts

seite rechts

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

nach oben bewegen

bätter hoch

geh hoch

scroll hoch

scroll nach oben

nach unten bewegen

blätter runter

scroll hier/dahin/dorthin runter geh runter/nach unten

scroll hinunter/nach unten runter/hinunter gehen

seite runter/hinunter/nach unten

nach links bewegen

blätter links

seite nach? links

scroll nach? links

geh nach links

nach rechts bewegen

blätter rechts

seite nach? rechts

scroll nach? rechts

geh nach rechts

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

nimm das

wähl das aus?

klick die an

diese

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

mehr ansehen/sehen

zeig mir mehr

zeig mir mehr davon

zeig mir mehr auf [AppName] zeig mir mehr filme an?

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

details ansehen/sehen

zeig details an

liefere/gib mir mehr details

mehr details

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

nächste

nächstes

das nächste

spring/geh vor

spring/geh vorwärts vor

überspring das

eins weiter/vorwärts

weiter

spring nach vorn

spring nach vorn auf [AppName]/[DeviceBrand]

nächstes im [DeviceLocation]

nächstes auf [DeviceLocation]? [DeviceType]/[DeviceBrand]

gib mir das nächste von [AppName]

nächstes auf allen [DeviceType]

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

ich möchte [VideoName] gucken

spiel [VideoName]

spiel watchlist ab von [VideoName]

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

俳優で再生
認定に必須

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]

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

ジャンル名で再生
認定に必須

spiel eine [GenreName] [MediaType] auf [DeviceType] ab

spiel eine [GenreName] [MediaType] auf [AppName] ab

[GenreName] [MediaType] schauen

spiel einen [GenreName] [MediaType]

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

シリーズの<タイトル>で再生
認定に必須

ich möchte [VideoName] gucken

spiel [VideoName]

spiel watchlist ab von [VideoName]?

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

メディアタイプで再生
省略可能

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]

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

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

spiel [VideoName] [Season] [Season_Numer]

spiel [VideoName] [Season] [Season_Numer] auf [AppName]

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

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

spiel die [Episode_Number] [Episode] von [VideoName]

spiel [VideoName] [Episode_Number]

spiel von [VideoName] [Episode] [Episode_Number]

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

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

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

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

キャラクター名で再生
省略可能

Not supported

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

スポーツのチームで再生
省略可能

spiel [SportsTeam] [Event] auf [AppName]

[SportsTeam] [Event] anschauen/ansehen

das [SportsTeam] [Event] auf [AppName] anschauen/ansehen

spiel das [SportsTeam] [Event] auf meinem [Device]

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

スポーツの種類で再生
省略可能

spiel das [Sport] [Event] auf meinem [Device]

das [Sport] [Event] ansehen

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

スポーツのリーグで再生
省略可能

spiel [SportsTeam] [Event] auf [AppName]

[SportsTeam] [Event] anschauen

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

スポーツのイベントで再生
省略可能

spiel das [Sport] [Event] auf meinem [Device]

das [Sport] [Event] ansehen

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

<パートナー>アプリを起動
認定に必須

starte [AppName]

spiel/öffne [AppName] app

starte [AppName] auf [DeviceBrand]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

starte [AppName]

spiel/öffne [AppName] app

starte AppName auf [DeviceBrand]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

Öffne die Einstellungen

Einstellungen öffnen

Gehe zu den Einstellungen

Zu Einstellungen gehen

Einstellungen aufrufen

Ruf die Einstellungen auf

zeige mir die eintellungen

zeig mir meine w. lan einstellungen

zeig mir meine start seiten einstellungen

zeig meine start seiten feed einstellungen

zeig mir die (toneinstellungen/geräteeinstellungen/erreichbarkeitseinstellungen/bedienungshilfeeinstellungen)

öffne einstellungen

öffne einstellungen auf [AppName]

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

Zum Startbildschirm

Zu Start

Geh nach Hause

Gehe zum Startbildschirm

Zurück zu Start

bring mich zum start bildschirm

bring mich zum home screen

geh zum home screen

geh zur home seite

geh zurück zum start bildschirm

zeig home

zeige mir die start seite

zeig mir den start bildschirm

zu start seite

geh zur start seite

ビューがホーム画面に変わります。

閉じる
省略可能

Not supported

アプリまたはスキルが閉じます。

終了
省略可能

Not Supported

アプリまたはスキルが終了します。

終了
省略可能

Not Supported

アプリまたはスキルが終了します。

開く
省略可能

öffne [AppName]

öffne [AppName] app

öffne [AppName] auf [DeviceBrand]

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

इसे देखो

इसको देखो

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

इसे चलाओ

यह चला दो

इसे चला दो

यह चलाओ

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

ऊपर जाओ

ऊपर करो

नीचे जाओ *

नीचे जाना *

*ambiguity with "move down"

left जाना *

बाएं जाओ *

left पे जाओ *

*ambiguity with "move left"

right जाना

right पे जाओ

दायें जाओ

*ambiguity with "move right"

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

ऊपर जाओ

ऊपर करो

नीचे जाओ *

नीचे जाना *

*ambiguity with "move down"

left जाना *

बाएं जाओ *

left पे जाओ *

*ambiguity with "move left"

right जाना

right पे जाओ

दायें जाओ

*ambiguity with "move right"

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

उपर चलो

ऊपर scroll

ऊपर करो

नीचे scroll करें

नीचे की तरफ scroll करो

scroll down करो

left scroll करो

left की तरफ scroll करो

बायें की तरफ scroll करो

right scroll करो

right की तरफ scroll करो

दाएँ की तरफ scroll करो

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

पेज ऊपर करो

पेज नीचे करो

पेज को left पे ले जाओ

पेज को right पे ले जाओ

पेज को बाएँ ले जाओ

पेज को दाएँ ले जाओ

page नीचे करो

page down करो

page को बाएँ कर दो

page left  करो

page को दाएँ  करो

page right करो

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

ऊपर

ऊपर जाओ

उपर चलो

ऊपर करो

नीचे

नीचे जाओ

नीचे चलो

नीचे करो

left

बाएँ जाओ

बाएँ

बाएँ करो

Right

दाएँ जाओ

दाएँ

दाएँ करो

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

इसे चुनो

इसको select करो

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

और दिखाओ

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

details दिखाओ

जानकारी दिखाओ

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

[GroupDeviceBrand] [HomeAutomationType] पर अगला लगाओ[GroupDeviceBrand] पर अगला लगाओ[GroupDeviceBrand] वाले [HomeAutomationType] पर अगला चलाना[AppName] पर इसके बाद वाला दो[AppName] पर मुझे next वाला दे देनाnext recipe अगली recipe[DeviceLocation] पर इसके बाद वाला दो[LocationNonSpecificQuantity] अगला चलाओ अगला/next [Episode] play करो[DeviceLocation] पर DeviceBrand अगला वाला दो

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

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

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

俳優で再生
認定に必須

[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/देखो

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

ジャンル名で再生
認定に必須

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

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

シリーズの<タイトル>で再生
認定に必須

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

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

メディアタイプで再生
省略可能

[VideoName] movies चलाओ/बजाओ/लगाओ/play/देखो

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

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

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

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

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

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

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

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

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

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

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

キャラクター名で再生
省略可能

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

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

スポーツのチームで再生
省略可能

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

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

スポーツの種類で再生
省略可能

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

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

スポーツのリーグで再生
省略可能

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

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

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

スポーツのイベントで再生
省略可能

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

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

<パートナー>アプリを起動
認定に必須

netflix launch करो/करना/कीजिए/करिएगा

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

facebook app launch करो/करना/कीजिए/करिएगा

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

home पर जाओ/जाना/जाइए/चलो/चलना

home पे जाओ/जाना/जाइए/चलो/चलना

ビューがホーム画面に変わります。

閉じる
省略可能

netflix बंद करना

netflix close करो/कीजिए

アプリまたはスキルが閉じます。

終了
省略可能

1. netflix से बाहर निकलो/निकलना/आओ

2. netflix exit करो/करना

アプリまたはスキルが終了します。

終了
省略可能

netflix quit करना

netflix quit कीजिए

アプリまたはスキルが終了します。

開く
省略可能

netflix खोलो

netflix खोलना

netflix open करना

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

guarda questo

metti questo

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

riproduci questo

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

vai su

Vai giù / scendi

voglio andare verso sinistra

voglio andare verso destra

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

salta su

Passa giù /passa in giù/salta giù / scendi/ salta verso il basso

voglio andare verso sinistra

voglio andare verso destra

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

scorri verso l'alto

scorri giù / scorri verso il basso /scrolla giù

scorri verso sinistra

scorri verso destra

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

pagina in su

pagina di sotto

pagina sinistra/pagina di sinistra

pagina destra/pagina di destra

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

su

giù

verso sinistra

verso destra

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

seleziona questo

scegli questo

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

mostra mi di più

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

fornisci dettagli mostra più dettagli mostra i dettagli

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

prossima / seguente / avanti / salta / successivo

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

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

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

俳優で再生
認定に必須

guarda un film con [ActorName]

metti un film con [ActorName]

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

ジャンル名で再生
認定に必須

guarda una [GenreName]

fammi vedere una commedia

mostra mi una commedia

metti una commedia

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

シリーズの<タイトル>で再生
認定に必須

guarda star trek

fammi vedere star trek

mostra star trek

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

メディアタイプで再生
省略可能

guarda un film

metti un fim

trasmetti un film

riproduci un film

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

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

guarda [VideoName] stagione due

metti [VideoName] stagione due

riproduci [VideoName] stagione due

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

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

guarda [VideoName] episodio cinque

metti [VideoName] episodio cinque

riproduci [VideoName] episodio cinque

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

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

guarda [VideoName] stagione due episodio cinque

metti [VideoName] stagione due episodio cinque

riproduci [VideoName] stagione due episodio cinque

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

キャラクター名で再生
省略可能

guarda [CharacterName]

fammi vedere un film con james bond

mostrami un film di james bond

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

スポーツのチームで再生
省略可能

riproduci la partita del [SportsTeam]

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

スポーツの種類で再生
省略可能

not supported

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

スポーツのリーグで再生
省略可能

trasmetti la partita della [League]

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

スポーツのイベントで再生
省略可能

not supported

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

<パートナー>アプリを起動
認定に必須

lancia [AppName]

apri [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

apri [special character AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

vai alle impostazioni (di controllo)

apri le impostazioni (di controllo)

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

vai alla home

ビューがホーム画面に変わります。

閉じる
省略可能

アプリまたはスキルが閉じます。

終了
省略可能

esci

アプリまたはスキルが終了します。

終了
省略可能

Chiudi [AppName]

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

これ見せて

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

これ を再生して

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

上に行って

下に行って

左側に行って

右の方へ行って

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

上に移動して

下の方へ移動して

左の方へ移動して

右側に移動して

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

上にスクロールして

下にスクロールして

左の方にスクロールして

右側へスクロールして

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

画面の上部へ

ページの下へ

画面の左へ

ページの右の方へ

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

*

 

*

*

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

これ選んで

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

もっと見せて

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

詳細を表示して

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

次 スキップ 次に行って[DeviceLocation]で次に行って[DeviceLocation]の[DeviceBrand]で次に行って[LocationNonSpecificQuantity]で次を再生[Episode]を再生して[VideoName]の[Episode]を再生[DeviceBrand]で再生

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

[VideoName]を再生して [VideoName]を[AppName]で再生して [AppName]で[VideoName][MediaType]を再生して

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

俳優で再生
認定に必須

[ActorNameName]が出ている[MediaType]を再生

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

ジャンル名で再生
認定に必須

[AppName]で[GenreNameName][MediaType]を再生[AppName]で[GenreNameName]を再生

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

シリーズの<タイトル>で再生
認定に必須

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

メディアタイプで再生
省略可能

[VideoName]を再生して [VideoName]を<AppName]で再生して [AppName]で[VideoName][MediaType]を再生して

[MediaType]を再生して

[ActorNameName]が出ている[MediaType]を再生

[Anaphor][MediaType]を流して

[AppName]で[GenreNameName][MediaType]を再生

[AppName]で[VideoName][MediaType]を再生して

[ChannelName]の[MediaType]を再生

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

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

[VideoName]の[Season][Season_Number]の

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

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

[Episode_Number][Episode]を再生

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

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

[Episode_Number][Episode]を再生

[VideoName]の[Season][Season_Number]の

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

キャラクター名で再生
省略可能

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

スポーツのチームで再生
省略可能

[SportsTeam]の[Event]を[AppName]で見せて

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

スポーツの種類で再生
省略可能

[SportsTeam]の[Event]を[AppName]で見せて

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

スポーツのリーグで再生
省略可能

[SportsTeam]の[Event]を[AppName]で見せて

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

スポーツのイベントで再生
省略可能

[SportsTeam]の[Event]を[AppName]で見せて

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

<パートナー>アプリを起動
認定に必須

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

設定を開いて

設定を見せて

設定に戻って

設定に行って

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

[TargetName]に行って

ビューがホーム画面に変わります。

閉じる
省略可能

アプリまたはスキルが閉じます。

終了
省略可能

[3p App]を閉じて

アプリまたはスキルが終了します。

終了
省略可能

[3p App]を終了して

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

Assistir/assista/assiste isso

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

Reproduzir/Reproduza/Reproduz isso

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

Subir/suba/sobe

Vá/vai/ir para baixo

Vá/vai/ir para esquerda

Vá/vai/ir para direita

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

Mover/mova/move pra cima

Mova/move/mover para baixo

Mova/move/mover para a esquerda

Mova/move/mover para direita

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

Rolar/rola/role para cima

Rola/role/rolar para baixo

Rola/role/rolar para a esquerda

Rola/role/rolar para a direita

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

página para cima/ ir para cima na página

Página para baixo

Pagina para esquerda

Página para direita

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

Ir/vai/vá pra cima

Ir/vai/vá pra baixo

Ir/vai/vá pra esquerda

Ir/vai/vá pra direita

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

escolher isso/esse/essa

selecionar isso/essa/ esse

esse aqui / esse/ essa aqui/ essa/ isso aqui/ isso

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

Mostrar/mostra/mostre mais

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

ver todos os detalhes do progama/show

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

próximo/próxima

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

tocar/assistir/reproduzir [VideoName] no/na [AppName]

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

俳優で再生
認定に必須

assistir [ator]

colocar [ator]

coloque filmes com [ator]

encontre filmes com [ator]

me mostre filmes com [ator]

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

ジャンル名で再生
認定に必須

assitir [GenreName]

assistir programas de [GenreName]

programas de [GenreName]

colocar [GenreName]

por favor reproduzir [GenreName]

reproduzir programas de [GenreName]

colocar um programa de [GenreName]

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

シリーズの<タイトル>で再生
認定に必須

assitir jornada nas estrelas

colocar jornada nas estrelas

reproduzir jornada nas estrelas

você pode passsar jornada nas estrelas

por favor reproduzir jornada nas estrelas

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

メディアタイプで再生
省略可能

assistir um filme

colocar um filme

nós podemos assistir um filme

ver um filme

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

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

assistir [title] temporada [x]

colocar [title] temporada [x]

reproduzir [title] temporada [x]

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

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

assistir [title] episódio [x]

colocar [title] episódio [x]

reproduzir [title] episódio [x]

reproduzir o [title] episódio [x]

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

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

assistir [title] temporada [x] episódio [x]

colocar [title] temporada [x] episódio [x]

reproduzir [title] temporada [x] episódio [x]

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

キャラクター名で再生
省略可能

Not Supported

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

スポーツのチームで再生
省略可能

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]

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

スポーツの種類で再生
省略可能

assistir [Sport]

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

スポーツのリーグで再生
省略可能

assistir [League]

colocar [League]

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

スポーツのイベントで再生
省略可能

not supported

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

<パートナー>アプリを起動
認定に必須

abrir [AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

abrir [special character AppName]

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

vá para Configurações

ir para Configurações

abrir Configurações

abra Configurações

Configurações

acessar Configurações

acesse Configurações

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

vá para a página principal/ vá para a tela principal

ビューがホーム画面に変わります。

閉じる
省略可能

fechar [AppName]

アプリまたはスキルが閉じます。

終了
省略可能

Sair [AppName]

sai [AppName]

saia [AppName]

アプリまたはスキルが終了します。

終了
省略可能

sair do [AppName]

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

機能 サンプル発話 想定されるレスポンス
これを観る
認定に必須

ver lo*

ver este*

フォーカスがあるメディアの再生が開始されます。

これを再生
認定に必須

reproduce esto

reproduce este

フォーカスがあるメディアの再生が開始されます。

方向ナビゲーション - 行く
認定に必須

ve te arriba

ve te abajo

ve te a la izquierda

ve a la izquierda

ve te a la derecha

ve a la derecha

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向ナビゲーション - 移動
認定に必須

muéve te hacia arriba

muéve te hacia abajo

muéve te hacia izquierda

muéve te hacia derecha

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右へ移動します。

方向スクロール
認定に必須

despláza te hacia arriba

despláza te para arriba

despláza te hacia abajo

despláza te para abajo

despláza te hacia izquierda

despláza te para izquierda

despláza te hacia derecha

despláza te para derecha

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右にスクロールします。

ページ内で移動
認定に必須

arriba de la página

abajo de la página

izquierda de la página

derecha de la página

D-Padコントローラーで上下左右を押した場合と同様に、アプリ内のページを上下左右に移動します。

動詞のない方向ナビゲーション
認定に必須

ve te arriba

ve te abajo

izquierda

ve te a la derecha

ve a la derecha

D-Padコントローラーで上下左右を押した場合と同様に、アプリが上下左右に移動します。

これ(それ)を選択する/選ぶ
認定に必須

selecciona esto

selecciona este

selecciona aquel

フォーカスが置かれている対象が選択されます。

もっと表示する/見る
省略可能

muestra más

muestra qué más hay

quiero ver algo más

veamos un poco más

veamos algo más

さらに多くのアイテムが表示されます。たとえば、リストに表示されるアイテム数が限られている場合は、さらに多くのアイテムが取得されて表示されます。

詳細(情報)を表示する/見る
省略可能

muestra detalles

enseña detalles

ver detalles

さらに詳細な情報が表示されます。たとえば、情報が切り詰められている場合は、詳細情報が表示されます。

次のページを取得
認定に必須

siguiente

salta

muestra el siguiente

siguiente en el sonos

próxima en el jardín

次のページの結果が画面に表示されます。

<タイトル>を再生
認定に必須

pon interstellar

reproduce interstellar

ver interstellar

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

俳優で再生
認定に必須

pon salma hayek

reproduce salma hayek

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

ジャンル名で再生
認定に必須

pon comedia en netflix (Not supported without AppName)

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

シリーズの<タイトル>で再生
認定に必須

pon star wars

reproduce star wars

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

メディアタイプで再生
省略可能

pon la película*

reproduce la película*

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

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

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

empieza la segunda temporada de los rompecorazones

comienza la segunda temporada de los rompecorazones

reproduce la segunda temporada de los rompecorazones

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

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

pon el capítulo final de los serrano

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

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

pon el segundo episodio de la primera temporada de anabel

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

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

キャラクター名で再生
省略可能

reproduce algo con james bond

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

スポーツのチームで再生
省略可能

ver el partido del real madrid

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

スポーツの種類で再生
省略可能

reproduce el partido de fútbol en mi televisor

ver el partido de fútbol en mi tele

ver el partido de fútbol

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

スポーツのリーグで再生
省略可能

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

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

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

スポーツのイベントで再生
省略可能

ver el partido de fútbol

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

<パートナー>アプリを起動
認定に必須

lanza la app de netflix

lanza netflix

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

特殊文字のタイトルを起動
認定に必須

lanza i. b. e. x. treinta y cinco

リクエストされたアプリが起動し、再生可能なメディアのリストが表示されます。マルチモーダルデバイスには、異なるカテゴリーに分類される可能性のあるメディアが表示されるホームページテンプレートがあります。

コントロールの設定に移動

abre configuración

ve a configuración

ve te a configuración

configuración

ir a configuración

abrir configuración

ビューがコントロールの設定に変わります。

ホーム画面に移動
省略可能

página inicial

ir a la página principal

lléva me a la página principal

pantalla de inicio

menú de inicio

pantalla principal

menú principal

ビューがホーム画面に変わります。

閉じる
省略可能

cierra netflix

アプリまたはスキルが閉じます。

終了
省略可能

cierra netflix

アプリまたはスキルが終了します。

終了
省略可能

quitar netflix

アプリまたはスキルが終了します。

開く
省略可能

アプリまたはスキルが開きます。

UI状態レポートの送信

ユーザーの画面に現在表示されているアイテムについてAlexaに通知するために、UI状態レポートを送信する必要があります。

VSK対応アプリ

VSK対応アプリの場合、Alexa Client Library経由でUI状態レポートを送信します。UIコントローラーを使用するには、Alexa Client Libraryバージョン1.4.9以降が必要です。Alexa Client Libraryのダウンロードとインストールの詳細については、手順3: Alexa Client Libraryを統合するを参照してください。

手順1 - Alexa Client Libraryのサポート対象機能にUIコントローラーを追加する

UI状態レポートを送信する前に、Alexa Client LibraryにUIコントローラーのサポートを追加する必要があります。initializeAlexaClientメソッドで、getAlexaUIControllerCapabilitysupportedCapabilitiesのリストに追加します。

private void initializeAlexaClient() {
     // AlexaClientManagerの共有インスタンスを取得します。
     final AlexaClientManager clientManager = AlexaClientManager.getSharedInstance();

     // スキルIDを収集します。
     final String alexaSkillId = "<スキルIDを挿入>";

     // スキルでサポートされている機能のリストを作成します。
     final List<AlexaVideoCapability> supportedCapabilities = new ArrayList<>();
     supportedCapabilities.add(getAlexaChannelControllerCapability());
     supportedCapabilities.add(getAlexaPlaybackControllerCapability());
     supportedCapabilities.add(getAlexaRemoteVideoPlayerCapability());
     supportedCapabilities.add(getAlexaSeekControllerCapability());
     supportedCapabilities.add(getAlexaKeypadControllerCapability());
     supportedCapabilities.add(getAlexaUIControllerCapability()); //UIコントローラーのサポートを追加します。

手順2 - Alexa Client Libraryを使用してUIレポートを送信する

UI状態レポートを送信するには、Alexa Client LibraryのAlexaClientManagerクラスのsetUIStateメソッドを呼び出します。

public AlexaClientManager setUIState(Map<String, String> states) {
    Log.i(TAG, "setUIState");
    alexaClientEventManager.onUIStateSet(states);
    return this;
    }

setUIStateメソッドは、statesパラメーターを受け取ります。statesパラメーターは、画面に表示される要素を表すユーザーインターフェースプロパティのマップです。設定するプロパティ名(uiElementsfocusedUIElement)を表すキー文字列は、このプロパティに関連付けられた値キーのJSONエンコードコンテンツである値の文字列と一致します。

VSK対応デバイス

サードパーティ製デバイスの場合は、UIの状態で実行可能な変更があるたびに、UI状態レポートをPOSTリクエストとしてAlexaイベントゲートウェイエンドポイントに送信します。UI状態レポートイベントを送信する手順を以下に示します。

手順1 - イベントを送信するアクセス権限をリクエストする

UI状態レポートイベントはAlexaイベントゲートウェイに送信されます。Alexaイベントゲートウェイでは、ユーザーごとに認証トークンが必要です。Alexaコンソールでスキルを検索し、左側の [アクセス権限] タブを選択して、[Alexaイベントを送る] をオンにします。この画面に表示されるAlexaクライアントIDとAlexaクライアントシークレットを記録します。これらは次の手順で、Login with Amazon(LWA)によるユーザー認証に使用されます。詳細については、Alexaドキュメントのスキルのカスタマー情報のアクセス権限を参照してください(状態レポートはAlexaスマートホームAPIでよく使用されます)。

手順2 - AcceptGrantディレクティブを処理するコードを追加する

Alexaイベントを送信するアクセス権限をリクエストすると、スキルのLambda関数がユーザーごとにAcceptGrantディレクティブを受け取ります。AcceptGrantディレクティブには、ユーザーの認証トークンの取得に使用する認可コードが含まれています。ユーザーがいるリージョンと同じリージョンで、トークンを取得して格納するためのコードを追加する必要があります。AcceptGrantディレクティブの例を以下に示します。

{
  "directive": {
    "header": {
      "namespace": "Alexa.Authorization",
      "name": "AcceptGrant",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "payload": {
      "grant": {
        "type": "OAuth2.AuthorizationCode",
        "code": "VGhpcyBpcyBhbiBhdXRob3JpemF0aW9uIGNvZGUuIDotKQ=="
      },
      "grantee": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      }
    }
  }
}

AcceptGrantディレクティブのペイロードの詳細

フィールド 説明
grant Amazon Alexaシステムでユーザーを識別する情報です。 オブジェクト
grant.type グラントのタイプです。現在、有効な値はOAuth2.AuthorizationCodeのみです。 文字列
grant.code ユーザーの認可コードです。 文字列
grantee リンクされたアカウントサービスまたはシステムでユーザーを識別する情報です。 オブジェクト
grantee.type 認可されるユーザーのタイプです。現在、有効な値はBearerTokenのみです。 文字列
grantee.token アカウントのリンクプロセス中にAlexaが受け取るユーザーアクセストークンです。 文字列

AcceptGrantディレクティブが正常に処理された場合は、AcceptGrant.Responseイベントで応答します。

AcceptGrantレスポンスイベントの例

{
  "event": {
    "header": {
      "namespace": "Alexa.Authorization",
      "name": "AcceptGrant.Response",
      "messageId": "<メッセージID>",
      "payloadVersion": "3"
    },
    "payload": {}
  }
}

AcceptGrantディレクティブを正常に処理できない場合は、Alexa.Authorization.ErrorResponseイベントで応答します。処理が失敗する理由の一部を以下に示します。

  • Login with Amazonを呼び出して、アクセストークンやリフレッシュトークンの認可コードを交換することができません。
  • ユーザーのアクセストークンやリフレッシュトークンを格納できません。
  • アクセストークンやリフレッシュトークンの取得と保存を試行中に何らかのエラーが発生しました。

Alexa.Authorization.ErrorResponseの例を以下に示します。

{
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa.Authorization",
      "name": "ErrorResponse",
      "payloadVersion": "3"
    },
    "payload": {
      "type": "ACCEPT_GRANT_FAILED",
      "message": "<理由>のため、AcceptGrantディレクティブを処理できませんでした"
    }
  }
}

AcceptGrantの処理中にエラーが発生すると、ユーザーはスキルを有効にできなくなります。

詳細については、次のリンク先を参照してください。

手順3 - 検出中にプロパティがプロアクティブに報告されることを指定する

AlexaはDiscoveryインターフェースを介してDiscoverディレクティブを送信し、アプリの機能を把握します。UIControllerインターフェースのサポートを宣言するだけでなく、検出中に変更レポートを送信するよう指定する必要があります。そのためには、検出レスポンスでプロパティがproactivelyReportedであることを示します。

Discoverディレクティブへのレスポンスを構成して、UIController機能のサポートを示す方法は次のとおりです。

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3.0",
            "messageId": "abc-123-def-456"
        },
        "payload": {
            "endpoints": [
                {
                    "endpointId": "uniqueIdOfEndpoint",
                    "friendlyName": "リビングルームのテレビ",
                    "description": "ユーザー向けに表示される説明",
                    "cookie": {

                    },
                    "capabilities": [
                        {
                            "type": "AlexaInterface",
                            "interface": "Alexa.UIController",
                            "version": "3.0",
                            "properties": {
                                "supported": [
                                    {
                                        "name": "uiElements"
                                    },
                                    {
                                        "name": "focusedUIElement"
                                    }
                                ],
                                "proactivelyReported": true,
                                "retrievable": false
                            }
                        }
                    ]
                }
            ]
        }
    }
}
MediaDetailsNavigatorのサポートの宣言

MediaDetailsNavigatorインターフェースもサポートする予定がある場合は、ここでその機能を宣言できます。MediaDetailsNavigatorインターフェースを使用すると、画面上の特定のアイテムに関する詳細を表示するユーザーリクエストを処理できます。詳細については、MediaDetailsNavigatorUI状態レポートの送信セクションを参照してください。

状態レポートと認可の全般的な情報については、以下を参照してください。

手順4 - AlexaイベントゲートウェイにUI状態レポートを送信する

最後の手順として、レポート可能なプロパティが変更されたときに、AlexaイベントゲートウェイへのUI状態レポートの送信を開始します。何らかの理由でUIの状態が変わったら、UI状態レポートを送信します。イベントゲートウェイに送信する各メッセージには、HTTPヘッダーとメッセージの本文に認証トークンを含める必要があります。

UI状態をAlexaイベントゲートウェイに送信するには、次のようにリクエストヘッダーを送信します。

POST /v3/events HTTP/1.1
Host: api.amazonalexa.com
Authorization: Bearer <access-token-from-Amazon>
Content-Type: application/json

<access-token-from-Amazon>は、上記の手順2で取得した実際の認証トークンに変更してください。) リクエスト本文には、UI状態レポートの例とスキーマで説明されているように、UI状態の詳細を含むJSONオブジェクトが含まれている必要があります。詳細については、次のセクションの [例] タブを参照してください。

認可の詳細については、Alexaドキュメントの以下の項目を参照してください。

UI状態レポートの例とスキーマ

以下のタブでは、UI状態レポートの例(サンプル入力値を表示)とスキーマ(例ではなくデータ型を表示)を示します。スキーマの視覚的な階層もツリー図で示しています。

POST /v3/events HTTP/1.1
Host: api.amazonalexa.com
Authorization: Bearer <access-token-from-Amazon>
Content-Type: application/json

{
    "context": {
        "properties": [

        ]
    },
    "event": {
        "header": {
            "messageId": "abc-123-def-456",
            "namespace": "Alexa",
            "name": "ChangeReport",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "AMAZON.BearerToken",
                "token": "access-token-from-Amazon"
            },
            "endpointId": "endpoint-001"
        },
        "payload": {
            "change": {
                "cause": {
                    "type": "PHYSICAL_INTERACTION"
                },
                "properties": [
                    {
                        "namespace": "Alexa.UIController",
                        "name": "uiElements",
                        "value": {
                            "scene": {
                                "sceneId": "sceneId-001"
                            },
                            "elements": [
                                {
                                    "elementId": "elementId_10",
                                    "entity": {
                                        "type": "AMAZON.ItemList"
                                    },
                                    "uiSupportedActions": [
                                        "SCROLL_DOWN",
                                        "SCROLL_FORWARD"
                                    ],
                                    "elements": [
                                        {
                                            "elementId": "elementId_11",
                                            "entity": {
                                                "type": "AMAZON.VideoObject",
                                                "name": {
                                                    "value": "スーパーバッド 童貞ウォーズ"
                                                },
                                                "externalIds": {
                                                    "externalIdNamespace": "e99e067f-9112-4642-9853-b6401322964d"
                                                }
                                            },
                                            "ordinal": 1,
                                            "uiSupportedActions": [
                                                "SELECT"
                                            ]
                                        },
                                        {
                                            "elementId": "elementId_12",
                                            "entity": {
                                                "type": "AMAZON.VideoObject",
                                                "name": {
                                                    "value": "ジム・キャリーはMr.ダマー"
                                                },
                                                "externalIds": {
                                                    "mediaBrowseId": "d9fd6168-81b8-4a28-a660-ba35141ca5b6"
                                                }
                                            },
                                            "ordinal": 2,
                                            "uiSupportedActions": [
                                                "SELECT"
                                            ]
                                        },
                                        {
                                            "elementId": "elementId_13",
                                            "entity": {
                                                "type": "AMAZON.VideoObject",
                                                "name": {
                                                    "value": "ハングオーバー!消えた花ムコと史上最悪の二日酔い"
                                                },
                                                "externalIds": {
                                                    "mediaBrowseId": "08cb2390-2511-4df7-84c4-457a98fb738c"
                                                }
                                            },
                                            "ordinal": 2,
                                            "uiSupportedActions": [
                                                "SELECT"
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        "timeOfSample": "2017-02-03T16:20:50.52Z",
                        "uncertaintyInMilliseconds": 0
                    },
                    {
                        "namespace": "Alexa.UIController",
                        "name": "focusedUIElement",
                        "value": {
                            "scene": {
                                "sceneId": "sceneId-001"
                            },
                            "element": {
                                "elementId": "elementId_11",
                                "entity": {
                                    "type": "AMAZON.VideoObject",
                                    "name": {
                                        "value": "スーパーバッド 童貞ウォーズ"
                                    },
                                    "externalIds": {
                                        "externalIdNamespace": "e99e067f-9112-4642-9853-b6401322964d"
                                    }
                                },
                                "ordinal": 1,
                                "uiSupportedActions": [
                                    "SELECT"
                                ]
                            }
                        },
                        "timeOfSample": "2017-02-03T16:20:50.52Z",
                        "uncertaintyInMilliseconds": 0
                    }
                ]
            }
        }
    }
}
{
  "context": {
    "properties": []
  },
  "event": {
    "header": {
      "messageId": string,
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": string
      },
      "endpointId": string
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": string
              },
              "elements": [
                {
                  "elementId": string,
                  "entity": {
                    "type": enum<EntityTypes>
                  },
                  "uiSupportedActions": [
                    list<uiSupportedActions>
                  ],
                  "elements": [
                    {
                      "elementId": string,
                      "entity": {
                        "type": enum<EntityTypes>,
                        "name": {
                          "value": string
                        },
                        "externalIds": {
                          map<String>
                        }
                      },
                      "ordinal": Integer,
                      "uiSupportedActions": [
                      list<uiSupportedActions>
                      ]
                    }
                  ]
                }
              ]
            },
            "timeOfSample": string (ISO 8601),
            "uncertaintyInMilliseconds": integer
          },
          {
            "namespace": "Alexa.UIController",
            "name": "focusedUIElement",
            "value": {
              "scene": {
                "sceneId": string
              },
              "element": {
                "elementId": string,
                "entity": {
                  "type": enum<EntityTypes>,
                  "name": {
                    "value": string,
                    "variants": string
                  },
                  "externalIds": {
                    map<String>
                  }
                },
                "ordinal": Integer,
                "uiSupportedActions": [
                  list<uiSupportedActions>
                ]
              }
            },
            "timeOfSample": string (ISO 8601),
            "uncertaintyInMilliseconds": integer
          }
        ]
      }
    }
  }
}
object
├── context object
│   └── properties array[object]
└── event object
    ├── header object
    │   ├── messageId string
    │   ├── namespace enum => "Alexa"
    │   ├── name enum => "ChangeReport"
    │   └── payloadVersion string => "3"
    ├── endpoint object
    │   ├── scope object
    │   │   ├── type enum => "AMAZON.BearerToken"
    │   │   └── token string
    │   └── endpointId string
    └── payload object
        └── change object
            ├── cause object
            │   └── type enum => "PHYSICAL_INTERACTION"
            └── properties array[object]
                ├── namespace enum => "Alexa.UIController"
                ├── name enum => "uiElements"
                └── value object
                    ├── scene object
                    │   └── sceneId string
                    ├── elements array[object]
                    │   ├── elementId string
                    │   ├── entity object
                    │   │   └── type enum => Enum<EntityTypes>
                    │   ├── uiSupportedActions array[enum] => Enum<uiSupportedActions>
                    │   └── elements array[object]
                    │       ├── elementId string
                    │       ├── entity object
                    │       │   ├── type => Enum<EntityTypes>
                    │       │   ├── name object
                    │       │   │   ├── value string
                    │       │   │   └── variants string
                    │       │   └── externalIds map
                    │       ├── ordinal integer
                    │       └── uiSupportedActions array[enum] => Enum<uiSupportedActions>
                    ├── timeOfSample string ISO 8601
                    ├── uncertaintyInMilliseconds integer
                    ├── namespace enum => "Alexa.UIController"
                    ├── name enum => "focusedUIElement"
                    └── value object
                        ├── scene object
                        │   └── sceneId string
                        ├── element object
                        │   ├── elementId string
                        │   ├── entity object
                        │   │   ├── type enum => Enum<EntityTypes>
                        │   │   └── name object
                        │   │       ├── value string
                        │   │       └── variants string
                        │   └── uiSupportedActions array[enum] => Enum<uiSupportedActions>
                        ├── timeOfSample string
                        └── uncertaintyInMilliseconds integer

contextオブジェクトとpropertiesオブジェクトは、Fire TVの実装では使用されません。contextオブジェクトに含まれるのは、ほかのAlexaコンポーネント(Alexa.PowerStateなど)からの更新のみです。変更レポートイベントがトリガーされたとき、ほかのコンポーネントからの状態の更新がない場合は空のままにします。)

データ構造

このセクションでは、上記の状態レポートスキーマのデータ構造について説明します。これらのツリー図は上記のスキーマに似ていますが、ここではUI状態レポートのuiElementsセクションとfocusedUIElementセクションに必要なスキーマを対にして示します。

uiElementsfocusedUIElementのスキーマ

properties配列には、2つの主要なオブジェクトがあります。1つはuiElementsnamespaceで、もう1つはfocusedUIElementnamespaceです。この2つのスキーマは若干異なります。

  • uiElementsは、画面上のすべての要素をリストします。このセクションでは、elements配列(複数形)が使用されます。同じようにelementsと呼ばれる入れ子になった配列も含まれ、サブ要素の省略可能なリストを提供できます。
  • focusedUIElementには、フォーカスがある要素がリストされます。このセクションではelementオブジェクト(単数形)が使用されます。

以下のタブでは、uiElementsリストとfocusedUIElementリストのそれぞれ異なるスキーマを示します。

├── namespace enum => "Alexa.UIController"
├── name enum => "uiElements"
└── value object
    ├── scene object
    │   └── sceneId string
    ├── elements array[object]
    │   ├── elementId string
    │   ├── entity object
    │   │   └── type enum => Enum<EntityTypes>
    │   ├── uiSupportedActions array[enum] => Enum<uiSupportedActions>
    │   └── elements array[object]
    │       ├── elementId string
    │       ├── entity object
    │       │   ├── type => Enum<EntityTypes>
    │       │   ├── name object
    │       │   │   ├── value string
    │       │   │   └── variants string
    │       │   └── externalIds map
    │       ├── ordinal integer
    │       └── uiSupportedActions array[enum] => Enum<uiSupportedActions>
    ├── timeOfSample string ISO 8601
    └── uncertaintyInMilliseconds integer
├── namespace enum => "Alexa.UIController"
├── name enum => "focusedUIElement"
└── value object
    ├── scene object
    │   └── sceneId string
    ├── element object
    │   ├── elementId string
    │   ├── entity object
    │   │   ├── type enum => Enum<EntityTypes>
    │   │   └── name object
    │   │       ├── value string
    │   │       └── variants string
    │   └── uiSupportedActions array[enum] => Enum<uiSupportedActions>
    ├── timeOfSample string
    └── uncertaintyInMilliseconds integer

ペイロードの定義

次の表は、送信するUI状態レポートのペイロードを定義したものです。uiElementsセクションとfocusedUIElementセクションで繰り返される要素(uiSupportedActionsなど)の定義は同じです。

ペイロードの説明
フィールド 説明 データ型
change
必須
状態の変更に関する詳細が含まれます。 オブジェクト
cause
必須
状態の変更の理由を示します。

オブジェクト
type
必須
状態の変更のタイプです。Fire TVの実装で使用できるオプションは AMAZON.PHYSICAL_INTERACTIONです。

列挙型
properties
省略可能
状態変更に関する詳細が含まれます。properties要素には、uiElements(要素のリスト)とfocusedUIElementオブジェクトの両方に関する状態変更の詳細が含まれます。

配列
namespace
必須
ペイロードの名前空間です。Fire TVの実装で使用できるオプションは Alexa.UIControllerです。

文字列
name
必須
ペイロードのインターフェースの名前です。uiElementfocusedUIElementの2つのオプションを使用できます。要素のリストを提供する場合は、uiElementを使用します。フォーカスがある要素についてレポートする場合は、focusedUIElementを使用します。詳細とコンテキストについては、UI状態レポートの例を参照してください。

例:uiElements

文字列
value
省略可能
ユーザーの画面上の要素を記述するsceneオブジェクトが含まれます。

オブジェクト
scene
必須
ユーザーのUIに表示されるシーンに関する情報を含むsceneIdプロパティが含まれます。

オブジェクト
sceneId
必須
ユーザーのUIでレンダリングされたシーンのIDです。

例:sceneId-001

文字列
elements
省略可能
このシーンでレンダリングされたUI要素のリストです。uiElements状態レポートでのみ使用されます。

配列
element
必須
このシーンでビジュアルフォーカスがある要素です。focusedUIElement状態レポートでのみ使用されます。

List<Element>
entity
必須
この要素を記述するThing(汎用オブジェクト)です。

オブジェクト
type
必須
このエンティティのタイプです。詳細については、Enum<EntityTypes>セクションを参照してください。

例: AMAZON.ItemList

Enum<EntityTypes>
name
省略可能
このエンティティの名前です。valuevariantsの2つのプロパティが含まれます。

オブジェクト
value
省略可能
このエンティティの推奨名です。

例: Superbad

文字列
variants
省略可能
このエンティティを参照するために使用される追加の名前です。

例: Extremebad

文字列
externalIds
省略可能
このエンドポイントの範囲内で一意である、このエンティティの識別子です。entity.externalIdsフィールドはAlexaからは認識できず、Alexaからのディレクティブに含める場合にのみ使用されます。entity.externalIdsで報告される識別子は、エンティティ構造を受け入れるすべてのディレクティブコマンドのエンドポイントで理解される必要があります。

例:"mediaBrowseId": "d9fd6168-81b8-4a28-a660-ba35141ca5b6"

Map<String, String>
elementId
必須
報告されたシーンの範囲内で一意である、このUI要素の識別子です。elementIdフィールドはAlexaからは認識できず、Alexaからこのエンドポイントへのディレクティブに含める場合にのみ使用されます。エンドポイントは、ディレクティブコマンドのレスポンスとしてレンダリングされたUIでこの要素を特定するために必要な情報を含めるために、このフィールドを使用します。

例:elementId_11

文字列
ordinal
省略可能
音声による選択で使用できる要素の番号です。たとえば、この値が1の場合、「アレクサ、1番を選択して」と話しかけるとこの要素が選択されます。

例: 1番

整数
uiSupportedActions
必須
ユーザーがUIControllerインターフェースを介してこのUI要素で実行できるアクションを列挙したリストです。詳細については、Enum<uiSupportedActions>を参照してください。

例: SELECT

列挙型
elements
省略可能
入れ子になったUI要素のリスト(省略可能)です。この要素はuiElementsに固有です。

List<ElementWithChildren>
timeOfSample
省略可能
プロパティ値が記録された時刻です。

例: 2018-02-03T16:20:49.52Z

ISO 8601形式の時刻
uncertaintyInMilliseconds
省略可能
プロパティ値が前回確認された時点からの経過時間(ミリ秒)です。

例: 0

整数

Enum<EntityTypes>

entitytype列挙型では、以下のオプションを使用できます。

  • AMAZON.VideoObject: UIでレンダリングされたビデオアイテムを表すエンティティタイプです。このエンティティは、さまざまな種類のビデオ(映画、TV番組、予告編など)を抽象化したものです。画面の例:

    例:この画面の「インターステラー」
    例: この画面の「インターステラー」
  • AMAZON.ItemList: アイテムのリストを表すエンティティタイプです。このエンティティを使用して、同じタイプまたは異なるタイプのエンティティのコレクションを表します。画面の例:

    例:この画面の「最近観たアイテム」
    例: この画面の「最近観たアイテム」
  • AMAZON.SoftwareApplication: ソフトウェアアプリを表すエンティティタイプです。画面の例:

    例:この画面の「IMDb TV」
    例: この画面の「IMDb TV」
  • AMAZON.Thing: 特定のタイプがAPIインテグレーターにとって不明であるか、UIController APIの仕様で定義されていない汎用エンティティを表すエンティティタイプです(MediaDetailsNavigatorでは、このエンティティタイプに関する詳細を表示できません)。 画面の例:

    例:この画面から「はじまりへの旅」を報告するスクリーンリーダーアプリ
    例: この画面から「はじまりへの旅」を報告するスクリーンリーダーアプリ

Enum<uiSupportedActions>

uiSupportedActions列挙型では、以下のオプションを使用できます。

名前 説明 想定されるディレクティブの処理
SELECT UI要素を選択するアクション アプリは、提供された要素を1回クリックするのと同じ処理を行う必要があります。
EXPAND UI要素で「展開する」または「詳細を表示する」アクション アプリは、提供された要素の非表示のコンテンツ、隠れているコンテンツ、切り詰められたコンテンツ、その他の展開可能なコンテンツを展開する必要があります。
SCROLL_RIGHT スクロール可能な要素で右方向にスクロールするアクション アプリは、指定された要素で右方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。
SCROLL_LEFT スクロール可能な要素で左方向にスクロールするアクション アプリは、指定された要素で左方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。
SCROLL_UP スクロール可能な要素で上方向にスクロールするアクション アプリは、指定された要素で上方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。
SCROLL_DOWN スクロール可能な要素で下方向にスクロールするアクション アプリは、指定された要素で下方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。
SCROLL_FORWARD スクロール可能な要素で順方向に移動するアクション アプリは、指定された要素で順方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。
SCROLL_BACKWARD スクロール可能な要素で逆方向に移動するアクション アプリは、指定された要素で逆方向へのスクロールアクションを実行する必要があります。このとき、アニメーションによって、または画面上の一部の要素を維持することによってスクロールの意味が明確になるようにします。

ActionOnUIElementディレクティブの例

ユーザーが、サポート対象の発話で説明されているようなリクエストを行うと、UIControllerインターフェースはActionOnUIElementという名前のディレクティブをLambdaに送信します。ディレクティブの例を次に示します。UI状態で報告する情報は、このディレクティブで使用されます。たとえば、アプリがAlexaに送信したUI状態では、"sceneId": "sceneId-001"が報告されていました。

{
    "directive": {
        "header": {
            "namespace": "Alexa.UIController",
            "name": "ActionOnUIElement",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "AMAZON.BearerToken",
                "token": "access-token-from-Amazon"
            },
            "endpointId": "endpoint-001"
        },
        "payload": {
            "action": "SELECT",
            "scene": {
                "sceneId": "sceneId-001"
            },
            "element": {
                "elementId": "elementId_11",
                "entity": {
                    "type": "AMAZON.VideoObject",
                    "name": {
                        "value": "スーパーバッド 童貞ウォーズ"
                    },
                    "externalIds": {
                        "externalIdNamespace": "e99e067f-9112-4642-9853-b6401322964d"
                    }
                },
                "ordinal": 1,
                "uiSupportedActions": [
                    "SELECT"
                ]
            }
        }
    }
}

UI状態レポートとUIControllerディレクティブの例

サンプル画面、送信されるUI状態レポート、ユーザーの発話、AlexaからLambdaに送信されるUIControllerディレクティブを示す例を以下に示します。

名前/序数による選択の例

画面に表示されるコンテンツには、異なる序数(位置順を示す1、2、3などの番号)が振られています。ユーザーはコンテンツを序数またはタイトルで選択します。

ユーザーに表示される画面:

例1
{
  "context": {
    "properties": [

    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": "scene-id-004"
              },
              "elements": [
                {
                  "entity": {
                    "type": "AMAZON.ItemList",
                    "externalIds": {
                      "entityId": "webpage-001"
                    }
                  },
                  "elementId": "elementId-001",
                  "uiSupportedActions": [
                    "SCROLL_DOWN",
                    "SCROLL_FORWARD"
                  ],
                  "elements": [
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "アイアンマン"
                        },
                        "externalIds": {
                          "entityId": "video-001"
                        }
                      },
                      "ordinal": 1,
                      "elementId": "elementId-002",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "インターステラー"
                        },
                        "externalIds": {
                          "entityId": "video-002"
                        }
                      },
                      "ordinal": 2,
                      "elementId": "elementId-003",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "はじまりへの旅"
                        },
                        "externalIds": {
                          "entityId": "video-003"
                        }
                      },
                      "ordinal": 3,
                      "elementId": "elementId-004",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "リベンジャー 復讐のドレス"
                        },
                        "externalIds": {
                          "entityId": "video-004"
                        }
                      },
                      "ordinal": 4,
                      "elementId": "elementId-005",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "ガーディアンズ・オブ・ギャラクシー"
                        },
                        "externalIds": {
                          "entityId": "video-005"
                        }
                      },
                      "ordinal": 5,
                      "elementId": "elementId-006",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "パッセンジャー"
                        },
                        "externalIds": {
                          "entityId": "video-006"
                        }
                      },
                      "ordinal": 6,
                      "elementId": "elementId-007",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    }
                  ]
                }
              ]
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    }
  }
}

ユーザーの発話: 「アレクサ、2番を選択して」/「アレクサ、インターステラーを選択して」

{
  "directive": {
    "header": {
      "name": "ActionOnUIElement",
      "namespace": "Alexa.UIController"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "scene": {
        "sceneId": "scene-id-004"
      },
      "action": "SELECT",
      "element": {
        "entity": {
          "type": "AMAZON.VideoObject",
          "name": {
            "value": "インターステラー"
          },
          "externalIds": {
            "entityId": "video-002"
          }
        },
        "elementId": "elementId-003",
        "uiSupportedActions": [
          "SELECT"
        ]
      }
    }
  }
}

「これを選択」の例

この例では、詳細を表示するタイトル(「マーベラス・ミセス・メイゼル」)をユーザーが選択します。アプリはユーザーにコンテンツの詳細を表示します。次に、ユーザーは「これを選択して」と話しかけます。 ユーザーが指示対象をタイトル(「マーベラス・ミセス・メイゼル」)から短い略語(「これ」)に変更しているため、この発話パターンは「前方照応」と呼ばれます。どちらの場合も、指示対象は同じアイテムです。

ユーザーに表示される画面:

例2
{
  "context": {
    "properties": [

    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": "scene-id-001"
              },
              "elements": [
                {
                  "entity": {
                    "type": "AMAZON.VideoObject",
                    "name": {
                      "value": "マーベラス・ミセス・メイゼル"
                    },
                    "externalIds": {
                      "entityId": "video-001"
                    }
                  },
                  "elementId": "element-010",
                  "uiSupportedActions": [
                    "SELECT"
                  ],
                  "elements": [
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "プライムで今すぐ観る"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-001"
                        }
                      },
                      "elementId": "element-011",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "シーズンとエピソード"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-002"
                        }
                      },
                      "elementId": "element-012",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "ウォッチリストに追加"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-003"
                        }
                      },
                      "elementId": "element-013",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "その他の視聴方法"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-003"
                        }
                      },
                      "elementId": "element-013",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },                    
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "この作品をご覧になったお客様は次の作品もご覧になっています"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-004"
                        }
                      },
                      "elementId": "element-014",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                  ]
                }
              ]
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          },
          {
            "namespace": "Alexa.UIController",
            "name": "focusedUIElement",
            "value": {
              "scene": {
                "sceneId": "scene-id-001"
              },
              "element": {
                "entity": {
                  "type": "AMAZON.Thing",
                  "name": {
                    "value": "プライムで今すぐ観る"
                  },
                  "externalIds": {
                    "entityId": "webPageButton-003"
                  }
                },
                "elementId": "element-013",
                "uiSupportedActions": [
                  "SELECT"
                ]
              }
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    }
  }
}

ユーザーの発話: 「アレクサ、これを選択して」

{
  "directive": {
    "header": {
      "namespace": "Alexa.UIController",
      "name": "ActionOnUIElement"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "scene": {
        "sceneId": "scene-id-004"
      },
      "action": "SELECT",
      "element": {
        "entity": {
          "type": "AMAZON.Thing",
          "name": {
            "value": "プライムで今すぐ観る"
          },
          "externalIds": {
            "entityId": "webPageButton-003"
          }
        },
        "elementId": "element-013",
        "uiSupportedActions": [
          "SELECT"
        ]
      }
    }
  }
}

名前による再生の例

この例では、画面にタイトルのリストが表示され、ユーザーはいずれかのタイトルを名前で選択します。ユーザーはタイトルの再生をリクエストするため、RemoteVideoPlayer: SearchAndPlayディレクティブが、UIControllerディレクティブの代わりに送信されます。

ユーザーに表示される画面:

例3
{
  "context": {
    "properties": [

    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": "scene-id-004"
              },
              "elements": [
                {
                  "entity": {
                    "type": "AMAZON.ItemList",
                    "externalIds": {
                      "entityId": "webpage-001"
                    }
                  },
                  "elementId": "elementId-001",
                  "uiSupportedActions": [
                    "SCROLL_DOWN",
                    "SCROLL_FORWARD"
                  ],
                  "elements": [
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "アイアンマン"
                        },
                        "externalIds": {
                          "entityId": "video-001"
                        }
                      },
                      "ordinal": 1,
                      "elementId": "elementId-002",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "インターステラー"
                        },
                        "externalIds": {
                          "entityId": "video-002"
                        }
                      },
                      "ordinal": 2,
                      "elementId": "elementId-003",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "はじまりへの旅"
                        },
                        "externalIds": {
                          "entityId": "video-003"
                        }
                      },
                      "ordinal": 3,
                      "elementId": "elementId-004",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "リベンジャー 復讐のドレス"
                        },
                        "externalIds": {
                          "entityId": "video-004"
                        }
                      },
                      "ordinal": 4,
                      "elementId": "elementId-005",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "ガーディアンズ・オブ・ギャラクシー"
                        },
                        "externalIds": {
                          "entityId": "video-005"
                        }
                      },
                      "ordinal": 5,
                      "elementId": "elementId-006",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.VideoObject",
                        "name": {
                          "value": "パッセンジャー"
                        },
                        "externalIds": {
                          "entityId": "video-006"
                        }
                      },
                      "ordinal": 6,
                      "elementId": "elementId-007",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    }
                  ]
                }
              ]
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    }
  }
}

ユーザーの発話: 「アレクサ、インターステラーを再生して」

{
    "directive": {
        "header": {
            "name": "SearchAndPlay",
            "namespace": "Alexa.RemoteVideoPlayer"
        },
        "endpoint": {
            "scope": {
                "type": "AMAZON.BearerToken",
                "token": "access-token-from-Amazon"
            },
            "endpointId": "endpoint-001"
        },
        "payload": {
            "entities": [
                {
                    "externalIds": {
                        "entityId": "video-002"
                    },
                    "value": "インターステラー",
                    "type": "Video"
                }
            ]
        }
    }
}

「これを再生」の例

この例では、ユーザーが「マーベラス・ミセス・メイゼル」というタイトルの詳細を表示するようリクエストしたため、アプリはコンテンツの詳細ページを表示しました。ここで、ユーザーが「これを再生して」と話しかけます。 この例も、前に説明した「これを選択」の場合と同様に前方照応です。ただしこの例では、送信されるディレクティブはRemoteVideoPlayer: SearchAndPlayディレクティブであり、UIControllerディレクティブではありません。

ユーザーに表示される画面:

例4
{
  "context": {
    "properties": [

    ]
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": "scene-id-001"
              },
              "elements": [
                {
                  "entity": {
                    "type": "AMAZON.VideoObject",
                    "name": {
                      "value": "マーベラス・ミセス・メイゼル"
                    },
                    "externalIds": {
                      "entityId": "video-001"
                    }
                  },
                  "elementId": "element-010",
                  "uiSupportedActions": [
                    "SELECT"
                  ],
                  "elements": [
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "プライムで今すぐ観る"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-001"
                        }
                      },
                      "elementId": "element-011",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "シーズンとエピソード"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-002"
                        }
                      },
                      "elementId": "element-012",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "ウォッチリストに追加"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-003"
                        }
                      },
                      "elementId": "element-013",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                      "type": "AMAZON.Thing",
                      "name": {
                        "value": "その他の視聴方法"
                    },
                      "externalIds": {
                        "entityId": "webPageButton-003"
                      }
                    },
                    "elementId": "element-013",
                    "uiSupportedActions": [
                      "SELECT"
                    ]
                   },                    
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "この作品をご覧になったお客様は次の作品もご覧になっています"
                        },
                        "externalIds": {
                          "entityId": "webPageButton-004"
                        }
                      },
                      "elementId": "element-014",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                  ]
                }
              ]
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          },
          {
            "namespace": "Alexa.UIController",
            "name": "focusedUIElement",
            "value": {
              "scene": {
                "sceneId": "scene-id-001"
              },
              "element": {
                "entity": {
                  "type": "AMAZON.Thing",
                  "name": {
                    "value": "プライムで今すぐ観る"
                  },
                  "externalIds": {
                    "entityId": "webPageButton-003"
                  }
                },
                "elementId": "element-013",
                "uiSupportedActions": [
                  "SELECT"
                ]
              }
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    }
  }
}

ユーザーの発話: 「アレクサ、これを再生して」

{
    "directive": {
        "header": {
            "name": "SearchAndPlay",
            "namespace": "Alexa.RemoteVideoPlayer"
        },
        "endpoint": {
            "scope": {
                "type": "AMAZON.BearerToken",
                "token": "access-token-from-Amazon"
            },
            "endpointId": "endpoint-001"
        },
        "payload": {
            "entities": [
                {
                    "externalIds": {
                        "entityId": "video-001"
                    },
                    "value": "マーベラス・ミセス・メイゼル",
                    "type": "Video"
                }
            ]
        }
    }
}

画面上の選択の例

一部のアプリは、UIのスクレイピングやアクセシビリティフレームワークによって画面上のコンテンツを読み取ることができます。これらのアプリは、レンダリングされるコンテンツを十分に把握していなくても、画面上のコンテンツテキストを読み取って、シンプルな画面上の選択機能を提供できます。

また、UI状態レポートをAlexaゲートウェイエンドポイントに送信して、画面上の情報をAlexaに報告することもできます。UIControllerインターフェースには、汎用エンティティタイプAMAZON.Thingが含まれています。これをスクリーンリーダーアプリで使用して、より高度なアプリと同様の形式で画面上のテキストデータを報告できます。以下は、シンプルなUI状態レポートとインタラクションです。

ユーザーに表示される画面:

例5
{
  "context": {
    "properties": []
  },
  "event": {
    "header": {
      "messageId": "abc-123-def-456",
      "namespace": "Alexa",
      "name": "ChangeReport",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "avl-endpoint-id-001"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "PHYSICAL_INTERACTION"
        },
        "properties": [
          {
            "namespace": "Alexa.UIController",
            "name": "uiElements",
            "value": {
              "scene": {
                "sceneId": "scene-id-004"
              },
              "elements": [
                {
                  "entity": {
                    "type": "AMAZON.Thing"
                  },
                  "elementId": "uiNode-000",
                  "uiSupportedActions": [
                    "SCROLL_FORWARD",
                    "SCROLL_DOWN"
                  ],
                  "elements": [
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "ホーム"
                        }
                      },
                      "elementId": "uiNode-001",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "番組"
                        }
                      },
                      "elementId": "uiNode-002",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "IMDB FREEDIVE:無料の広告付き映画およびTV番組"
                        }
                      },
                      "elementId": "uiNode-010",
                      "uiSupportedActions": []
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "はじまりへの旅"
                        }
                      },
                      "elementId": "uiNode-011",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "フリンジ"
                        }
                      },
                      "elementId": "uiNode-012",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "ドライヴ"
                        }
                      },
                      "elementId": "uiNode-013",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "Forte"
                        }
                      },
                      "elementId": "uiNode-014",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                    {
                      "entity": {
                        "type": "AMAZON.Thing",
                        "name": {
                          "value": "パディントン"
                        }
                      },
                      "elementId": "uiNode-015",
                      "uiSupportedActions": [
                        "SELECT"
                      ]
                    },
                  ]
                }
              ]
            },
            "timeOfSample": "2017-02-03T16:20:50.52Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    }
  }
}

ユーザーの発話: 「アレクサ、はじまりへの旅を選択して」

{
  "directive": {
    "header": {
      "namespace": "Alexa.UIController",
      "name": "ActionOnUIElement"
    },
    "endpoint": {
      "scope": {
        "type": "AMAZON.BearerToken",
        "token": "access-token-from-Amazon"
      },
      "endpointId": "endpoint-001"
    },
    "payload": {
      "scene": {
        "sceneId": "scene-id-004"
      },
      "action": "SELECT",
      "element": {
        "entity": {
          "type": "AMAZON.Thing",
          "name": {
            "value": "はじまりへの旅"
          }
        },
        "elementId": "uiNode-011",
        "uiSupportedActions": [
          "SELECT"
        ]
      }
    }
  }
}

サンプルアプリの統合

UIControllerの統合サンプルは、クラウド側のサンプルアプリで確認できます。サンプルアプリには、UIControllerDiscoverディレクティブを使用して機能のサポートを宣言する方法と、UIControllerから送信されるActionOnUIElementディレクティブを処理する方法を示すLambdaコードが含まれています。

以下のセクションでは、サンプルアプリのUIコントローラーAPIのユースケースを詳しく説明します。サンプルアプリをテストするために、以下のクラスやメソッドを実装する必要はありません。以下のコードスニペットは、必要なメソッドの実装場所と使用方法を示しています。実際のアプリコードでは、独自のロジックを使用する必要があります。

サンプルアプリでテストするには、任意の画面のUIコンテンツを変更し、Alexaで新しいUIコンテンツを音声ターゲットとしてテストします。

MainFragmentクラス

MainFragmentクラスは、サンプルアプリのホーム画面に関連付けられています。サンプルアプリでは、このページの内容と現在フォーカスがある要素が報告されます。

public class MainFragment extends BrowseFragment implements MainActivity.UIElementAction, MainActivity.MediaDetailsAction {
    public static final String HOME_BROWSER_SCENE_IDENTIFIER = "home-browser-scene-000";

    private static final String TAG = "MainFragment";

    private static final int BACKGROUND_UPDATE_DELAY = 300;
    private static final int NUM_ROWS = 2;
    private static final int NUM_COLS = 4;

    private final Handler mHandler = new Handler();
    private Drawable mDefaultBackground;
    private DisplayMetrics mMetrics;
    private Timer mBackgroundTimer;
    private String mBackgroundUri;
    private BackgroundManager mBackgroundManager;

フォーカスがある要素とAlexaに報告された現在のUI状態を確認するには、ターミナルでadb(Android Debug Bridge)コマンドを実行します。

adb logcat | grep MainFragment -i

サンプルアプリでは、ユーザーがこの画面で選択を行うたびに、この画面のUIの状態がAlexaに報告されます。

private void reportCurrentUIState(final Object selectedItem) {
    final ArrayObjectAdapter rowsAdapter = (ArrayObjectAdapter) getAdapter();
    final List<ElementWithChildren> elements = getUIElements(rowsAdapter);

    final Movie currentMovieSelected = (Movie) selectedItem;
    final Element focusedElement = getUIElement(currentMovieSelected);

    Log.d(TAG, MessageFormat.format("フォーカスがある映画の要素IDは{0}です", focusedElement.getElementId()));

    final Scene scene = new Scene.Builder().withSceneId(HOME_BROWSER_SCENE_IDENTIFIER).build();
    final UIElements uiElements = new UIElements.Builder().withScene(scene).withElements(elements).build();
    final FocusedUIElement focusedUIElement = new FocusedUIElement.Builder().withScene(scene).withElement(focusedElement).build();

    final Map<String, String> currentUIStateJSON = getUIStateJSON(uiElements, focusedUIElement);

    Log.d(TAG, MessageFormat.format("ホーム画面のUI状態をAlexaに報告しています: {0}", currentUIStateJSON));
    AlexaClientManager.getSharedInstance().setUIState(currentUIStateJSON);
    Log.i(TAG, "ホーム画面のUI状態をAlexaに報告しました。");
}

VideoDetailsFragment

サンプルアプリでは、VideoDetailsFragmentクラスが特定のMovieオブジェクトに関連付けられています。このクラスは、予告編、購入オプション、映画の説明など、Movieの詳細をすべて提供します。

public class VideoDetailsFragment extends DetailsFragment implements DetailsActivity.UIElementAction, DetailsActivity.MediaDetailsAction {
    public static final String VIDEO_DETAIL_SCENE_IDENTIFIER = "video-detail-scene-001";

    private static final String TAG = "VideoDetailsFragment";

    private static final int ACTION_WATCH_TRAILER = 1;
    private static final int ACTION_RENT = 2;
    private static final int ACTION_BUY = 3;

    private static final int DETAIL_THUMB_WIDTH = 274;
    private static final int DETAIL_THUMB_HEIGHT = 274;

    private static final int NUM_COLS = 4;

    private Movie mSelectedMovie;

    private ArrayObjectAdapter mAdapter;
    private ClassPresenterSelector mPresenterSelector;

    private DetailsFragmentBackgroundController mDetailsBackground;

フォーカスがある要素とAlexaに報告された現在のUI状態を確認するには、ターミナルでadb(Android Debug Bridge)コマンドを実行します。

adb logcat | grep VideoDetailsFragment -i

サンプルアプリでは、ユーザーがこの画面で選択を行うたびに、この画面のUIの状態がAlexaに報告されます。

private void reportCurrentUIState(final Object selectedItem) {
    final ArrayObjectAdapter rowsAdapter = (ArrayObjectAdapter) getAdapter();
    final List<ElementWithChildren> elements = getUIElements(rowsAdapter);

    final Movie currentMovieSelected = (Movie) selectedItem;
    final Element focusedElement = getUIElement(currentMovieSelected);

    Log.d(TAG, MessageFormat.format("フォーカスがある映画の要素IDは{0}です", focusedElement.getElementId()));

    final Scene scene = new Scene.Builder().withSceneId(HOME_BROWSER_SCENE_IDENTIFIER).build();
    final UIElements uiElements = new UIElements.Builder().withScene(scene).withElements(elements).build();
    final FocusedUIElement focusedUIElement = new FocusedUIElement.Builder().withScene(scene).withElement(focusedElement).build();

    final Map<String, String> currentUIStateJSON = getUIStateJSON(uiElements, focusedUIElement);

    Log.d(TAG, MessageFormat.format("ホーム画面のUI状態をAlexaに報告しています: {0}", currentUIStateJSON));
    AlexaClientManager.getSharedInstance().setUIState(currentUIStateJSON);
    Log.i(TAG, "ホーム画面のUI状態をAlexaに報告しました。");
}

UI状態レポート

サンプルアプリでは、いくつかのクラスを使用して、UI状態イベントペイロードを生成します。

  • Element
  • ElementWithChildren
  • Entity
  • EntityType
  • EntityName
  • Scene
  • UIAction
  • FocusedUIElement
  • UIElement

これらのクラスとその中のメソッドを使用して、独自のロジックでUI状態ペイロードを生成できます。たとえば、Elementクラスは、画面上の各UI要素を定義します。サンプルアプリでは、この動作を以下のコードスニペットで定義しています。

package com.amazon.alexauicontroller;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
 
/**
 * UIでレンダリングされるUI要素を表します。
 */
public class Element {
 
    /**
     * シーン内のこの要素の一意のIDです。
     */
    private String elementId;
 
    /**
     * このElementを記述するThingです。
     */
    private Entity entity;
 
    /**
     * 音声による選択で使用できる要素の番号です。
     */
    private Integer ordinal;
 
    /**
     * ユーザーがこの要素で実行できるUIアクションのリストです。
     */
    private List<UIAction> uiSupportedActions;
 
    protected Element() {}
 
    protected Element(final String elementId, final Entity entity, final Integer ordinal,
                   final List<UIAction> uiSupportedActions) {
        this.elementId = elementId;
        this.entity = entity;
        this.ordinal = ordinal;
        this.uiSupportedActions = uiSupportedActions;
    }
 
    /**
     * @return:この要素のIDです。
     */
    public String getElementId() {
        return elementId;
    }
 
    /**
     * @return:この要素を表す{@link Entity}です。
     */
    public Entity getEntity() {
        return entity;
    }
 
    /**
     * @return:この要素の番号です。
     */
    public Integer getOrdinal() {
        return ordinal;
    }
 
    /**
     * @return:ユーザーがこの要素で実行できる{@link UIAction}のリストです。
     */
    public List<UIAction> getUiSupportedActions() {
        return uiSupportedActions;
    }
 
    /**
     * 要素の識別子を設定します。
     * @param:要素のIDに設定されるelementIdです。
     */
    public void setElementId(final String elementId) {
        this.elementId = elementId;
    }
 
    /**
     * 要素のエンティティを設定します。
     * @param:{@link Entity}に設定されるentityです。
     */
    public void setEntity(final Entity entity) {
        this.entity = entity;
    }
 
    /**
     * 要素番号を設定します。
     * @param:要素の番号に設定されるordinalです。
     */
    public void setOrdinal(final Integer ordinal) {
        this.ordinal = ordinal;
    }
 
    /**
     * 要素のUIアクションを設定します。UIアクションリストが既に存在する場合、この操作によって既存のUIアクションリストが置き換えられます。
     * @param:{@link UIAction}のリストに設定されるuiSupportedActionsです。
     */
    public void setUiSupportedActions(final List<UIAction> uiSupportedActions) {
        this.uiSupportedActions = uiSupportedActions;
    }

UIElementUtilクラス

UIElementUtilクラスは、UI状態イベントペイロードの生成に必要なすべてのUI要素を構築するユーティリティクラスです。

public class UIElementUtil {
    private static final String TAG = "UIElementUtil";

    public static final String EXTERNAL_ID_KEY = "entityId";
    public static final String EXTERNAL_ID_VALUE_PREFIX_FOR_ACTION = "webPageButton-";
    public static final String EXTERNAL_ID_VALUE_PREFIX_FOR_MOVIE = "video-";
    public static final String EXTERNAL_ID_VALUE_PREFIX_FOR_LIST_ROW = "videos-row-";
    public static final String ELEMENT_ID_PREFIX = "element-";
    public static final String ELEMENT_ID_PREFIX_FOR_ACTION = "action-";
    public static final String ELEMENT_ID_PREFIX_FOR_MOVIE = "movie-";
    public static final String ELEMENT_ID_PREFIX_FOR_VIDEO_DETAIL = "details-";
    public static final String ELEMENT_ID_PREFIX_FOR_LIST_ROW = "list-row-";
    public static final String UI_ELEMENTS_EVENT_KEY = "uiElements";
    public static final String FOCUSED_UI_ELEMENT_EVENT_KEY = "focusedUIElement";

onMessageメソッド

サンプルアプリは、Lambda経由でAlexaからディレクティブを受信します。このディレクティブは、onMessageメソッドではActionOnUIElementと呼ばれます。

protected void onMessage(final Intent intent) {
    Log.d(TAG, MessageFormat.format("ADMからメッセージを受信しました: {0}", intent.toString()));
    
    //...
    
     else if ("ActionOnUIElement".equals(directiveName)) {

                if (jsonTree.isJsonObject()) {
                    final JsonObject jsonObject = jsonTree.getAsJsonObject();

                    final JsonObject jDirective = jsonObject.get("directive").getAsJsonObject();
                    final JsonElement jPayload = jDirective.get("payload");

                    if (jPayload != null && jPayload.isJsonObject()) {
                        final String jPayloadString = jPayload.getAsJsonObject().toString();

                        final ActionOnUIElement actionOnUIElement = gson.fromJson(jPayloadString, ActionOnUIElement.class);
                        Log.d(TAG, MessageFormat.format("ActionOnUIElementディレクティブは{0}です", actionOnUIElement));

                        final boolean isActionOnUIElementValid = validateActionOnUIElementDirective(actionOnUIElement);
                        if (!isActionOnUIElementValid) {
                            Log.d(TAG, "受信したActionOnUIElementディレクティブが無効です。処理できません。");
                            return;
                        }

                        final Intent actionOnUIElementIntent = new Intent();
                        actionOnUIElementIntent.setAction(ACTION_ON_UI_ELEMENT);
                        final String packageName = FireTVApp.getInstance().getPackageName();
                        actionOnUIElementIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

                        actionOnUIElementIntent.putExtra(EXTRA_UI_CONTROLLER_ELEMENT_ID, actionOnUIElement.getElement().getElementId());
                        actionOnUIElementIntent.putExtra(EXTRA_UI_CONTROLLER_ELEMENT_TYPE, actionOnUIElement.getElement().getEntity().getType());
                        actionOnUIElementIntent.putExtra(EXTRA_UI_CONTROLLER_ACTION, actionOnUIElement.getAction());

                        final Scene scene = actionOnUIElement.getScene();
                        if (scene.getSceneId().equals(HOME_BROWSER_SCENE_IDENTIFIER)) {
                            Log.d(TAG, MessageFormat.format("actionOnUIElementインテントの対象をホーム画面に設定しています: {0}",
                                    MainActivity.class.getName()));
                            actionOnUIElementIntent.setClassName(packageName, MainActivity.class.getName());
                        } else if (scene.getSceneId().equals(VIDEO_DETAIL_SCENE_IDENTIFIER)) {
                            Log.d(TAG, MessageFormat.format("actionOnUIElementインテントの対象を詳細画面に設定しています: {0}",
                                    DetailsActivity.class.getName()));
                            actionOnUIElementIntent.setClassName(packageName, DetailsActivity.class.getName());
                        } else {
                            Log.e(TAG, MessageFormat.format("不明なシーンID{0}です。ActionOnUIElementディレクティブを処理できません", scene.getSceneId()));
                            return;
                        }
                        Log.d(TAG, MessageFormat.format("actionOnUIElementインテントを送信しています: {0}", actionOnUIElementIntent));
                        FireTVApp.getInstance().startActivity(actionOnUIElementIntent);
                        Log.d(TAG, "UIControllerディレクティブの処理が完了しました");
                    }
                } else {
                    // 無効なメッセージJSONです。
                    Log.e(TAG, "無効なメッセージJSONです");
                }
       //...

MediaDetailsNavigator

UIControllerを実装している場合は、MediaDetailsNavigatorの実装も検討してください。このインターフェースは既に送信しているものと同じUI状態レポートに基づいており、「ビデオタイトルについての詳細を表示して」などの発話もサポートされています。