在用户活动会话结束时,我想使用handlerInput.attributesManager
删除所有sessionAttributes。
如何在AMAZOn.StopIntent结束时删除所有会话
答案 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()