Google Assistant не показывает основную карту при ответе на action_intent_PERMISSION - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть два намерения, определенные в 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"
    }
  }
}

В обоих случаях вкладка Ошибки пуста в симуляторе.

...