启动请求后的简单发言Amazon Alexa

时间:2018-08-29 20:10:38

标签: alexa alexa-skill alexa-voice-service

我刚接触Alexa,并掌握了经典的“太空事实”技能。但是,在启动请求之后,我找不到任何有关如何添加语音的资源。

我想做的事的一个例子: 我:Alexa开放空间事实 Alexa:土星很大 我:下一个

我认为命令“ next”必须是一种话语。我曾考虑过使用广告位或意向确认,但我认为这样还行得通吗?

我想要实现的是,在遇到一个空格之后,用户只需说“下一个”或“另一个”即可再次触发我的功能。

我只是错过了什么吗?没有记录吗?还是不可能?

2 个答案:

答案 0 :(得分:0)

“太空事实”技能有一系列事实。因此,您要做的就是在用户说“下一个”或“再一个”时从阵列中选择一个。

使用AMAZON.NextIntent
为了捕获用户的“下一步” 话语,请在交互模型中使用预定义的AMAZON.NextIntent。因此,当用户说“ Next” 时,此意图将被映射。还要添加“更多” 作为此意图的补充说明。

现在,在您的后端代码中添加AMAZON.NextIntent处理程序,并从事实数组中获取另一个事实作为响应。 (添加一些逻辑,以便该技能不会再随机返回相同的事实。您可以使用sessionAttributes来跟踪读取的事实索引)

注意:要让Alexa说出第一个事实后等待用户输入,您需要保持会话状态。据我所记得,事实技能在讲完第一个事实之后就结束了会议。

根据响应中的shouldEndSession参数使会话保持活动状态。对于任何请求(如果未提供),shouldEndSession默认为true。在您的情况下,对LaunchRequest的响应应将此shouldEndSession参数设置为false。只有会话保持打开状态,用户才能说出“下一个”

阅读this answer,以了解有关如何使用ask-nodejs-sdk使会话保持活动状态的更多信息。

答案 1 :(得分:0)

仅在“构建”选项卡下的ASK开发人员控制台中添加您的对话(话语和回复)。 您将需要执行以下操作- 1.创建意图 2.添加话语 3.添加回复 4.保存并构建