スキルのテスト



スキルのテスト

このドキュメントでは、作成中のスキルをテストする手順について説明します。

Alexaスキルをテストする方法

開発中に新しいスキルをテストする方法はいくつかあります。

テストの方法にかかわらず、最小コンフィギュレーションのデータを指定して、スキルサービスをデプロイする必要があります。

スキルの最小コンフィギュレーション

スキルのテストを有効にするには、スキルに含まれる対話モデルに必要な最小コンフィギュレーション要件を満たす必要があります。これらの設定はすべて、ビルドページで設定できます。

カスタムモデルの最小コンフィギュレーション

セクション 要件

カスタム>対話モデル

対話モデルには、以下を含める必要があります。

  • 呼び出し名>スキルの呼び出し名で、呼び出し名を指定します。
  • インテントで、サンプル発話を含むインテントを1つ以上定義します。
  • (カスタムインテントにスロットが含まれる場合)スロットタイプを定義します。

モデルはエラーなしでビルドする必要があります。

カスタム>エンドポイント

有効なAWS Lambda ARNまたはHTTPSエンドポイントを指定します。

  • 少なくとも、デフォルトの地域フィールドには入力してください。
  • HTTPSの場合、SSL証明書の種類を必ず指定してください。テスト目的の場合、自己署名証明書を使用できます。ただし、スキルを公開すると、このコンフィギュレーションは使用できません。

スキルやテストの必要な項目によっては、ビルドページの以下のセクションにも入力が必要になる場合があります。

  • カスタム>インターフェース: スキルがデバイスインターフェースを使用する場合、このページで有効にします。
  • アカウントリンク: スキルがアカウントリンクを使用する場合、ここで設定します。

    認証を必要としないインテントのテストには、完全なアカウントリンクのコンフィギュレーションは必要ありません。ただし、LinkAccountCardを返すか、認証の必要なインテントをテストする場合は必要となります。

  • アクセス権限: 権限(デバイスアドレスAPIの権限など)を使用するスキルの場合、ここで有効にします。

プリビルドモデルの最小コンフィギュレーション

モデル 必須フィールド

フラッシュブリーフィング

  • フラッシュブリーフィング>カスタムエラーメッセージ
  • フラッシュブリーフィング: 少なくとも1つのフィードについて、すべての必須フィールドを入力する必要があります。
    • プリアンブル
    • フィード名
    • コンテンツの更新頻度
    • コンテンツタイプ
    • コンテンツジャンル
    • フィード
    • フィードアイコン

スマートホーム

  • スマートホーム>スマートホームのサービスエンドポイント: 有効なAWS Lambda ARNエンドポイントを指定する必要があります。少なくとも、デフォルトの地域フィールドには入力してください。
  • アカウントリンク: このページにあるすべての必須フィールドに入力する必要があります。
  • アクセス権限: スキルがAlexaイベントを送る権限を使用する場合、アクセス権限ページで有効にする必要があります。

デバイス制御クラウド用に設定したアカウントと、そのアカウントで検出可能なデバイスも必要となります。

ビデオ

  • ビデオ>ビデオスキルサービスのエンドポイント: 有効なAWS Lambda ARNエンドポイントを指定する必要があります。少なくとも、デフォルトの地域フィールドには入力してください。
  • アカウントリンク: このページにあるすべての必須フィールドに入力する必要があります。

スキルコードをデプロイする

スキルをテストするには、開発者コンソールでスキルに最低限必要なデータを設定し、クラウドベースのサービス用にコードをデプロイする必要があります。サービスをデプロイする方法は、スキルに使用する対話モデルによって異なります。

モデル スキルサービスのホスティングオプション

カスタム

以下のいずれかの方法があります。

フラッシュブリーフィング

なし: この場合、サービスはRSSまたはJSONフィードです。フラッシュブリーフィングスキルAPIフィードのリファレンスを参照してください。

スマートホーム

AWS Lambda関数を使用する必要があります。スマートホームスキルの作成手順Lambda関数を追加するを参照してください。

ビデオ

AWS Lambda関数を使用する必要があります。ビデオスキルの作成手順Lambda関数を追加するを参照してください。

開発者コンソールでスキルをテストする

