Alexa のスキルを開発するためには、Alexa開発者コンソールを使用できる開発者アカウントが必要になります。
開発者アカウントの登録は、無料です。
開発者アカウントは、次のような流れで作成します。
- amazon.co.jp アカウントを作成する
- Amazon Developer アカウントを作成する
Alexa開発者コンソールのアカウントは、普段使っている Amazon ショッピングサイト(amazon.co.jp)のアカウント(メールアドレス)を使って作成します。
Amazon のアカウントを持っていないときは、Amazon にアクセスして、アカウントを作成してください。
開発者アカウントを作成する
Amazon Developer にアクセスし、右上のログインをクリックします。
ログイン画面が表示されるので、amazon.co.jp のアカウントでログインします。
ログインができたら、右上のアイコンから「登録を完了する」をクリックし、必要事項を入力してください。
Amazon Developer からアカウントを作成しない理由
Amazon Developer のログイン画面から、開発者アカウントを作成することもできます。
しかし、このログイン画面から開発者アカウントを作成すると、USのアカウントが作成されてしまいます。
USのアカウントで開発を進めると、普段使っている Alexa アプリでうまく試すことができません。
そのため、日本語版のアカウントである amazon.co.jp からカウントを作成し、そのアカウントから開発者アカウントを作成します。
詳しくは、以下のサイトを参照してください。
スキルを作成する
開発者アカウントができたら、Alexa開発者コンソールにアクセスし、「スキルの作成」をクリックします。
名前、ロケール
スキル名に「ハローワールド」、プライマリロケールで「日本語」を選択して「次へ」をクリックします。
エクスペリエンス、モデル、ホスティングサービス
エクスペリエンスのタイプは「ゲーム&トリビア」、モデルは「カスタム」、ホスティングサービスは「Alexa-hosted(Python)」、ホスト地域は「米国西部(オレゴン)」を選択します。
エクスペリエンスで選択するタイプによって、表示されるモデルが変わります。「その他」を選択すれば、すべてのモデルが表示されます。
Alexa スキルを作成するには、スキルのコードやリソースを開発者が保存する必要があります。
Alexa-hosted を選択すれば、Alexa がコードとリソースを Amazon Web Services(AWS)に保存してくれます。
Alexa-hosted を使うのに、AWS アカウントは必要なく、AWS 無料利用枠で使うことができます。
Alexa-hosted では、Node.js と Python が提供されているので、好きな方を選んでください。
ホスト地域は、ホスティングする AWS リージョンになります。日本の場合は、米国西部(オレゴン)が推奨されています。
テンプレート
Templates は「スクラッチで作成」を選択し、「次へ」をクリックします。
内容を確認して、「スキルを作成」をクリックします。
呼び出し名を変更する
Alexa でスキルを呼び出すには、呼び出し名が必要になります。
たとえば、「今日の星占い」というスキルがあるとき、ユーザーは次のようにスキルを開きます。
アレクサ、今日の星占いを開いて
左パネルの「呼び出し」→「スキルの呼び出し名」をクリックし、スキルの呼び出し名に「ハローワールド」と入力します。スキルの呼び出し名は、日本語で入力します。
入力が終われば「保存」をクリックし、右上の「スキルをビルド」をクリックします。
スキルをテストする
スキルをテストをしてみましょう。テストタブをクリックします。
テストが「非公開」になっているため、「開発中」に変更します。
左側の入力ボックスを使えば、Alexa にしゃべりかけることができます。
入力ボックスに「ハローワールドを開いて」と入力し、Enter をクリックします。
Alexa が応答し、スキルのテストをすることができます。
アレクサのことばを変える
スキルを開いたときの Alexa のしゃべることばを変更します。
コードエディタタブをクリックして、コードエディタを開きます。
LaunchRequestHandler クラスを探します。
class LaunchRequestHandler(AbstractRequestHandler):
"""Handler for Skill Launch."""
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return ask_utils.is_request_type("LaunchRequest")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
speak_output = "Welcome, you can say Hello or Help. Which would you like to try?"
return (
handler_input.response_builder
.speak(speak_output)
.ask(speak_output)
.response
)
次のような speak_output 変数の文字列を変更します。
speak_output = "Welcome, you can say Hello or Help. Which would you like to try?"
「こんにちは。ハローワールドへようこそ。」と変更しましょう。
変更したら、「保存」→「デプロイ」の順でクリックします。
デプロイが終われば、再度テストを行ってみましょう。Alexa のしゃべることばを変えることができました。
まとめ
- Alexa スキルを開発するには、開発者アカウントが必要です。
- 開発者アカウントは、amazon.co.jp で使っているアカウントを使って作成します。
- Alexa-hosted を使えば、AWS に保存されて無料利用枠内で使うことができます。