Прочитав документацию по действиям в Google, я создал карусель просмотра, используя богатый класс ответов и снабдив ее простым ответом, каруселью и некоторыми подсказками.
const carouselItems = [];
items.forEach(item => {
const carouselItem = new BrowseCarouselItem({
description: item.description.text,
image: new Image({
alt: item.title,
url: item.image,
}),
url: item.link,
title: item.title,
})
carouselItems.push(carouselItem)
});
conv.ask(new RichResponse({
items: [{
simpleResponse: new SimpleResponse("the simple response message"),
carouselBrowse: new BrowseCarousel({
items: [ browseCarouselItem1, browseCarouselItem2 ],
}),
}],
suggestions: ["suggestion1", "suggestion2"]
});
Потратив время на это, я обнаружил, что расширенный класс ответов, похоже, не нужен. Фактически, я могу получить тот же результат, используя вместо этого conv.ask()
три раза подряд.
conv.ask("the simple response message");
conv.ask(new BrowseCarousel({
items: [ browseCarouselItem1, browseCarouselItem2 ]
}));
conv.ask(new Suggestions([ "suggestion1", "suggestion2" ]);
С этим открытием я не уверен в правильном подходе. Один из этих методов заменяет другой? Какова лучшая практика? Я использовал RichResponse
несколько раз в своем веб-крюке, и теперь я не уверен, работаю ли я с устаревшим классом.