テストページにはシミュレーターがあり、デバイスなしでもスキルをテストすることができます。スキルをテストする準備ができたら、テストページに移動します。

このスキルでテストを有効にしていない場合、このスキルでは、テストは無効になっていますと表示されます。このとき、ドロップダウンリストは非公開に設定されています。このリストから、スキルのテストステージを選択します。開発中公開中のいずれかです。

テストが有効な場合、スキルテストが有効になっているステージ:リストから、開発中公開中、いずれかのテストステージを選択します。非公開を選択すると、テストは無効になります。

スキルのテストで一度に選択できるステージは1つだけです。たとえば、公開中のスキルでテストを有効にすると、開発中のスキルではテストが無効になります。また、公開中のスキルは、開発者アカウントでサインインした開発者コンソール、SMAPI、ASK CLI、デバイスで引き続き利用できます。開発者コンソールで公開中スキルのテストを有効にすると、公開中ステージのURLにリダイレクトされ、セッションとコンテキスト情報がすべてリセットされます。保持しておきたい情報がある場合は、保存してからテストを有効にします。また、新しいユーザーIDも生成されるため、初回起動時のユーザーエクスペリエンスをシミュレートできます。公開中のスキルをライブバージョンのLambdaを使って設定している場合、このバージョンがテストに使用されます。

テストページを使用して、スキルのほぼすべての機能(ダイアログ、プログレッシブ応答(制限あり)、エンティティ解決など)をテストできます。

ページの左側に、3種類のテスト用タブが表示されます。

タブ 説明

Alexaシミュレーター

(カスタムスキルとスマートホームスキル)

シミュレーターを使用すると、テキスト、音声のいずれかでカスタムスキル、スマートホームスキルと対話できます。シミュレーターでもデバイスと同様にスキルのセッションが維持されるため、ダイアログフローのテストが可能です。また、シミュレーターはスキルがAlexaアプリに返すカードも、デバイスと同じように送信します。スキルが複数の言語をサポートする場合、ドロップダウンリストからテストする言語を選択します。

スキルI/Oを有効にすると、会話のターンごとにスキルに送信されるJSONとAlexaに返されるJSONを確認できます。JSONは、カスタムスキルでのみ使用できます。吹き出しをクリックすると、そのターンに関連するJSONを確認できます。

デバイスの画面を有効にすると、スキルがEcho Showにおおよそでどう表示されるかを確認できます。

Echo Spotを有効にすると、スキルがEcho Spotにおおよそでどう表示されるかを確認できます。

デバイスのログを有効にすると、スキルの対話中にAlexaに送信されるイベントと、デバイスに送信されるディレクティブを確認できます。

Echo Buttons(日本未対応)を有効にすると、シミュレートされたEcho Buttonsの表示と対話を確認できます。このオプションは、GameEngineインターフェースとGadgetControllerインターフェースのいずれか、または両方をサポートするスキルでのみ利用できます。詳細については、Echo Buttonスキルのテスト方法を参照してください。

Alexaスマートホーム(ベータ)を有効にすると、スキルがAlexaイベントゲートウェイに送信するChangeReportイベントを確認できます。このオプションは、スマートホームスキルでのみ利用できます。詳細については、スマートホームスキルのデバッグを参照してください。

Alexaシミュレータータブのスキルセッションはデバイスのようなタイムアウトをしないことに注意してください。これは、テスト中、応答の入力に時間をかけられるようにするためです。スキルのセッションが開いたままの場合、「アレクサ、止めて」と言って終了することができます。

JSONエディター

(カスタムスキルのみ)

このエディターを使うと、JSONリクエストを直接入力して、スキルが返すJSON応答を確認できます。

このオプションではスキルセッションは維持されません。LambdaコンソールでJSONリクエストをテストする場合と非常によく似ています。

デバイスの画面Echo Spotデバイスのログのオプションは、JSONエディターではサポートされません。

スキルが地域固有のエンドポイントを複数サポートする場合、ページの末尾近くにあるリストからテストするエンドポイントを選択できます。

音声と語調

プレーンテキストまたはSSMLを入力して、そのテキストをAlexaがどう読み上げるかを聞くことができます。下部のリストから聞きたい言語を選択します。このリストには、利用可能なすべての言語が表示されます。そのスキルがサポートしているかどうかは関係ありません。

