【问题标题】:How do I detect when a user ends interaction with alexa?如何检测用户何时结束与 alexa 的交互?
【发布时间】:2018-10-24 17:30:38
【问题描述】:

标题说明了一切。有没有办法让我检测到用户何时结束与 Alexa 的交互?我想在这个时候保存用户的配置。而不是按请求访问数据库。

【问题讨论】:

    标签: aws-lambda alexa alexa-skills-kit voice alexa-skill


    【解决方案1】:

    您可以通过处理SessionEndedRequest来做到这一点。

    这些是来自https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/wiki/Developing-Your-First-Skill 的 sn-ps,它将指导您开发您的第一个 Alexa 技能。

    const SessionEndedRequestHandler = {
        canHandle(handlerInput) {
            return handlerInput.requestEnvelope.request.type === 'SessionEndedRequest';
        },
        handle(handlerInput) {
            //any cleanup logic goes here
            return handlerInput.responseBuilder.getResponse();
        }
    };
    
    'use strict';
    
    const Alexa = require('ask-sdk-core');
    // use 'ask-sdk' if standard SDK module is installed
    
    // Code for the handlers here
    
    let skill;
    
    exports.handler = async function (event, context) {
      console.log(`REQUEST++++${JSON.stringify(event)}`);
      if (!skill) {
        skill = Alexa.SkillBuilders.custom()
          .addRequestHandlers(
            SessionEndedRequestHandler,
          )
          .addErrorHandlers(ErrorHandler)
          .create();
      }
      
      return skill.invoke(event,context);
    }

    【讨论】:

    • 太棒了!谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2014-11-25
    • 2012-07-31
    • 2015-11-11
    • 2012-12-06
    • 2019-07-26
    • 2022-01-10
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多