只有内置的话语工作ASK

时间:2016-12-14 13:30:56

标签: java alexa alexa-skills-kit alexa-skill

我正在开发亚马逊Alexa的技能。我试图使用echosim.io测试相同但问题如下。

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

在echosim.io中,当我说 Alexa启动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);
}

由于

1 个答案:

答案 0 :(得分:2)

虽然亚马逊已经将人们推荐给echosim,但它并非“官方”(它是由第三方开发的),所以如果它在亚马逊的测试环境中工作而不是在echosim中,那么问题可能就在于echosim。

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

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