カスタムスキルをウェブサービスとしてホスティングする
Note: Sign in to the developer console to build or publish your skill.
カスタムスキルをウェブサービスとしてホスティングする
クラウド内のAlexaサービスからリクエストを受け付けて応答を返すサーブレットを拡張することにより、Alexa用のカスタムスキルを開発できます。
サーブレットがAlexaから送信されたリクエストを処理するには、特定の要件を満たし、Alexa Skills Kitインターフェース規格に準拠する必要があります。詳細については、Alexa Skills Kit技術資料のカスタムスキルをウェブサービスとしてホスティングするを参照してください。
ASK SDKサーブレットサポート
Alexa Skills Kit SDK(ASK SDK)for Javaでは、リクエスト検証用とタイムスタンプ検証用のボイラープレートコードがask-sdk-servlet-supportパッケージで提供されています。このパッケージは、検証コンポーネントとスキル呼び出しのためのSkillServletを提供します。
インストール
最新バージョンのask-sdk-servlet-support
をインポートするには、Mavenの依存関係としてプロジェクトのpom.xml
に追加します。
スキルサーブレット
SkillServletクラスは、SkillBuilder
オブジェクトからスキルインスタンスを登録し、doPost
メソッドを提供します。これは受信リクエストのデシリアライズ、スキルを呼び出す前の入力リクエストの検証、生成された応答のシリアライズを実行します。
使い方
public class HelloWorldSkillServlet extends SkillServlet {
@Override
public HelloWorldSkillServlet() {
super(getSkill());
}
@Override
private static Skill getSkill() {
return Skills.standard()
.addRequestHandlers(
new CancelandStopIntentHandler(),
new HelloWorldIntentHandler(),
new HelpIntentHandler(),
new LaunchRequestHandler(),
new SessionEndedRequestHandler())
// 以下にスキルを追加します
//.withSkillId("")
.build();
}
}
サーブレットサポートを使用したスキルのサンプルは、こちらを参照してください。