首页 > 解决方案 > Amazon Alexa Skills - 如何在技能中添加循环?

问题描述

我想创建一个简单游戏的技能,首先用户使用其调用名称启动技能,然后 Alexa 提出一个问题,“我要掷骰子吗?” 如果用户回答“是”,它会掷骰子并说出结果。然后 Alexa 再次问:“我要掷骰子吗?” 如果“是”,做同样的事情。这是我正在谈论的主循环,它会一直持续到用户对此问题回答“否”或“退出”。

我只是不知道如何添加循环,或者它应该去哪里。我看过教程和视频之类的东西,我发现没有提到一个我觉得很奇怪的循环。但我在这方面是个菜鸟。

任何帮助都是极好的。我一直想做这个技能很长时间,但只是被困在这个循环上。

标签: alexaalexa-skills-kitalexa-skillalexa-app

解决方案


我建议您花一些时间来了解一项技能的工作原理,然后我建议您从该文档中开发一项测验技能

然后,您将更好地了解如何向 Alexa 服务发出请求以及如何返回响应。Intent 背后的逻辑,插槽如何工作,...

Alexa Skill 就像纸牌游戏。玩家可以随时选择任何一张牌。每张卡片都有自己的功能,由声音触发。

所以当技能第一次询问用户时Shall I roll the dice?,用户会说要么yesno

如果用户说是,它将转到您的 AMAZON.YesIntent,如果用户说不,它将转到您的 AMAZON.NoIntent。

但是您还需要确保用户也可以说:

  • 停止 > Amazon.StopIntent
  • 其他任何东西,例如奶酪 > FallbackIntent

通过完成上面提到的测验技巧,您将了解如何有效地构建您的交互模型。

循环很简单。如果用户回答是,那么在您的 AMAZON.YesIntent 意图处理程序中,您将需要触发将注入的相同函数,在响应构建器中提示:Shall I roll the dice ?

请记住,用户也可以要求重复。想象一下作为个人助理的技能。这不是语音邮件。还有很多其他方式可以说Shall I roll the dice?听起来不像机器人。尝试实施不同的响应值,以获得良好的整体客户体验。


推荐阅读