我做了一个测试技巧,用户首先会收到Alexa的回复,询问他们是否准备继续。在那里,用户必须要么说“是”,要么说“否”来激活相应的AMAZON.YesIntent或AMAZON.NoIntent。然后测试开始,一个用户说一个回答信,然后对每个问题的答案。在我的技能范围内,我使用服务器模拟状态。
通常,我首先要说的是:
“亚历克莎,开始测试技巧”
但是,我发现使用服务器模拟状态并不能为Echo提供非常健壮的语音接口。如果用户说:
“亚历克莎,问一下问答技巧是的”
当亚马逊检测到一个AMAZON.YesIntent时,这个技能将跳转到我要触发的任何设置。这不是我想要的!我希望用户遵循我所设定的技能流程。
有没有一种方法来控制什么意图可以在什么时候被激活?我的一个想法是使用属性来基本上设置下一步允许调用哪些意图。
发布于 2018-02-01 00:42:49
发布于 2018-02-02 12:18:23
虽然我不认为启用/禁用意图是可能的,但您可以更改它们的响应方式。很容易使用session对象来跟踪最后说的意图是什么。然后,您的意图处理程序可以读取会话对象,以查看之前的响应是什么,以便选择如何响应。
在上面的示例中,您可能会将最后一个问题号保存到会话对象中。如果基于前面的(或缺少)问题‘是’是没有意义的,那么您的YesIntent处理程序可以用“对不起,我不知道该怎么做”来回答,甚至可能忽略它,从一开始就启动对话框。
https://stackoverflow.com/questions/48545303
复制相似问题