Dialog.Delegateディレクティブを使用するスキルをテストした例
Dialog.Delegateディレクティブを使用するスキルをテストした例

Alexaシミュレーターの制限事項

以下の制限事項は、Alexaシミュレータータブでの音声およびテキストのテストに適用されます。

機能 Alexaシミュレーターのサポート範囲

AudioPlayerインターフェース

Alexaシミュレーターにはオーディオ再生機能はありません。その代わり、スキルI/Oセクションにスキルに送信されるAudioPlayerディレクティブが表示されます。

再生機能がないため、再生中にイベントによってトリガーされるPlaybackNearlyFinishedなどのAudioPlayerリクエストをテストすることはできません。

デバイスアドレスAPI

デバイスアドレスAPIを使用すると、ユーザーのデバイスに関連付けられた所在地情報をリクエストできます。Alexaシミュレーターを使ったテスト時に、スキルはデバイスアドレスAPIを呼び出してエラーのない応答を受け取ることができます。ユーザーがデバイスアドレスの権限を付与しなかった場合のフローをテストすることもできます。

ただし、応答の住所フィールドはnullに設定され、郵便番号フィールドはデフォルトの米国の郵便番号が設定されることに注意してください。

テストページをAlexaアプリの完全なデバイスとして設定することができません。

Displayインターフェース

Displayインターフェースを使用するスキルをテストすることができます。また、デバイスの画面オプションやEcho Spotオプションを有効にして応答がEcho ShowやEcho Spotにおおよそでどう表示されるかを確認できます。ただし、Fire TVなど他のデバイスで応答がどう表示されるかは確認できません。

フラッシュブリーフィングスキル

Alexaシミュレーターはフラッシュブリーフィングスキルのテストをサポートしていません。

GadgetControllerインターフェース(日本未対応)
GameEngineインターフェース(日本未対応)

AlexaシミュレーターでEcho Button(日本未対応)をテストする際には、以下の制限があります。

  • スキルI/Oは、シミュレートされた音声リクエストと起動リクエストのみで利用できます。
  • AlexaシミュレーターでのEcho Buttonの色は、実際のEcho Buttonに表示される色とは一致しない場合があります。色のテストについては、スキルの公開前に実際のEcho Buttonでテストすることをお勧めします。

PlaybackControllerインターフェース

このリクエストは、ユーザーがリモコンなどの機器を操作すると、スキルに送信されます。Alexaシミュレーターを使ってテストすることはできません。

プログレッシブ応答

シミュレーターでは、フル応答の準備ができると、プログレッシブ応答とフル応答が同じオーディオストリームで再生されます。つまり、プログレッシブ応答が聞こえてから、すぐに続けてフル応答が聞こえます。

AlexaリマインダーAPI

シミュレーターでは、スキルで想定されるリマインダーを提供しません。

スマートホームライブデバッガー

スマートホームライブデバッガーはベータ版であり、予告なく変更されることがあります。詳細については、スマートホームスキルのデバッグを参照してください。

VideoAppディレクティブ

Alexaシミュレーターにビデオ再生機能はありません。その代わり、スキルI/Oセクションにスキルに送信されるVideoAppディレクティブが表示されます。

開発者アカウントにAlexa搭載デバイスを登録する

Alexa搭載デバイス(Amazon Echoなど)を使ってテストするには、Amazon開発者ポータルで開発者アカウントのサインアップに使用したのと同じメールアドレスにデバイスを登録する必要があります。Amazon開発者アカウントとは別のアカウントを使用してデバイスをセットアップしている場合、以下の手順に従います。

  1. ウェブバージョンのAmazon Alexaアプリ(alexa.amazon.co.jp)にアクセスし、Amazon開発者アカウントでサインインします。
  2. 画面の指示に従って、開発者アカウントでデバイスを再登録します。これにより、既存のメールアドレスが登録解除されることに注意してください。
  3. デバイスのユーザーとして開発者アカウント以外のアカウントを再度追加する場合、家族機能を使用して登録できます。(日本未対応)

カスタム:

フラッシュブリーフィング:

スマートホーム:

ビデオ:

開発者コンソール: