我能够使用SimpleResponse
,BasicCard
,List
等如此丰富的响应。可以在下面的支持?
一种。只有语音+ basicCard + simpleResponse
如果我建立这样的回应:
conv.ask('<speak> ...</speak>');
conv.ask(new BasicCard(
);
conv.ask(new SimpleResponse({
speech: ...
text: ...
});
我注意到,在显示设备(手机),该speak
的内容显示为文本了。有没有办法避免呢?
接下来,简单地回答的文字卡之前出现。有没有一种方法,以确保它出现在卡后。
目前,对于第一个问题,我不得不使用SimpleResponse用简短的文字(如喜)和第二个问题,我已经把文本作为卡中的文字和删除SimpleResponse。
但是,想知道是否有出路?谢谢
首先;正如reference docs for the node.js library指出,在响应中的第一项应该永远是一个SimpleResponse。和SimpleResponse总是显示文本,不管是您定义的短文本或者其speech
财产的转录。但我喜欢,你把一个简短的文字来避免显示你的行动说逐字用户。
第二;从我的经验,响应的顺序不能准确地在模拟器中。我测试过你的情况下,虚拟动作,虽然模拟器显示卡之前的最后反应(这是最后一次在我的代码),我的手机显示他们以正确的顺序。
模拟器:
在测试设备上,看看问题是否解决。我目前没有我的谷歌主页接近我,但它测试,以及如果可以的话。
为了您的第一个问题:如果你想使用SSML标记你被迫使用SimpleResponse,那就是它的意思是。换句话说,你的第一个问题是没有问题的:)