Alexa.Launcherインターフェース3


Alexa.Launcherインターフェース3

AlexaスキルにAlexa.Launcherインターフェースを実装すると、ユーザーはAlexaに、Prime Videoなどの指定したアプリや、テレビのディスプレイ設定などのUIショートカットを起動するようリクエストできます。定義済みのアプリやショートカットの詳細については、起動ターゲットのリファレンスを参照してください。

Alexa.Launcherインターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。

発話

Alexa.Launcherインターフェースではプリビルド音声対話モデルを使用します。ユーザーが次のいずれかの発話をしたら、Alexaがそれに対応するディレクティブをスキルに送信します。

以下に、ユーザーの発話の例を示します。

أليكسا، شغّلي نتفليكس
أليكسا، روحي للصفحة الرئيسيّة
أليكسا، روحي للإعدادات
أليكسا، برايم فيديو.
أليكسا، الإعدادات.

Alexa, launch Netflix.
Alexa, go home.
Alexa, go to settings.
Alexa, Prime Video.
Alexa, settings.

Alexa, lance netflix.
Alexa, retourne à l'écran d'accueil.
Alexa, va sur profils.
Alexa, Prime Video.
Alexa, paramètres.

Alexa, starte netflix.
Alexa, gehe zum start bildschirm.
Alexa, gehe zu display einstellungen.
Alexa, Prime Video.
Alexa, Einstellungen.

Alexa, netflix खोलो
Alexa, home पर जाओ/जाना/जाइए/चलो/चलना
Alexa, settings पर जाओ
Alexa, प्राइम वीडियो
Alexa, सेटिंग्स।

Alexa, apri netflix.
Alexa, vai alla home.
Alexa, vai su impostazioni.
Alexa, PrimeVideo.
Alexa, impostazioni.

アレクサ、ユーチューブを起動して
アレクサ、予約録画に行って
アレクサ、スクリーン設定に行って
アレクサ、プライムビデオ
アレクサ、設定

Alexa, abrir netflix.
Alexa, ir para a página principal.
Alexa, vá para configuração.
Alexa, Prime Video.
Alexa, configurações.
Alexa, ajustes.

Alexa, lanza netflix.
Alexa, página inicial.
Alexa, abre configuración.
Alexa, Prime Video.
Alexa, configuración.

Alexa, start Netflix.
Alexa, ga naar home.
Alexa, ga naar instellingen.
Alexa, Prime Video.
Alexa, instellingen.

プロパティとオブジェクト

Alexa.Launcherインターフェースには、次のプロパティとオブジェクトが含まれます。

出力可能なプロパティ

Alexa.Launcherインターフェースでは、プライマリプロパティとしてtargetプロパティを使用します。検出応答で、プロパティをサポートすることを指定します。

Targetオブジェクト

Targetオブジェクトには、定義済みのアプリケーションやUIショートカットを表す名前と識別子が含まれます。

以下は、定義済みのアプリケーションターゲットの例です。

{
    "name": "target",
    "value": {
        "name": "Prime Video",
        "identifier": "amzn1.alexa-ask-target.app.72095"
    }
}

以下の表は、Targetオブジェクト定義の一覧です。

プロパティ 説明 必須

name

アプリケーションやUIショートカットの名前です。

文字列

identifier

アプリケーションやUIショートカットに関連付けられた識別子です。

文字列

検出

Alexa.Launcherをサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して表します。

Alexaからスキルに状態レポートリクエストが送信されたら、レポートするプロパティのretrievabletrueに設定します。変更レポートでAlexaにプロアクティブにレポートするプロパティのproactivelyReportedtrueに設定します。

TVSTREAMING_DEVICEGAME_CONSOLEなどの適切な表示カテゴリーを使用します。表示カテゴリーの一覧は、表示カテゴリーを参照してください。

検出応答の例

