はじめに
Amazon Echo dot が届いたので、自前スキルを作ってみようと思いました。
『最近公開した映画を教えてくれるスキル』を作ってみることにしました。
映画.comがiCal公開予定スケジュールを公開してくれています。(このスキルはあくまで個人利用のみが目的です。)
スキルの作り方を教えてくれている記事はたくさんあるので
肝心なところだけ書きたいと思います。
Alexaカスタムスキルは、以下の流れで実行します。
(Alexaスキル開発トレーニングシリーズ 第1回 初めてのスキル開発 : Alexa Blogsより引用)
全体図は上図のようになっているそうです。
以下、3点に絞って書きます。
- Alexa -> Lambda
- Lambda -> Alexa
- 実機での利用
Alexa -> Lambda
Amazonアカウントで開発者登録をしてカスタムスキルを作成する際に、エンドポイントを指定します。
ここで、Lambda
の ARN
を指定するだけです。
Lambda -> Alexa
ハンドラに指定している関数で下のように返してやると text
を音声として喋ってくれます。
response = {
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": text,
}
}
}
return response
https://developer.amazon.com/ja/docs/custom-skills/request-and-response-json-reference.html#response-format
上記サイトを見るともっと色んなことができます。
実機での利用
自分の Amazon Echo
にどう公開していない、スキルを入れるかというところです。
カスタムスキルの設定画面のテストタブで下の画像のように
有効
にするだけです。
すると、 Amazon Alexa
アプリに表示されるようになります。(すべてのスキル
で検索してもでてこないですが、有効なスキル
で検索するとでてきました。)
なので、開発者登録するアカウントとAmazon Alexa
アプリにログインするアカウントは同じでないと公開していない自前スキルは使えないようです。
実際に「映画公開情報」というスキルが利用できました。
ソースコードです。
https://github.com/sosuke-k/skill-movie-cal/blob/master/lambda/main.py