我正在尝试弄清楚如何在DialogFlow的webhook响应中嵌入Google Actions响应,例如cards carousel。
根据文档,结构如下:
"carouselSelect": {
"items": [
{
"optionInfo": {
"key": "MATH_AND_PRIME",
"synonyms": [
"math",
"math and prime",
"prime numbers",
"prime"
]
},
"title": "Math & prime numbers",
"description": "42 is an abundant number because the sum of its proper divisors 54 is greater...",
"image": {
"url": "http://example.com/math_and_prime.jpg",
"accessibilityText": "Math & prime numbers"
}
}
当点击某张卡时,有没有办法让设备只关注链接?
在文档中,有一段Handling selected item
,但这并没有真正回答我的问题。在我的情况下,我正在按照How can I integrate the Google Actions responses in a webhook response in Dialogflow?中的说明显示来自DialogFlow对话的卡片,因此我没有按照这些文档中的说明关注Google Actions SDK流程。
另外作为旁注,如果我正确理解了这一段,则使用某个选定的项目调用后端服务。在我的场景中,我在后端不需要这些信息,我宁愿让设备只关注URL。
答案 0 :(得分:1)
简而言之 - 不是直接,不是。 (更新:是的。见下文。)
你正在混淆术语,这可能会造成一些混乱。 Google上的操作定义了一些具有不同功能的不同GUI组件:
推进对话的选项可以显示为列表或轮播项目。这两个都允许图像和一些文本(围绕一两句话思考)。选择选项将发送回您的操作,目的是用户将选择一个继续对话。这并不是谈话的结果。
您还可以展示一张卡,其中还包含图片和一些文字。但是,与选项不同,您只能显示一张卡,并且它可以包含链接到其他位置的URL。卡片旨在成为谈话的结果。
还有建议筹码,这是一两个字,旨在补充上述选项以改变对话的方向。
最后,还有一个 Link-out Chip ,这是一个带有URL的芯片。
此时您可以做的最好的事情是向用户提供可用的选项,一旦他们回复,就会直接在卡上出示带有链接的卡片,或者提示他们是否是他们想要的并提供了建议芯片说“不”回到对话或链接芯片到卡所代表的目的地。
更新:Google刚刚添加了创建Browsing Carousel的功能,可以让您创建看起来像轮播的内容,但只有链接。浏览轮播的定义不同(它是RichResponse的一部分而不是可能的Intent),但两者看起来非常相似。