В моем потоке есть три обработчика:
- Поиск магазина: когда пользователь спрашивает «где магазин рядом со мной?», Он вызывает
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 в двух разных отношениях одинаков.