以下は、アプリやショートカットを起動できるデバイスへのAlexa.Discover.Responseメッセージの例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "エンドポイントの一意のID",
                "manufacturerName": "エンドポイントのメーカー名",
                "description": "Alexaアプリに表示される説明",
                "friendlyName": "リビングのテレビ",
                "displayCategories": ["TV"],
                "additionalAttributes": {
                    "manufacturer": "エンドポイントのメーカー名",
                    "model": "デバイスのモデル",
                    "serialNumber": "デバイスのシリアル番号",
                    "firmwareVersion": "デバイスのファームウェアバージョン",
                    "softwareVersion": "デバイスのソフトウェアバージョン"
                },
                "capabilities": [{
                        "type": "AlexaInterface",
                        "interface": "Alexa.Launcher",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "target"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.EndpointHealth",
                        "version": "3.1",
                        "properties": {
                            "supported": [{
                                "name": "connectivity"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }]
        }
    }
}

AddOrUpdateReportを使用したプロアクティブな検出

ユーザーが新しいエンドポイントをアカウントに追加した場合や、既存のエンドポイントに変更を加えた場合、Alexaイベントゲートウェイに対してAlexa.Discovery.AddOrUpdateReportメッセージをプロアクティブに送信する必要があります。ユーザーアカウントに関連付けられたすべてのエンドポイントか、新規または更新されたエンドポイントのみを含めることができます。スキルの実装内容に応じて選択できます。詳細については、AddOrUpdateReportを参照してください。

AddOrUpdateReportの例

