Dialogflow BrowseCarousel не работает после предоставления разрешения - PullRequest
0 голосов
/ 23 января 2019

В моем потоке есть три обработчика:

  • Поиск магазина: когда пользователь спрашивает «где магазин рядом со мной?», Он вызывает actions.intent.PERMISSION, который запрашивает у пользователя его точное местоположение.
  • Поиск магазина - да: если пользователь ответит «да», это сработает, и будут показаны ближайшие магазины (на основе значения lat / long, извлеченного из запроса)
  • Поиск магазина - нет: если пользователь ответит «нет», это сработает, и будут показаны только магазины в определенном городе.

Ответ json будет одинаковым в обработчике для ответа yes и no.

{
      "payload": {
        "google": {
          "expectUserResponse": true,
          "richResponse": {
            "items": [
              {
                "simpleResponse": {
                  "textToSpeech": "Store near: Address Number City.\n Now: OPEN."
                }
              },
              {
                "carouselBrowse": {
                  "items": [
                    {
                      "title": "title 0",
                      "openUrlAction": {
                        "url": "https://website.it/?0"
                      },
                      "description": "description",
                      "image": {
                        "url": "https://avatars3.githubusercontent.com/u/5048136?s=460&v=4",
                        "accessibilityText": "empty"
                      }
                    },
                    {
                      "title": "title 1",
                      "openUrlAction": {
                        "url": "https://website.it/?1"
                      },
                      "description": "description",
                      "image": {
                        "url": "https://avatars3.githubusercontent.com/u/5048136?s=460&v=4",
                        "accessibilityText": "empty"
                      }
                    },
                    {
                      "title": "title 2",
                      "openUrlAction": {
                        "url": "https://website.it/?2"
                      },
                      "description": "description",
                      "image": {
                        "url": "https://avatars3.githubusercontent.com/u/5048136?s=460&v=4",
                        "accessibilityText": "empty"
                      }
                    }
                  ]
                }
              }
            ]
          },
          "userStorage": "{\"lat\":45.4627124, \"long\": 9.1076928}"
        }
      },
      "outputContexts": [
        {
          "name": "projects/project-name/agent/sessions/ABppEePAPYRhvT9Pcwmu3S61Ka12DUN5gmem7v0p/contexts/context-name",
          "lifespanCount": 1,
          "parameters": {
            "Data": ""
          }
        }
      ],
      "followupEventInput": {
        "parameters": {
          "data": {
            "listSelect": {}
          }
        }
      }
    }

Задача

Когда я отвечаю «нет», BrowseCarousel работает. Когда я отвечаю «да», BrowseCarousel не работает.

Я не могу найти причину этого. Ответ json в двух разных отношениях одинаков.

1 Ответ

0 голосов
/ 23 января 2019

Проблема решена.

Ответ таков: симулятор не работает для этого конкретного события.При использовании реального устройства browsecarousel работает должным образом.

ИСПОЛЬЗУЙТЕ РЕАЛЬНОЕ УСТРОЙСТВО, ЕСЛИ ВЫ ХОТИТЕ ВИДЕТЬ ТОЧНО, КАК РЕЗУЛЬТАТ ПОСМОТРЕТЬ.

...