Alexa Skills Kit SDK に関する知識ゼロからスタートして、約3週間で、審査を通って公開されたSkillを開発するのに役立ったURL


はじめに

「大事だったところに、赤い印をつけました」(2018年2月時点)
先日、申請したスキルが公式認定を通って公開されたので、各種リンク(公式情報中心)を備忘もかねて投稿します。

リリースしたSkill

家族の要望も入れてつくったクイズのカスタムスキルで、

の二種類です。

Alexa出題「草かんむりに、母と書いて、なんと読むでしょう...?」 → ユーザー回答「苺 !」

のように遊びます。課金予定設定も完全OFFなので、環境のあるかたはぜひ楽しんでいただけたらうれしいです!

(Alexa https://alexa.amazon.co.jp/spa/index.html)

以下のような進行状況でした。

  • 2018/1/21 実機入手 ← スタート
  • 2/3 Alexa公式ハンズオン参加
  • 2/9 「魚へんクイズ」を審査へ提出
  • 同日 フィードバック(申請チェックリスト対応漏れ)
  • 2/13 フィードバック内容修正後、「魚へんクイズ」と「草かんむりクイズ」を審査へ再提出
  • 同日 両スキル審査通過 ← リリース

帰宅して、私が夜中につくって、家族で朝テストするー というようなことをしていました。
「魚へんに”京都のきょう”と書いてなんとよむでしょう」というAlexaの問いに、こどもたちが「ゴリラ-!」と答えるなど、厳しいテストをしてくれました。

TL;DR

公式情報is至高。

  • (重要度:★★★★★)デザインプロセスについて

    • 実装していくうちに「この機能はやめておいた方がいいな…」ということが次々顕れたので「最終的に何がやりたいのか」を単純明快にしておかないと破綻…。Alexa公式の 音声デザインガイド > デザインプロセス が助けになりました
  • [github] alexa公式サンプル他コード群 (重要度:★★★★
    https://github.com/alexa

    • ずばりクイズのサンプルなどもあるので、車輪再発明はせずに、公式からスタート地点をつくれてよかったです
    • インテント・スロット・エンドポイントの3つのちからをどう組み合わせて機能を実現するか、の読み解きについて
    • プログラムを書くエンドポイント(lambda実装など)を中心に実装を考えてしまいがちだったのですが、インテント・スロットへの機能設定次第で可能になることが広がるので、各サンプルの models ディレクトリが参考になりました
  • [alexa] Alexaスキルの音声インターフェースとユーザーエクスペリエンスのテスト (重要度:★★★★
    https://developer.amazon.com/ja/docs/custom-skills/voice-interface-and-user-experience-testing-for-a-custom-skill.html

    • 審査の際、フィードバックで頂いたのはこちらの内容でした。読み漏らしていました…。
  • Alexa公式ハンズオン

    • 「何ができるか」の情報はドキュメントなどで分かる部分が多いのですが、「何ができないか」などを知見の深いかたに直接伺う機会を頂けたので、今後のためにもとても良かったです

↓↓↓ 以下、いろいろリンクです ↓↓↓  

1. アカウント周り(重要度:★★★

[Alexa Blog Japan] Alexa 開発者アカウント作成時のハマりどころ
https://developer.amazon.com/ja/blogs/alexa/post/9f852a38-3a44-48bd-b78f-22050269d7c7/hamaridokoro

  • ↑ まんまとハマって時間を無駄にした
  • 設定項目「開発者名」は原則変更できない(サポート問合せ個別対応事項)
  • ↓ クレジットはスキル公開前から申請できる

[Alexa] AlexaのAWSプロモーションクレジット (申請すれば、Alexaスキルの開発とホスティングがほぼ無料に)
https://developer.amazon.com/ja/alexa-skills-kit/alexa-aws-credits

2. コンセプト検討時

[Alexa docs] 音声デザインガイド > デザインプロセス(重要度:★★★★★
https://developer.amazon.com/ja/designing-for-voice/design-process/

[Alexa blog 日本] Alexaスキル内の広告について( # 開発完了後の認定フェーズで失敗しないために...)
https://developer.amazon.com/ja/blogs/alexa/post/de085f2a-3cfb-4549-9f23-52cdef6f263a/certification-jp-3rd

[google - news] "alexa マネタイズ"
https://goo.gl/dMdqgM

[google - news] "alexa business" # 2018/02/10 時点 alexa for business 日本版リリース時期未定
https://goo.gl/XvgD3R

3. 知識導入

[Alexa] Alexaスキル開発トレーニング 全6回(重要度:★★★
https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill

[github] alexa 公式 alexa/skill-sample-nodejs-fact (最もシンプルなサンプル)
https://github.com/alexa/skill-sample-nodejs-fact/blob/en-US/lambda/custom/index.js

[github] alexa 公式 Alexa 豆知識スキルの作成 手順とサンプル(日本版)
https://github.com/alexa/skill-sample-nodejs-fact/blob/ja-JP/instructions/1-voice-user-interface.md

[Alexa Skills Kit Docs] Alexa Skills Kit用語集
https://developer.amazon.com/ja/docs/ask-overviews/alexa-skills-kit-glossary.html
- 用語集掲載語句について、ひととおり知ってる、となれば基礎知識OKかと

[alexa] 公式イベント(ハンズオン他)
https://developer.amazon.com/ja/alexa/events

4. 実装

[github] alexa公式サンプル他コード群 (重要度:★★★★
https://github.com/alexa

[Alexa 音声デザインガイド] Alexaのセリフについて(重要度:★★
https://developer.amazon.com/ja/designing-for-voice/what-alexa-says/

[Alexa Skills Kit Docs] 一般的標準インテント(日本版で利用可能なもの)リスト(重要度:★★
https://developer.amazon.com/ja/docs/custom-skills/standard-built-in-intents.html

[Alexa Skills Kit Docs] スロットタイプリファレンス(日本版で利用可能なもの)リスト(重要度:★★
https://developer.amazon.com/ja/docs/custom-skills/slot-type-reference.html

[Alexa Skills Kit Docs] カスタムスロットタイプの値に関する推奨事項
https://developer.amazon.com/ja/docs/custom-skills/best-practices-for-sample-utterances-and-custom-slot-type-values.html

[aws] Amazon Developer Forums > Alexa Skills Kit (ASK) (日本語) のすべての投稿
https://forums.developer.amazon.com/spaces/293/alexa-skills-kit-ask-jp.html

5. 認定申請前に(テスト他)

[Alexa blog 日本] Alexaスキル認定へのヒント集
https://developer.amazon.com/ja/blogs/alexa/post/0ce8abf3-2b86-4a1d-9c6f-cee639d8bddf/certification-jp

[Alexa Skills Kit Docs] カスタムスキルの認証要件, 申請チェックリスト(重要度:★★★
https://developer.amazon.com/ja/docs/custom-skills/certification-requirements-for-custom-skills.html

・ ポリシーガイドライン
・ セキュリティ要件
・ 機能テスト
・ 音声インターフェースとユーザーエクスペリエンスのテスト(重要度:★★★★)
  • 使用したSE素材など、スキル構成要素の著作権に関する備考は、「Amazon開発者コンソール > ALEXA > (該当スキル) > 公開情報 > グローバルフィールド > テストの手順」に記入する

留意事項

  • 起動方法とインテント (https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-skills.html)
    • スキルを呼び出すと同時に特定の処理(インテント)をリクエストする 例)「アレクサ、十二星座占いで牡牛座の運勢をチェック」→ IntentRequest
    • 特定のリクエスト(インテント)をリクエストせず、スキルの呼び出しのみをする 例)「アレクサ、十二星座占いを開いて」 → LaunchRequest
    • (右記より)