20

我正在做其中一个教程(HelloWorld)来为 Echo 制作技能,然后我按照指示进行操作。当我使用服务模拟器测试技能时,我输入了

Alexa, tell Greeter to say hello

并返回以下 JSON 响应:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Hello World!"
},
"card": {
  "content": "Hello World!",
  "title": "Greeter",
  "type": "Simple"
},
"shouldEndSession": true
  },
  "sessionAttributes": {}
}

我认为这是正确的输出。然而,当我尝试在我的 Echo 上测试该技能时,Alexa 回答“对不起,我没有问你的问题。” 我继续查看历史,Alexa 将我的命令解释为“alexa tell greeter to say hello”。Alexa似乎没有识别技能?

我正在使用 Amazon Lambda 来执行代码,所以我检查了日志,当我向上面的命令发出时,代码没有被执行。

我将 javascript 文件中的 app_id 替换为与我的技能对应的那个。我还把亚马逊技能包作为触发器。

我还尝试了其他教程(ChemistryFlashCards 和 HistoryBuff),Alexa 回复“我不确定你的意思是什么”。

不知道发生了什么!任何指导表示赞赏!

4

7 回答 7

64

为了让您的 Echo / Dot / Tap 设备正确调用您的自定义技能,您的交互模型的语言需要与您的 lambda 资源部署的区域相匹配。我遇到了这个问题,因为我在 EU-West1(爱尔兰)部署了 lambda,但是交互模型的默认语言是英语(美国)。在交互模型中,我添加了一种新的英语(英国)语言并复制了我的意图和话语,然后删除了英语美国语言,我的 Echo Dot 现在正确调用了我的自定义技能意图

于 2016-11-28T20:09:12.397 回答
5

您的设备语言和您在开发者帐户中用于创建自定义技能的语言应该相同。如果您的设备在英语印度注册,那么您必须在您的自定义技能中添加英语印度语言。

检查您的 alexa 应用程序设置中的语言 -> 您的 Echo 设备 -> 语言

于 2017-12-16T16:51:38.740 回答
5

您是否为您的技能启用了设备测试?

在此处输入图像描述

启用此功能后,您可以检查它是否与您的设备正确关联,方法是转到 Alexa 应用程序的技能部分并点击“您的技能”以查看您的 Echo 识别的技能列表。你应该看到你的技能,上面有一个绿色的小开发标签。

于 2016-08-22T14:11:49.910 回答
2

我在北弗吉尼亚地区(用于 Lambda 函数)使用默认的 en-US 语言进行开发,但总部位于印度。我什至尝试在 Alexa 应用程序中使用美国地址,但没有成功。

最后,我添加了所有英语语言(en-IN、en-CA、en-GB、en-EU)并复制了为 en-US 创建的模型 JSON 文件。分别构建它们中的每一个,并为它们中的每一个填写Description -> Skill Preview详细信息。这行得通。

于 2018-08-16T15:54:21.027 回答
0

我使用下面的 5 点检查表,它总是有效的:

1. Under Alexa Language Settings, add all the languages like English-US and English-IN that your Echo devices are likely to be configured with.
2. Freshly build the interaction model and deploy again.
3. Tell Alexa to ignore the Alexa-hosted skill: Instead of its auto-generated lambda code, it should use the external custom lambda that you created.
4. Ensure that the service end point is correct: Under the AWS Lambda ARN, enter your custom lambda ARN for each and every region you will be invoking the skill.
5. In the Alexa simulator, select all the languages one by one in the drop down and test them individually.
于 2020-06-03T17:53:33.303 回答
-1

与语言设置有关的一个问题。

使用https://alexa.amazon.in/或 alexa 应用程序更正 Echo 设备中的语言设置。确保技能和设备启用的语言相同。例如,使用英语印度。

重新启用技能

转到https://alexa.amazon.in/。确保设备在线显示。在您的技能部分禁用该技能。再次启用它。

这应该可以解决问题。

于 2019-01-06T03:52:42.140 回答
-1

大多数情况下,您无法打开技能,因为它与您为 Amazon echo 设备设置的当前语言不同。然后,如果这不起作用,您可能尚未启用技能测试。

此外,如果您想快速启用您的技能,如果您还没有这样做,请说 Alexa(或任何您的唤醒词),启用

于 2019-01-06T06:05:26.640 回答