在 DialogFlow/Actions 中浏览轮播后继续对话
Continue a conversation after Browsing carousel in DialogFlow/Actions
所以我一直在通过操作为 DialogFlow 尝试不同的响应类型:Actions Responses 和 Webhook/Fulfillment。
到目前为止,我已经能够成功地为 List、Basic Card、Suggestion Chips 等类型生成正确的响应。我现在需要的是一个基于列表的响应,它允许用户在触摸时在浏览器中打开 link 以及 "not" 生成聊天气泡。 "Browsing carousel" 符合条件:Browsing Carousel.
我已经成功创建并模拟了 2 个示例项目的输出。问题是用户何时想要继续对话。根据上面帮助中的指导部分,浏览轮播:
By default, the mic remains closed after a browse carousel is sent. If you want to continue the conversation afterwards, we strongly recommend adding suggestion chips below the carousel.
据我了解,用户必须通过说 "Ok Google, talk to [app]" 再次调用应用程序。这似乎对用户不太友好,因为用户希望 return 在她从轮播中查看 link 后回到她与代理的对话。 请注意,我在 Console.Actions 页面上使用 Google 动作模拟器模拟了流程。
只要我通过浏览轮播调用意图,它就会与示例项目一起显示给我。但是当我 enter/say 继续对话的下一个命令时,代理只是 returns with:
We're sorry, but something went wrong. Please try again.
REQUEST/REQUEST window 和 ERRORS/DEBUG 都是空的。我已记录对 Webhook 的调用,但没有收到任何调用。
问题:有没有办法让用户能够从响应"list"(不是基本卡)中浏览信息link并 return 继续对话而不结束它。
这是 Actions > Simulator 中 RESPONSE window 对 Browsing Carousel 的响应(注意我已经删除了不相关的部分):
{
"conversationToken": "[token info]",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [
{
"simpleResponse": {
"textToSpeech": "You have the following 2 options:",
"displayText": "You have the following 2 options:"
}
},
{
"carouselBrowse": {
"items": [
{
"title": "Test 1",
"description": "Desc 2",
"image": {
"url": "[some url]"
},
"openUrlAction": {
"url": "[some url]"
}
},
{
"title": "Test 2",
"description": "Desc 2",
"image": {
"url": "[some url]"
},
"openUrlAction": {
"url": "[some url]"
}
}
]
}
}
],
"suggestions": [
{
"title": "Continue"
},
{
"title": "End"
}
]
}
}
}
],
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true
}
}
}
对于所有使用模拟器测试浏览轮播并看到它在输出后停止响应的人,请改用设备进行测试。当您使用设备呈现输出并使用 Carousel 响应时,它不会终止对话但会关闭麦克风。这是预期的行为。可以引入建议芯片来帮助用户继续对话。
已更新:还要确保每个 Webhook Intent 调用都有正确的简单响应响应。只要正确设置响应要求的文本和音频信息,模拟器就不会失败。
所以我一直在通过操作为 DialogFlow 尝试不同的响应类型:Actions Responses 和 Webhook/Fulfillment。
到目前为止,我已经能够成功地为 List、Basic Card、Suggestion Chips 等类型生成正确的响应。我现在需要的是一个基于列表的响应,它允许用户在触摸时在浏览器中打开 link 以及 "not" 生成聊天气泡。 "Browsing carousel" 符合条件:Browsing Carousel.
我已经成功创建并模拟了 2 个示例项目的输出。问题是用户何时想要继续对话。根据上面帮助中的指导部分,浏览轮播:
By default, the mic remains closed after a browse carousel is sent. If you want to continue the conversation afterwards, we strongly recommend adding suggestion chips below the carousel.
据我了解,用户必须通过说 "Ok Google, talk to [app]" 再次调用应用程序。这似乎对用户不太友好,因为用户希望 return 在她从轮播中查看 link 后回到她与代理的对话。 请注意,我在 Console.Actions 页面上使用 Google 动作模拟器模拟了流程。
只要我通过浏览轮播调用意图,它就会与示例项目一起显示给我。但是当我 enter/say 继续对话的下一个命令时,代理只是 returns with:
We're sorry, but something went wrong. Please try again.
REQUEST/REQUEST window 和 ERRORS/DEBUG 都是空的。我已记录对 Webhook 的调用,但没有收到任何调用。
问题:有没有办法让用户能够从响应"list"(不是基本卡)中浏览信息link并 return 继续对话而不结束它。
这是 Actions > Simulator 中 RESPONSE window 对 Browsing Carousel 的响应(注意我已经删除了不相关的部分):
{
"conversationToken": "[token info]",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [
{
"simpleResponse": {
"textToSpeech": "You have the following 2 options:",
"displayText": "You have the following 2 options:"
}
},
{
"carouselBrowse": {
"items": [
{
"title": "Test 1",
"description": "Desc 2",
"image": {
"url": "[some url]"
},
"openUrlAction": {
"url": "[some url]"
}
},
{
"title": "Test 2",
"description": "Desc 2",
"image": {
"url": "[some url]"
},
"openUrlAction": {
"url": "[some url]"
}
}
]
}
}
],
"suggestions": [
{
"title": "Continue"
},
{
"title": "End"
}
]
}
}
}
],
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true
}
}
}
对于所有使用模拟器测试浏览轮播并看到它在输出后停止响应的人,请改用设备进行测试。当您使用设备呈现输出并使用 Carousel 响应时,它不会终止对话但会关闭麦克风。这是预期的行为。可以引入建议芯片来帮助用户继续对话。
已更新:还要确保每个 Webhook Intent 调用都有正确的简单响应响应。只要正确设置响应要求的文本和音频信息,模拟器就不会失败。