繁体   English   中英

Dialogflow webhook(Google上的操作)。 是否应该使用RichResponse?

[英]Dialogflow webhook (Actions on Google). Should I be using RichResponse or not?

通读Google Actions的文档,我通过使用丰富的响应类并为它提供了简单的响应,轮播和一些建议芯片,构建了一个浏览轮播。

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都使用过RichResponse ,但现在不确定我是否正在使用过时的课程。

它不是“过时的”,但是它是不必要的。 标准做法是多次调用ask()并让该库为您构建RichResponse对象。 但是库确实在内部使用它,因此它不是过时的。

当我使用Google Actions-on-Google库时,我更喜欢使用多个ask()因为我不必全部使用它们。 我可以根据可用的功能或适当的响应将它们中的一些包含在不同的块中。

使用最适合您的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM