Dialogflow webhook(Google 上的操作)。我是否应该使用 RichResponse?
Dialogflow webhook (Actions on Google). Should I be using RichResponse or not?
通读 Google 上的操作文档,我使用丰富的响应 class 构建了一个浏览轮播,并为其提供了一个简单的响应、轮播和一些建议芯片。
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"]
});
在花时间这样做之后,我发现富响应 class 似乎是不必要的。事实上,我可以通过连续三次使用 conv.ask()
来获得相同的结果。
conv.ask("the simple response message");
conv.ask(new BrowseCarousel({
items: [ browseCarouselItem1, browseCarouselItem2 ]
}));
conv.ask(new Suggestions([ "suggestion1", "suggestion2" ]);
有了这个发现,我发现自己不确定正确的方法。这些方法中的一种会替代另一种吗?最佳做法是什么?我在我的 webhook 中使用了几次 RichResponse
,现在我不确定我是否在使用过时的 class.
不是"obsolete",但是没有必要。标准做法是多次调用 ask()
并让库为您构建 RichResponse
对象。但是图书馆确实在内部使用它,所以它并没有过时。
当我使用 actions-on-google 库时,我更喜欢使用多个 ask()
,因为我不必全部使用它们。我可以将其中一些包含在不同的块中,具体取决于可用的功能或合适的响应。
使用最适合您的方法。
通读 Google 上的操作文档,我使用丰富的响应 class 构建了一个浏览轮播,并为其提供了一个简单的响应、轮播和一些建议芯片。
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"]
});
在花时间这样做之后,我发现富响应 class 似乎是不必要的。事实上,我可以通过连续三次使用 conv.ask()
来获得相同的结果。
conv.ask("the simple response message");
conv.ask(new BrowseCarousel({
items: [ browseCarouselItem1, browseCarouselItem2 ]
}));
conv.ask(new Suggestions([ "suggestion1", "suggestion2" ]);
有了这个发现,我发现自己不确定正确的方法。这些方法中的一种会替代另一种吗?最佳做法是什么?我在我的 webhook 中使用了几次 RichResponse
,现在我不确定我是否在使用过时的 class.
不是"obsolete",但是没有必要。标准做法是多次调用 ask()
并让库为您构建 RichResponse
对象。但是图书馆确实在内部使用它,所以它并没有过时。
当我使用 actions-on-google 库时,我更喜欢使用多个 ask()
,因为我不必全部使用它们。我可以将其中一些包含在不同的块中,具体取决于可用的功能或合适的响应。
使用最适合您的方法。