alexa - 列出自定义 Alexa 技能
问题描述
我是 Alexa Skills 的新手,但同时我已经阅读了大量的信息和教程。
幸运的是,我目前能够在自己的服务器上创建自己的自定义技能(基于 PHP),并且它已经使用不同的意图、话语、插槽等工作。现在,我希望 Alexa 读取项目列表(我发送通过 JSON)在纯文本中,但我找不到任何信息如何做到这一点。
我假设有两种选择(如果我错了,请纠正我):
发送一个包含一个项目的 JSON 答案 - Alexa 读取这个项目 - 用户说例如“下一个” - Alexa 向我的服务器请求下一个项目 - 我的服务器发送下一个 JSON 答案......等等。
发送包含数组中所有项目的 JSON 答案 - Alexa 一个接一个地读取每个项目。
我不确定哪种解决方案是可能的以及如何解决。那么,任何人都可以帮助我或向我指出一些信息吗?
解决方案
这两种方式都是可能的,选择哪一种取决于您列出的内容。
使用 AMAZON.NextIntent
如果单个列表项包含项目名称和有关它的一些详细信息,那么一口气读出它不会是一个好的用户体验。在这种情况下,您可以使用AMAZON.NextIntent
来处理用户的“下一个”请求。
当用户请求列表时,给出响应中的第一个项目并跟踪index
响应中的项目sessionAttributes
。您也可以设置一个 STATE 属性,以便您可以在AMAZON.NextIntent
处理程序中检查此状态,然后再提供下一个项目。
"sessionAttributes": {
"index": 1,
"STATE": "LIST_ITEMS"
}
当用户说“下一个”时,
检查是否state
是LIST_ITEMS
并且基于index
从您的列表中给出下一个项目。并且在sessionAttributes
增量index
更多关于 sessionAttributes 和 Response 参数的信息
现在,如果您的项目只是名称,那么您可以一个接一个地阅读它。
在这两种解决方案中,使用它总是很好,SSML
而不仅仅是PlainText
. SSML
让您更好地控制您的回答的表达方式。
更多关于SSML
这里
推荐阅读
- python - 锁定时检查iPhone是否连接到WiFi
- node.js - Telegram bot 分组中的可单击命令,但单击它们会提到该 bot
- python - 滑索安装错误:bcolz 的构建轮失败
- vb.net - 如何在调试模式下修复运行缓慢的程序
- node.js - 解决节点中导入的 .jsx 扩展
- unity3d - Watson 语音转文本在 Unity 上立即断开连接
- python - Beautiful Soup 如何提取类属性值?
- linux - bash中的拼写错误,不知道是什么错误
- r - 无法在 docker 映像中安装 R 包
- javascript - 如何通过添加表单将文本从表单添加到 iframe