0

我正在开发 Amazon Alexa 的技能。我正在尝试使用 echosim.io 进行相同的测试,但问题如下。

我的技能名称是MyBot,同样是调用名称。

在 echosim.io 中,当我说Alexa Launch MyBot时,它会给出欢迎响应(我编写的帮助响应)。当我说help时,它会给我输入的帮助响应。

我有 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);
}

谢谢

4

1 回答 1

2

尽管亚马逊已将人们推荐给 echosim,但它不是“官方的”(它是由第 3 方开发的),所以如果它在亚马逊的测试环境中而不是在 echosim 中工作,那么问题可能出在 echosim 上。

否则,我认为您将需要更仔细地查看代码中发生的情况,即。调试它或放入一些打印语句并比较以这两种方式调用时发生的情况。

如果您在 Lambda 中运行 - 似乎是最常见的 - 那么您需要查看 CloudWatch 日志。

于 2016-12-14T16:53:10.130 回答