[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番最初に呼び出されるもの)は継続するやつでしたね。