我在Dialogflow上定义了两个意图。两者都使用php中实现的webhook实现,该实现返回json。
其中之一是由action_intent_PERMISSION事件激活的。如果用户授予许可,它将执行操作并返回SimpleResponse(文本)和带有一些文本和图像的基本卡。
问题是基本卡从不显示。在Google Actions Simulator的调试选项卡中,我可以看到基本卡存在于发送给助手的json中,我在模拟器的Response选项卡中可以看到它,但是如果我查看模拟器中的Debug标签,则基本卡未在visualElementsList下列出。
另一个意图要求用户提供邮政编码,然后执行相同的操作并返回与前一个意图相同的json。在这种情况下,总是显示基本卡,并且我可以在“调试”选项卡的visualElementsList下看到它。
我找不到为什么当action_intent_PERMISSION事件激活了意图时根本不显示基本卡的原因。我一直在研究和寻找,找不到它。谢谢您的帮助。
这是模拟器中用于显示基本卡的意图的响应选项卡:
{
"conversationToken": "[\"closestitem\"]",
"finalResponse": {
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "The item is xxxxx"
}
},
{
"basicCard": {
"title": "Your Closest Item",
"subtitle": "The item is XXXX XXXX XXXX",
"image": {
"url": "https://www.example.com/image.jpg",
"accessibilityText": "Item"
},
"buttons": [
{
"title": "View More",
"openUrlAction": {
"url": "https://www.example.com/"
}
}
]
}
}
]
}
},
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true,
"intent": "XXXXXXX-2fd7-4ec3-9c88-d90cfccf8661",
"parameterNames": [
"zip"
]
}
}
}
这是不显示基本卡的意图的响应选项卡的内容。我需要显示此基本卡:
{
"conversationToken": "[\"closestitem\",\"closestitem-followup\"]",
"finalResponse": {
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "The item is XXXXXX"
}
},
{
"basicCard": {
"title": "Your Closest Item",
"subtitle": "The item is XXXXXX.",
"image": {
"url": "https://www.example.com/image.jpg",
"accessibilityText": "Item"
},
"buttons": [
{
"title": "View More",
"openUrlAction": {
"url": "https://www.example.com/"
}
}
]
}
}
]
}
},
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true,
"intent": "XXXXXXX-3c6d-44fa-b35d-6b097c3da054"
}
}
}
在两种情况下,“错误”选项卡在模拟器中均为空。