LoginSignup
26
18

More than 5 years have passed since last update.

Alexa Skillsを公開する流れ

Last updated at Posted at 2016-06-01

デベロッパーコンソールでテストが出来たり、https://echosim.io/でブラウザ上でSkillを実行できたりと、Skillの開発環境が色々と揃ってきました。

そこで、実際に作ったSkillが公開されるまでの流れをまとめてみました。

Skillの登録

以前に書いたAmazon Alexa Skills Kitを調べてみるのように、Amazon.comのアカウントが必要です。そのアカウントを利用して、developer portalにログインして登録します。

メニューのAlexaを選ぶとAlexa Skills KitAlexa Voice Serviceが選べるので、Alexa Skills Kitを選びます。
スクリーンショット 2016-06-01 22.16.24.png

すると自分が作成したSkillの一覧画面に移動します。
スクリーンショット 2016-06-01 22.19.26.png
右上のAdd a New Skillをクリックします。

基本情報の登録

スクリーンショット 2016-06-01 22.21.32.png
今回は、通常のSkillを作成するのでCustom Interaction Modelを選びます。NameにはSkill名を入力します。ここに入力したSkill名がAlexa AppやEchoのskill一覧に表示されます。Invocation Nameには、Skillを実行するときのワードを入力します。今回は月の月齢を尋ねるSkillを作ってみたので、Moon Ageとしました。Alexaに実行させる場合はAlexa, ask Moon Ageのように話しかけることで、Skillが呼び出され、今日の日付の月齢を答えてくれます。
Invocation Nameに登録できる単語には使える文字や数などの制約があり、当然ながらEchoAlexaAmazonと言った単語も使えません。
注意)以降の画像でアイコンが表示されていますが、全部登録した後に撮ったスクショなのでそうなっています。実際はアイコン画像を登録するまでは何も表示されていません。

Intent Schema

スクリーンショット 2016-05-29 21.45.24.png
ここでは、Alexa, ask Moon Ageと問いかけた時に呼び出されるIntentの定義を行います。Moon Ageでは追加のキーワードを指定しないので、slotと呼ばれるキーワードの定義はしません。
もしMoon Ageが今日のではなく特定の日の月齢を返すSkillとして作る場合は、Intent Schemaは以下の様な形になります。

{
  "intents": [
    {
      "intent": "AskMoonAge",
      "slots": [
        {
          "name": "Date",
          "type": "AMAZON.DATE"
        }
      ]
    }
  ]
}

Sample Utterances

スクリーンショット 2016-05-29 21.45.31.png
ここでは、Intentと実際に発話をひも付けます。Moon AgeはAlexa, ask Moon Ageと1種類だけですので、ask moon ageを先ほど登録したIntentのAskMoonAgeとひも付けます。
特定の日の月齢を調べられるように作った場合は、以下のようにそのパターンも書いてあげます。

AskMoonAge ask moon age
AskMoonAge ask moon age for {Date}

Endpoint

スクリーンショット 2016-05-29 21.45.38.png
LambdaでSkillを作ったので、ここではLambdaのエンドポイントを入力します。
アカウントの連携もしないのでAccount LinkingNoを指定。

Test

スクリーンショット 2016-05-29 21.45.45.png
ここまで情報を埋めると、実際にSkillのテストが行えます。
スクリーンショット 2016-05-29 21.46.04.png
Enter Utteranceの所に、Alexaに問いかける文章を入力してAsk Moon Ageボタンをクリックすると、Lambdaに送信されるリクエストと、Lambdaが返してきたレスポンスの内容を確認することが出来ます。

Publishing Information

スクリーンショット 2016-05-29 21.46.12.png
公開するための情報を入力します。
Example Phrasesには、Alexaにどのように話しかけることで実行できるかのサンプルを書きます。

スクリーンショット 2016-05-29 21.46.21.png
カテゴリー、Skillの検索キーワード、アイコンを登録します。
Testing Instructionsには作成したSkillをレビューチームがどうテストすればいいかを書きます。

Privacy & Compliance

スクリーンショット 2016-05-29 21.46.30.png
Skillを利用するのにお金が必要か?個人情報を収集するか?と言った質問に答えます。
例えば、Alexa経由でピザを注文できるようなSkillを作ったならば、届け先住所などの情報も収集することになるので、プライバシーポリシーや利用規約のURLも指定する必要があります。
Moon Ageは非常に単純なSkillなので、URLは未入力でも大丈夫でした。(今後もそうとは限りません)
Export Complianceは、EAR (米国輸出規則) に準拠しているかを聞かれていますが、SkillはSSLに対応したエンドポイントじゃないと作成できないので、必ずチェックをつけることになります。
チェックつけた後にSaveをクリックして保存すると、Submit for Certificationがクリックできるようになります。

確認ダイアログ

スクリーンショット 2016-05-29 21.46.38.png
Submit for Certificationをクリックするとダイアログが表示されるので、問題なければYesをクリックします。
スクリーンショット 2016-05-29 21.46.51.png
これで、審査が行われます。
審査中は設定を変更することが出来ないので、変更したい場合はwithdraw from Certificationをクリックして申請を取り下げます。
スクリーンショット 2016-05-29 21.47.07.png
一覧に戻ると、審査中ステータスになってます。

審査終了

審査が終わるとその旨を伝えるメールが届きます。
そして、Skillの一覧には公開されているSkillが増えています。
スクリーンショット 2016-05-31 22.30.16.png

実際に試していないけど、Skillの設定を変えたら再度審査になるのかな?

メトリックス

開発版も公開されている物も呼びだされた回数をグラフで見ることが出来ます。
スクリーンショット 2016-06-01 23.41.28.png

あとがき

すごく簡単なSkillを作って実際に公開するまでの手順を書きましたが、結構簡単ですね。初期の頃と比べるとテストも簡単にできるし。
Lambda使えばサーバを用意する必要もないですし、負荷もほとんど気にする必要が無いので、何かいいアイディアがあれば作ってみるのもいいと思います。

26
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
18