- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
阅读 Actions on 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"]
});
花时间这样做后,我发现丰富的响应类似乎是不必要的。事实上,我可以通过连续使用 3 次 conv.ask() 来获得相同的结果。
conv.ask("the simple response message");
conv.ask(new BrowseCarousel({
items: [ browseCarouselItem1, browseCarouselItem2 ]
}));
conv.ask(new Suggestions([ "suggestion1", "suggestion2" ]);
有了这个发现,我发现自己不确定正确的方法。这些方法中的一种可以替代另一种吗?最佳实践是什么?我在整个 webhook 中使用过几次 RichResponse
,现在我不确定我是否正在使用过时的类。
最佳答案
它并不是“过时”,但没有必要。标准做法是多次调用 ask()
并让库为您构建 RichResponse
对象。但该库确实在内部使用它,因此它并没有过时。
当我使用 actions-on-google 库时,我更喜欢使用多个 ask()
因为我不必使用所有它们。我可以根据可用的功能或可能合适的响应将其中一些包含在不同的 block 中。
使用最适合你的东西。
关于node.js - Dialogflow webhook(Google 上的操作)。我是否应该使用 RichResponse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52106954/
我在 Actions On Google SDK 方面遇到了一个非常烦人的问题。 我想按以下顺序向用户发送这些内容: 基本卡 一段文字 建议筹码 我只是这样做了: let richResponse =
我正在尝试完成 Google Actions 的代码实验室教程,但遇到了一些麻烦。我在“为助手构建操作(2 级)”。 当我尝试在模拟器中测试操作时,我得到“我的测试应用程序现在没有响应。请稍后重试。”
我正在尝试完成 Google Actions 的代码实验室教程,但遇到了一些麻烦。我在“为助手构建操作(2 级)”。 当我尝试在模拟器中测试操作时,我得到“我的测试应用程序现在没有响应。请稍后重试。”
阅读 Actions on Google 的文档后,我通过使用丰富的响应类并为其提供简单的响应、轮播和一些建议芯片构建了一个浏览轮播。 const carouselItems = []; items.
我正在使用 Dialogflow 和用 PHP 编写的 Webhook 编写代理程序。最近我重新构建了部分代码,现在我总是在“Actions-on-Google-console”中遇到同样的错误: F
我是一名优秀的程序员,十分优秀!