以下は、新しいエンドポイントに対するAddOrUpdateReportメッセージの例です。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "AddOrUpdateReport",
            "payloadVersion": "3",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい"
        },
        "payload": {
            "endpoints": [{
                "endpointId": "新しいエンドポイントの一意ID",
                "manufacturerName": "エンドポイントのメーカー名",
                "description": "Alexaアプリに表示される説明",
                "friendlyName": "リビングのテレビ",
                "displayCategories": ["TV"],
                "additionalAttributes": {
                    "manufacturer": "エンドポイントのメーカー名",
                    "model": "デバイスのモデル",
                    "serialNumber": "デバイスのシリアル番号",
                    "firmwareVersion": "デバイスのファームウェアバージョン",
                    "softwareVersion": "デバイスのソフトウェアバージョン"
                },
                "capabilities": [{
                        "type": "AlexaInterface",
                        "interface": "Alexa.Launcher",
                        "version": "3",
                        "properties": {
                            "supported": [{
                                "name": "target"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.EndpointHealth",
                        "version": "3.1",
                        "properties": {
                            "supported": [{
                                "name": "connectivity"
                            }],
                            "proactivelyReported": true,
                            "retrievable": true
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }],
            "scope": {
                "type": "BearerToken",
                "token": "access-token-from-Amazon"
            }
        }
    }
}

ディレクティブ

Alexaは次のAlexa.Launcherインターフェースディレクティブをスキルに送信します。

LaunchTargetディレクティブ

LaunchTargetディレクティブをサポートすると、ユーザーは指定したアプリやショートカットを起動するようリクエストできます。Alexaは、ユーザーが指定したアプリやショートカットを定義済みの起動ターゲットリストの識別子と照合し、リクエストのnameidentifierを送信します。

LaunchTargetディレクティブの例

ユーザーが「アレクサ、Prime Videoを起動して」と言うと、Alexaは以下のディレクティブをスキルに送信します。

{
    "directive": {
        "header": {
            "namespace": "Alexa.Launcher",
            "name": "LaunchTarget",
            "messageId": "一意のバージョン4 UUID",
            "correlationToken": "opaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "OAuth2.0ベアラートークン"
            },
            "endpointId": "エンドポイントID",
            "cookie": {}
        },
        "payload": {
            "name": "Prime Video",
            "identifier": "amzn1.alexa-ask-target.app.72095"
            }
        }
    }
}

LaunchTargetディレクティブのペイロード

次の表は、LaunchTargetディレクティブのペイロードの詳細を示しています。

プロパティ 説明 必須

name

アプリまたはショートカットの名前です。

文字列

identifier

アプリケーションまたはショートカットに関連付けられた識別子です。
アプリケーションとショートカットの識別子を区別できるよう、定義済みの識別子文字列にはサブ文字列としてappshortcutが含まれています。定義済みの全識別子の一覧については、起動ターゲットのリファレンスを参照してください。

文字列

LaunchTarget応答

LaunchTargetディレクティブを正しく処理したら、Alexa.Responseイベントを使用して応答します。contextオブジェクトにtargetプロパティの値を含めます。

クリップボードにコピーされました。

{
    "event": {
        "header": {
            "namespace": "Alexa",
            "name": "Response",
            "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
            "correlationToken": "リクエストに一致するopaque相関トークン",
            "payloadVersion": "3"
        },
        "endpoint": {
            "endpointId": "エンドポイントID"
        },
        "payload": {}
    },
    "context": {
        "properties": [
            {
                "namespace": "Alexa.Launcher",
                "name": "target",
                "value": {
                    "name": "Prime Video",
                    "identifier": "amzn1.alexa-ask-target.app.72095"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 500
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
        ]
    }
}

LaunchTargetのエラー処理

LaunchTargetディレクティブを正常に処理できず、エラーがビデオ固有のものである場合、Alexa.Video.ErrorResponseイベントで応答します。一般的なエラーの場合、汎用のAlexa.ErrorResponseイベントで応答します。

状態レポート

Alexaはエンドポイントの状態についての情報をリクエストするために、Alexa.ReportStateディレクティブを送信します。スキルは、応答としてAlexa.StateReportイベントを送信します。この応答には、contextオブジェクトのすべてのretrievableプロパティの現在の状態を含めます。retrievableプロパティは検出応答で特定します。状態レポートの詳細については、ビデオスキルの状態レポートを参照してください。

StateReport応答の例

クリップボードにコピーされました。

{
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "StateReport",
      "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
      "correlationToken": "リクエストに一致するopaque相関トークン",
      "payloadVersion": "3"
    },
    "endpoint": {
      "endpointId": "エンドポイントID"
    },
    "payload": {}
  },
  "context": {
    "properties": [
            {
                "namespace": "Alexa.Launcher",
                "name": "target",
                "value": {
                    "name": "Prime Video",
                    "identifier": "amzn1.alexa-ask-target.app.72095"
                },
                "timeOfSample": "2021-12-01T18:20:00.00Z",
                "uncertaintyInMilliseconds": 500
            },
            {
                "namespace": "Alexa.EndpointHealth",
                "name": "connectivity",
                "value": {
                    "value": "OK"
                },
                "timeOfSample": "2021-12-01T18:00:00.00Z",
                "uncertaintyInMilliseconds": 0
            }
    ]
  }
}

変更レポート

エンドポイントの状態の変化をプロアクティブに出力するには、Alexa.ChangeReportイベントを送信します。プロアクティブにレポートするプロパティは検出応答で指定します。

状態の変化がAlexaからのディレクティブによるものの場合は、ディレクティブへの応答と変更レポートイベントの両方を送信します。変更レポートの詳細については、ビデオスキルの状態レポートを参照してください。

ChangeReportイベントの例

以下は、ユーザーリクエストによってターゲットがショートカットに変更された例です。targetプロパティの詳細については、出力可能なプロパティを参照してください。

クリップボードにコピーされました。

{  
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "ChangeReport",
      "messageId": "一意の識別子、バージョン4 UUIDが望ましい",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "OAuth2.0ベアラートークン"
      },
      "endpointId": "エンドポイントID"
    },
    "payload": {
      "change": {
        "cause": {
          "type": "VOICE_INTERACTION"
        },
        "properties": [
            {
                    "namespace": "Alexa.Launcher",
                    "name": "target",
                    "value": {
                        "name": "Settings",
                        "identifier": "amzn1.alexa-ask-target.shortcut.07395"
                    },
                    "timeOfSample": "2021-12-01T18:10:50Z",
                    "uncertaintyInMilliseconds": 500
                }
        ]
      }
    }
  },
  "context": {
      "properties": [{
          "namespace": "Alexa.EndpointHealth",
          "name": "connectivity",
          "value": {
              "value": "OK"
          },
          "timeOfSample": "2021-12-01T18:00:50Z",
          "uncertaintyInMilliseconds": 0
      }]
  }
}


このページは役に立ちましたか?

最終更新日: 2024 年 12 月 11 日