スキルのビルド
Alexa Skills Kit(ASK)には、Alexaスキルの開発に使用する開発ツールやライブラリが用意されています。音声対話モデルを選択して開発するスキルの種類を決めたら、スキルの開発を始めましょう。スキルの種類の詳細とスキルの種類に関するドキュメントへのリンクについては、 スキルの種類の一覧を参照してください。
スキル開発の前提条件
どのタイプのスキルを開発する場合でも、Amazon開発者アカウントが必要です。既存のAmazonアカウントを使用してサインインすることも、新しいAmazonアカウントを作成することもできます。ほとんどのスキルで、アマゾンウェブサービス(AWS)アカウントも必要になります。
スキルコードを開発するには、以下のものが必要です。
- スキルの作成と設定を行うためのAlexa開発者コンソールまたはASKコマンドラインインターフェース(CLI)。
- Node.js、Java、Pythonで利用できるAlexa Skills Kit SDK。ASK SDKは、Alexaの機能にプログラムでアクセスできるソフトウェア開発ツールとライブラリです。
- 任意のコードエディター。たとえば、ASK拡張機能を使ったVisual Studio (VS) Codeなどがあります。拡張機能は、VS CodeにAlexaスキル専用のワークスペースを提供します。
カスタムスキルの場合、Alexa-hostedスキルオプションを選択すると、Alexa開発者コンソールで直接コードを作成できます。このオプションを使えば、すぐにスキル開発を開始できます。 - (任意で)Alexa Presentation Language(APL)オーサリングツールを使うと、画面付きAlexa搭載デバイスでカスタムスキルを補完する視覚エクスペリエンスを作成することができます。
プリビルド音声対話モデルを使う
プリビルド音声対話モデルのいずれかを使ってスキルをビルドする場合は、以下のものが必要です。
-
クラウドベースのサービスをホストする、インターネットアクセス可能なエンドポイント。プリビルド音声対話モデルを使う種類のスキルは、ほとんどがAWS Lambdaを使用する必要があります。個人のAWS LambdaリソースにLambda関数を作成します。
-
スキルコードに使用する予定のプログラミング言語に適した開発環境。Lambda関数のオーサリングには、Node.js、Java、Python、C#、Goを使用できます。
-
スマートホームスキルの場合、制御する予定のクラウド対応デバイス(照明、スイッチ、サーモスタットなど)とデバイスを制御するクラウドベースのサービスまたはハブ。
-
音楽、ラジオ、ポッドキャスト、ビデオ、会議、教育スキルの場合、クラウド対応サービスプロバイダー。
-
フラッシュブリーフィングスキルの場合、インターネットでアクセスできるコンテンツフィード(継続的にコンテンツが更新されているもの)。
-
(任意)テスト用のAlexa搭載デバイス。スキルが機能するのは、Amazon Echoや、Amazon Echo Dot、Echo Show、Fire TV Cube、Fire TVなどのAlexa搭載デバイスと、Alexa Voice Service(AVS)を使用するすべてのデバイスです。
デバイスがない場合は、デバイスなしでスキルをテストできます。開発者コンソールまたはVisual Studio CodeでAlexaシミュレーターを使用してテストします。
-
スキルアカウントとAlexaアプリ間のアカウントリンクコンフィギュレーション(該当する場合)。
カスタム音声対話モデルを使う
カスタム音声対話モデルを使ってスキルをビルドする場合は、以下のものが必要です。
-
クラウドベースのサービスをホストする、インターネットアクセス可能なエンドポイント。
Alexa-hostedオプションを選択した場合、AlexaがAWS Lambda上でスキルをホストします。スキルはLambda関数として実行され、メディアの保存用にAmazon S3バケットへのアクセス、データの永続化用にAmazon DynamoDBテーブルへのアクセスを取得します。Alexa-hostedオプションの詳細については、Alexa-hostedスキルを使用してスキルをエンドツーエンドで作成するを参照してください。
独自のバックエンドリソースをAWS上にプロビジョニングしてから、AWS Lambda上でスキルをホストするオプションもあります。詳細については、カスタムスキルをAWS Lambda関数としてホスティングするを参照してください。
または、カスタムスキルを開発し、HTTPSウェブサービスとしてホストすることもできます。このオプションでは、クラウドホスティングプロバイダーとSSL証明書が必要になります。詳細については、カスタムスキルをウェブサービスとしてホスティングするを参照してください。
-
スキルコードに使用する予定のプログラミング言語に適した開発環境。Alexa-hostedスキルオプションを選択する場合、Node.jsまたはPythonでコードを記述します。Lambda関数のオーサリングには、Node.js、Java、Python、C#、Goを使用できます。ウェブサービスのオーサリングには、ウェブサービスに適した任意の言語を使用できます。
-
作成するスキルで使用する任意の画像、オーディオファイル、ビデオファイルをホストする、パブリックにアクセス可能なウェブサイト。Alexa-hostedバックエンドリソースを選択する場合、Alexaはコンテンツの保存にAmazon S3バケットを割り当てます。
-
(任意)テスト用のAlexa搭載デバイス。スキルが機能するのは、Amazon Echoや、Amazon Echo Dot、Fire TVなどのAlexaを搭載デバイスと、Alexa Voice Serviceを使用するすべてのデバイスです。
デバイスがない場合、開発者コンソールかVS CodeでAlexaシミュレーターを使うことで、デバイスを使わずにスキルをテストできます。
-
スキルアカウントとAlexaアプリ間のアカウントリンクコンフィギュレーション(該当する場合)。
詳細については、カスタムスキルとはを参照してください。
Alexaスキル開発用ツール
次のオプションのいずれかまたは複数を組み合わせて、スキルの作成と設定を行います。
- Alexa開発者コンソール。スキルの作成、管理、公開を行うグラフィカルユーザーインターフェース(GUI)です。
- ASK CLIを使用すると、ほとんどのAlexaスキルのタスクをコマンドラインから実行できます。
- スキル管理APIを使用すると、RESTful HTTPインターフェースを使ってスキル管理タスクをプログラムから実行できます。
- AWSツールを使用すると、クラウドベースのAWSツールを使ってAlexaスキルの作成、ビルド、管理ができます。
スキルに追加可能な機能
スキルの種類や機能に基づいて、次のような機能をスキルに追加できます。
- APLを使用したスキルの視覚コンテンツの作成
- アカウントリンク
- スキルの収益化
- リマインダーのスキルへの組み込み
- スキルへのAlexaショッピングアクションの追加
- タイマーのスキルへの組み込み
- スキルでのイベントの使用
- Alexa for Appsの追加
その他のリソース
Alexaスキルの開発方法については、以下の追加リソースを参照してください。
- プリビルド音声対話モデルのチュートリアル:スマートホームスキルのチュートリアル
- カスタム音声対話モデルのチュートリアル:魅力的なスキルを開発する
- YouTubeの「Zero to Hero」シリーズ: Zero to Hero、パート1: Alexa Skills Kitの概要(英語のみ)
- Alexa GitHubのコードサンプル
- Skill Flow Builderプロトタイピングツール
関連トピック
最終更新日: 2022 年 01 月 24 日