Dialogflow webhook (Действия в Google). Должен ли я использовать RichResponse или нет? - PullRequest
0 голосов
/ 31 августа 2018

Прочитав документацию по действиям в 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 несколько раз в своем веб-крюке, и теперь я не уверен, работаю ли я с устаревшим классом.

1 Ответ

0 голосов
/ 31 августа 2018

Это не "устаревший", но он не нужен. Стандартная практика - вызывать ask() несколько раз, и библиотека создаст для вас объект RichResponse. Но библиотека использует его внутренне, поэтому она не устарела.

Когда я использую библиотеку actions-on-google, я предпочитаю использовать несколько ask(), так как мне не нужно использовать их все. Я могу включить некоторые из них в разные блоки в зависимости от того, какие функции были доступны или какие ответы могут быть уместными.

Используйте все, что лучше для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...