カスタムスキルをウェブサービスとしてホスティングする



カスタムスキルをウェブサービスとしてホスティングする

クラウド内の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();
    }
}

サーブレットサポートを使用したスキルのサンプルは、こちらを参照してください。