我正在开发亚马逊Alexa的技能 . 我正在尝试使用echosim.io测试相同但问题如下 .
我的技能名称是 MyBot ,同样是调用名称 .
在echosim.io中,当我说Alexa启动MyBot时,它会给出欢迎回复(我编写的帮助响应) . 当我说出帮助时,它会给我一些我已经输入的帮助回复 .
我有4个意图说
FaqIntentOne
FIntentOne
FaqIntentTwo
FIntentTwo
我的样本话语如下 .
FaqIntentOne what is first answer
FIntentOne give me first answer
FaqIntentTwo what is second answer
FIntentTwo give me second answer
当我运行这些时,Alexa没有给我回复 .
我有正确的方法和正确的响应设置 . 请让我知道为什么它不适用于除内置语言之外的话语 .
当在developer.amazon.com的Alexa测试界面中进行测试时,它正在给我正确的响应 . 这很令人困惑 .
下面是我在代码中的样子 .
if ("FaqIntentOne".equals(intentName) || "FIntentOne".equals(intentName)) {
return getFirstHelp(intent, session);
}
else if ("FaqIntentTwo".equals(intentName) || "FIntentTwo".equals(intentName)) {
return getSecondHelp(intent, session);
}
谢谢
1 回答
虽然亚马逊已经将人们推荐给echosim,但它并非“官方”(它是由第三方开发的),所以如果它在亚马逊的测试环境中运行而不是在echosim中,那么问题可能就在于echosim .
否则,我认为您需要更仔细地查看代码中发生的事情,即 . 调试它或放入一些print语句,并比较以这两种方式调用时会发生什么 .
如果您在Lambda中运行 - 似乎是最常见的 - 那么您需要查看CloudWatch日志 .