启动请求亚马逊亚历克萨后的简单话语



我刚刚进入Alexa并制作了经典的"太空事实"技能。但是,我没有找到有关如何在启动请求后添加语句的任何资源。

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

我认为命令"下一个"必须是一个话语。我想过使用插槽或意图确认,但我认为这不会奏效,对吗?

我想要实现的是,在一个空间事实之后,用户可以简单地说"下一个"或"再一个"来再次触发我的函数。

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

空间事实技能有一系列事实。因此,您所要做的就是在用户说"下一个"或"再来一个"时从数组中选择一个。

使用亚马逊。下一个意向
为了捕获用户的"下一个">话语,请在交互模型中使用预定义的AMAZON.NextIntent。因此,当用户说"下一步">时,将映射此意图。还要添加"再来一个">作为此意向的额外话语。

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

注意:为了让 Alexa 在说出第一个事实后等待用户输入,您需要保持会话活动状态。据我所知,事实技能在说出第一个事实后结束会话。

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

阅读此答案以了解有关如何使用 ask-nodejs-sdk 保持会话活动的更多信息。

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

最新更新