Сбросить сессию Alexa Атрибуты - PullRequest
0 голосов
/ 11 сентября 2018

В конце активного сеанса пользователя я хочу удалить все атрибуты sessionAttributes, используя handlerInput.attributesManager.

Как удалить все сеансы в конце AMAZOn.StopIntent

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Здесь я нашел решение,

handlerInput.attributesManager.setSessionAttributes({})

return handlerInput.responseBuilder
.speak("Goody Bye")
.withSimpleCard('', "Goody Bye")
.withShouldEndSession(true)
.getResponse()
0 голосов
/ 11 сентября 2018

Alexa завершает свой активный сеанс, когда от пользователя не поступает ввод даже после повторной репликации, или для самого ответа shouldEndSession установлено значение true, или в ответе есть ошибка. Во всех этих случаях sessionAttributes все очищены. Так что вам не нужно явно очищать его.

Пользователь снова открыл навык, чтобы взаимодействовать с навыком, и это будет новый сеанс пользователя без самого sessionAttributes.

Теперь, если вы хотите завершить сеанс, который, в свою очередь, очищает сеанс. Атрибуты, которые вы делаете:

В ask-nodejs-sdk v2 , не указывайте повторную реплику, для shouldEndSession будет автоматически установлено значение true.

return handlerInput.responseBuilder
      .speak("Bye")
      .getResponse();

В ask-nodejs-sdk v1 , используйте :tell, для shouldEndSession будет автоматически установлено true.

this.emit(':tell', 'Bye');
...