作者:芳芳的地盘1990 | 来源:互联网 | 2022-12-09 19:15
我是Alexa Skills的新手,但同时我阅读了大量的信息和教程.
幸运的是,我现在能够在我自己的服务器上创建自己的自定义技能(基于PHP),它已经可以使用不同的意图,话语,插槽等.现在,我希望Alexa读取项目列表(我发送通过PlainText中的JSON)但我找不到任何有关如何执行此操作的信息.
我假设有两种选择(如果我错了请纠正我):
发送包含一个项目的JSON答案 - Alexa读取此项 - 用户说例如"下一个" - Alexa向我的服务器请求下一个项目 - 我的服务器发送下一个JSON答案......依此类推.
发送包含数组中所有项目的JSON答案 - Alexa逐个读取每个项目.
我不确定哪种解决方案可行,以及如何解决.那么,任何人都可以帮我这个或者给我一些信息吗?
1> Cicil Thomas..:
两种方式都是可能的,哪种方式可供选择取决于您列出的内容.
使用AMAZON.NextIntent
如果单个列表项包含项目名称及其中的一些详细信息,那么一次性读取它将不是一个好的用户体验.在这种情况下,您可以使用AMAZON.NextIntent
来处理用户"下一步"请求.
当用户要求列表时,请在响应中提供第一项并跟踪该项目index
的响应sessionAttributes
.您也可以设置STATE属性,以便AMAZON.NextIntent
在给出下一个项目之前可以在处理程序中检查此状态.
"sessionAttributes": {
"index": 1,
"STATE": "LIST_ITEMS"
}
当用户说"下一步"时,
检查是否state
是,LIST_ITEMS
并根据index
列表中的下一个项目.并在sessionAttributes
增量index
有关sessionAttributes和Response Parameters的更多信息,请点击此处
现在,如果您的商品只是名称,那么您可以一个接一个地阅读它.
在这两种解决方案中,使用SSML
而不仅仅是使用它总是好的PlainText
.SSML
让您更好地控制您的回复方式.
更多关于SSML
这里