У меня есть два намерения, определенные в Dialogflow.Оба используют выполнение webhook, реализованное в php, которое возвращает 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"
}
}
}
В обоих случаях вкладка Ошибки пуста в симуляторе.