我正在玩Alexa SDK,我遇到了一个奇怪的行为。我正在尝试实现用户结束会话的所有可能方式。我遇到的问题是"退出"返回Alexa说"出现问题......"并立即退出技能。所有其他单词如" stop"或者"取消"工作正常并返回再见信息。
以下是我实现处理程序的方法:
'AMAZON.CancelIntent': function () {
this.emit('SessionEndRequest');
},
'AMAZON.StopIntent': function () {
this.emit('SessionEndRequest');
},
'SessionEndRequest': function() {
const speech_output = 'Goodbye and take care!'
this.emit(':tell', speech_output);
},
正如您所看到的,为了尽可能简化这一点,我将 StopIntent 和 CancelIntent 重定向到 SessionEndRequest ,它将返回一个再见信息。这很好用,除了"退出"这是不被承认的。
有没有办法实现这个?我尝试使用自定义意图(称为ExitIntent)和话语"退出"加上其他一些像"看到你","直到下一次"并且所有工作都很好,除了"退出"发声。
还是有办法处理一个无法识别的话语 - 即。返回 HelpIntent ?
答案 0 :(得分:2)
如果您想处理无法识别的话语,只需创建Unhandled
请求即可。
'Unhandled': function () {
const speech_output = 'Goodbye and take care!'
this.emit(':tell', speech_output);
}
这可以解决您的“退出”无法解决的问题。
答案 1 :(得分:0)
我有同样的问题。简单修复,将“退出”添加为AMAZON.StopIntent