ali*_*boy 15 aws-lambda alexa-skill alexa-skills-kit amazon-echo
我正在做其中一个教程(HelloWorld)为Echo制作技能,我按照指示操作.当我使用服务模拟器测试技能时,我输入了
Alexa, tell Greeter to say hello
Run Code Online (Sandbox Code Playgroud)
并返回以下JSON响应:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "Hello World!"
},
"card": {
"content": "Hello World!",
"title": "Greeter",
"type": "Simple"
},
"shouldEndSession": true
},
"sessionAttributes": {}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是正确的输出.然而,当我尝试在我的Echo上测试技能时,Alexa回答"对不起,我没有你的问题." 我继续了历史,Alexa将我的命令解释为"alexa告诉greeter打个招呼".似乎Alexa没有认识到这项技能?
我正在使用Amazon Lambda来执行代码,因此我检查了日志,并且当我向上面讲述命令时代码未执行.
我将javascript文件中的app_id替换为与我的技能相对应的app_id.我也把亚马逊技能套件作为触发器.
我也尝试了其他教程(ChemistryFlashCards和HistoryBuff),Alexa回答说"我不确定你的意思."
不确定发生了什么!任何指导表示赞赏!!
小智 54
为了使您的Echo/Dot/Tap设备能够正确调用您的自定义技能,您的交互模型的语言需要与您的lambda资源部署的区域相匹配.我有这个问题,因为我在EU-West1(爱尔兰)部署了lambda但是交互模型的默认语言是英语(美国).在交互模型中,我添加了一种新的英语(英语)语言并复制了我的意图和话语,然后删除了英语美国语言,我的Echo Dot现在正确地调用了我的自定义技能意图
小智 6
您的设备语言和您在开发者帐户中用于创建自定义技能的语言应该相同。如果您的设备是在英语印度注册的,那么您必须在自定义技能中添加英语印度语言。
检查 Alexa 应用程序设置中的语言 -> 您的 Echo 设备 -> 语言
您是否已根据自己的技能启用了设备测试?
启用此功能后,您可以转到Alexa应用程序的"技能"部分并点击"您的技能"以查看Echo识别的技能列表,检查它是否与您的设备正确关联.你应该看到你的技能上带有一点绿色开发标记.
| 归档时间: |
|
| 查看次数: |
11703 次 |
| 最近记录: |