【问题标题】:Reset Alexa sessionAttributes重置 Alexa sessionAttributes
【发布时间】:2018-09-11 12:22:35
【问题描述】:

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

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

【问题讨论】:

    标签: alexa alexa-skills-kit alexa-sdk-nodejs


    【解决方案1】:

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

    用户再次打开该技能以与该技能进行交互,这将是一个没有sessionAttributes 本身的新用户会话。

    现在,如果你想结束会话,这反过来又会清除你所做的 sessionAttributes:

    ask-nodejs-sdk v2中,不要指定reprompt,这会自动将shouldEndSession设置为true

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

    ask-nodejs-sdk v1中,使用:tell,这会自动将shouldEndSession设置为true

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多