重置Alexa sessionAttributes

时间:2018-09-11 12:22:36

标签: alexa alexa-skills-kit

在用户活动会话结束时,我想使用handlerInput.attributesManager删除所有sessionAttributes。

如何在AMAZOn.StopIntent结束时删除所有会话

2 个答案:

答案 0 :(得分:1)

即使重新提示后也没有来自用户的输入,或者响应本身的shouldEndSession设置为true,或者响应中有错误,Alexa都会结束其活动会话。在所有这些情况下,sessionAttributes均被清除。因此,您不必显式清除它。

用户已再次打开该技能以与该技能进行交互,这将是一个新的用户会话,其本身没有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');

答案 1 :(得分:0)

我在这里找到了解决方法,

handlerInput.attributesManager.setSessionAttributes({})

return handlerInput.responseBuilder
.speak("Goody Bye")
.withSimpleCard('', "Goody Bye")
.withShouldEndSession(true)
.getResponse()