谷歌助手没有显示发送到webhook响应中的建议芯片。
{
"fulfillmentText": "Some text",
"payload": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "What number ?"
}
}
],
"suggestions": [
{
"title": "One"
},
{
"title": "Two"
}
]
}
}
},
"followupEventInput": {
"name": "numbers",
"parameters": {
"param1": "this is it"
}
}}
有趣的是,如果我删除" followupEventInput"字段,显示建议芯片。
有人可以给我一个关于这种行为的暗示吗?
答案 0 :(得分:1)
您发回的JSON并没有做您希望它做的事情。
followupEventInput
表示意图立即触发 ,而不是发回其余的回复(包括建议)。相反,后续事件的回复将被发回。
听起来您想要发回回复,然后,无论用户说什么或选择什么,他们的消息都会发送到特定的操作。请记住,Dialogflow Intents是根据用户的操作触发的,并根据可能设置的上下文进行整形。
在这种情况下,听起来您可能想要设置outputContext
来影响在收集用户的响应时将检查哪些Intent。然后,您可以拥有一个Intent,将其作为输入Context并匹配可能的短语。如果您真的想要在回复中获得用户所说的任何内容,您可以使用适当的输入上下文设置的后备意图。
当可以重定向到另一个Intent发送输出时,通常这是不必要的。请记住,Intents最能代表用户的输入,而不是代理商的输出。特别是如果您使用webhook生成并发送回复 - 只需发送回复。