[Alexa]セッションを終わらせたくない時

alexa

アレクサでセッションを終わらせずに継続したい時の方法をメモ。

セッションを終わらせない

const LaunchRequestHandler = {
        //~中略~
        return handlerInput.responseBuilder
            .speak(speechText)
            .reprompt(speechText) ←これ
            .getResponse();
    }
};
const HogeIntentHandler = {
        //~中略~
        return handlerInput.responseBuilder
            .speak(speechText)
            .getResponse();
    }
};

端的に言うと、return部分に.reprompt(speechText)を追加します。これでセッションが継続されます。

[継続する場合場合]
    "response": {
        "outputSpeech": {
            "type": "SSML",
            "ssml": "テキスト"
        },
        "reprompt": {
            "outputSpeech": {
                "type": "SSML",
                "ssml": "テキスト"
            }
        },
        "shouldEndSession": false ←これが追加される
    },

[継続しない場合]
    "response": {
        "outputSpeech": {
            "type": "SSML",
            "ssml": "コーヒーを1杯承りました"
        }
    },

shouldEndSession:falseが追加されています。

そもそも論ですが、LaunchRequestHandler(1番最初に呼び出されるもの)は継続するやつでしたね。



カテゴリー