Amazon Echoのスキル開発さわりだけ

日曜日 , 29, 7月 2018 Leave a comment

 .NETラボ 勉強会 2018年7月勉強会でLTしてきたけど、5分で言い切れなかったのでここにまとめておこうと思う。

 実際に開発するための資料としては、

 Alexaスキル開発トレーニング

 が良く書かれているので、Hello World的なアプリを動かす場合、こちらを参考にすると良いと思います。

 

 ということで、今回は流れだけ書いておきます。

 

開発してデバッグするだけなら実機不要

 

 Amazon Echo上で動作するアプリをスキルというのですが、スキル開発をやってみるだけならAmazon Echo端末が無くても、ブラウザだけで実行可能です。

 

 以下を利用するために開発者用アカウントを作成を作成すればOK。

 Alexa Skill Kit
 https://developer.amazon.com/ja/alexa-skills-kit

 

 Amazon 開発者ポータル – Amazon Developer
 https://developer.amazon.com/ja

 

 *端末はAmazon Echoなどですが、動作している音声サービス名がAlexaなので今後Alexaという名前がよく出てきます。

 

Alexa Skill Kit

 アプリを起動するための音声の設置や、アプリがどのように応答するのかなどの設定を行います。

 Webベースなので何かソフトをダウンロードしてインストールするという流れは不要です。

 また、ストアにアプリを提出するための情報の登録や、テスト、ベータテスト(実機転送)などもここから行います。

 

 開発視点だと、Alexa Skill Kitではユーザーとどのように対話を行うかのUIを定義します。

 

 例えば「サンプル運勢」スキルは「Alexa サンプル運勢を開いて」というユーザーの言葉によって起動するという定義をAlexa Skill Kitで行います。

 起動後に「今日の運勢を教えて」という問い合わせがあればサーバーの「getTodaysFortune」という処理を呼び出す、という定義も行います。

 

 対話によって呼び出された処理は後述するサーバー側で行います。

 サーバーは自サーバーでも良いですが、最初はAWS Lambdaを使うと楽です。

 

 

AWS Lambda

 

 プログラムを実行して、応答に対する返事を行う部分です。

 

 先ほどの例だとgetTodaysFortuneの実装はサーバー側に記述します。

 

 AWS Lambdaの場合はNode.jsで記述しますが、応答の形式さえ沿っていれば自サーバーで好きな言語を用いることも可能だと思います。

 

 Node.jsの編集もWeb上で可能です。コード補完もあって簡単な編集なら全然OK。

 

テスト

 

 Alexa Skill Kitとサーバー側の作業が終わったらAlexa Skill Kitでテストができます。

 Alexaシミュレーターというツールが「テスト」タブにあるので、マイクで話しかけたり、マイクが無ければテキスト入力で動作を確認できます。

 

 

実機に転送

 

 実機がある場合は開発用にベータテストとして実機に転送して90日間動かすことができます。

 

 「公開」タブの「公開範囲」からベータテストを有効にします。

 ベータテストを行うには認定に必要な情報を同じく「公開」タブで行う必要がありますが、実際に認定に出すまでやる必要は無いので、仮の情報でも大丈夫です。

 

 ベータテストが有効になったら、実機に紐づけたAmazonアカウントのメールアドレスを招待先に追加します。

 追加されるとメールが飛ぶので、メールに記載されたリンクからAmazon Alexaアプリ(スマフォアプリなど)を起動し、招待を受けます。

 そうすると通常のスキルをAmazon Echoにインストールするのと同じ流れで、ベータテスト用のアプリがインストールできます。

 

 以上、Alexaスキル開発の流れでした。

 

補足:躓いたこと

 

 AWSの開発用アカウントが無効になっていた。

 忘れていましたが、自分で課金されないために停止していました。再開する方法はフォームから「停止してるから開始してね」と依頼する。

 

 エンドポイントの「デフォルトの地域」欄でError code: SkillManifestError。

 私のケースではLambda側で編集していたコードを保存していなかったためでした。保存した解消。

 

当日のスライドも公開

 

 当日利用したスライドも掲載しておきます。

 前半がLTとしては余分だったなぁと反省・・・。

Amazon echoがやってきた from Makoto Nishimura

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です