0

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

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

4

2 回答 2

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');
于 2018-09-11T12:42:57.717 回答
1

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

handlerInput.attributesManager.setSessionAttributes({})

return handlerInput.responseBuilder
.speak("Goody Bye")
.withSimpleCard('', "Goody Bye")
.withShouldEndSession(true)
.getResponse()
于 2019-04-26T10:57:57.340 回答