我在Google SDK上遇到一个非常烦人的问题。

我想按以下顺序将这些东西发送给用户:


基本卡
一条文字
一个建议筹码


我只是这样做:

let richResponse = assistant.buildRichResponse();
richResponse.addBasicCard( ... );
richResponse.addSimpleResponse( ... );
richResponse.addSuggestions( ... );


问题是,无论我的代码中设置的顺序如何,Google始终会在卡片发出前发送简单的回复。

如果我在发送前记录了JSON,则该卡确实在消息之后。
我试图在发送前简单地在JSON中切换它们,但是随后助手崩溃了。

总而言之,我看不到实现我想要的目标的选择:/

如果我可以发送一个项目的轮播,我将不需要所有这些,但是由于助手也会崩溃,因此显然不可能发送此类轮播。
如果我可以在BasicCard中添加带有JSON负载而不是外部URL的按钮,那么我也可以解决所有这些问题,但是那也不可能...我感到非常困惑。

有人有解决方法吗?

问候

最佳答案

RichResponse对象要求响应中的第一项是SimpleResponse对象,因此您首先需要一些文本。

但是,允许您有两个SimpleResponse对象,因此您可以尝试添加一个SimpleResponse,卡片,另一个SimpleResponse,然后添加建议。

尚不清楚只有一种选择可以使您解决此问题(尽管我同意)。您仍需要在该选项之前显示一个SimpleResponse。

不清楚“带有JSON的按钮”是什么意思。从这个意义上讲,建议芯片的工作方式与选项完全相同-它们将某些内容发送回您的Webhook(选项发送标签,而建议芯片发送其内容)。

关于node.js - RichResponse VS basicCard订购,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49171520/

10-12 01:47