Alexa Skill 発話がうまくいかない時の解決方法

はじめに

Alexaスキルを作成し、発話テストしてみたらAlexaから「スキルからの応答に問題があります」ってよく怒られますよね。
これを解決するために、何に注意(注目)すれば良いかのメモ書きです。

怒られる理由

ユーザからの発話をlambda側でうまく処理できていないことで「スキルからの応答に問題があります」と怒られます。

注意点

以下に注意しコードを書くようにしています。
1.発話によるリクエストの分岐処理が書かれているか
 ユーザからの発話は以下3点のリクエストに分類され、まずはこの3種類の分岐処理があることを確認します。
 ・LaunchRequest
 ・IntentRequest
 ・SessionEndedRequest

2.IntentRequestの分岐処理が書かれているか
IntentRequestはいくつかの種類があり、「1」で分岐した先でさらに分岐処理があることを確認します。
 <一部抜粋>
 ・AMAZON.HelpIntent
 ・AMAZON.PauseIntent
 ・AMAZON.ResumeIntent
 ・AMAZON.CancelIntent
 ・新規で作成したインテント
 ・その他「AMAZON.」で始まるインテント

3.キー情報を抜き出せているか
発話によるリクエストはjson形式でlambdaに送信されます。
jsonから抜き出したいキー情報がある時、キーの指定が間違っていないかを確認します。
※「1」「2」もキー情報を抜き出して分岐処理を行います。

4.単純な入力ミスがないか
誤記等の単純な入力ミスがないことを確認します。

5.ログを見る
CloudWatchからログを確認します。
コード内にprint文があるとCloudWatchに出力されるので、分岐のどこに落ちているのかを確認することができます。

その他
サンプルコード
https://github.com/colombo0611/Alexa_AudioPlay/blob/master/sky_timer2.py

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.