谷歌的行为:谈话内容以便与丰富响应

问题描述 投票:0回答:2

我能够使用SimpleResponseBasicCardList等如此丰富的响应。可以在下面的支持?

一种。只有语音+ basicCard + simpleResponse

如果我建立这样的回应:

conv.ask('<speak> ...</speak>');
conv.ask(new BasicCard(
 );
conv.ask(new SimpleResponse({
   speech: ...
   text: ...
});

我注意到,在显示设备(手机),该speak的内容显示为文本了。有没有办法避免呢?

接下来,简单地回答的文字卡之前出现。有没有一种方法,以确保它出现在卡后。

目前,对于第一个问题,我不得不使用SimpleResponse用简短的文字(如喜)和第二个问题,我已经把文本作为卡中的文字和删除SimpleResponse。

但是,想知道是否有出路?谢谢

actions-on-google
2个回答
2
投票

首先;正如reference docs for the node.js library指出,在响应中的第一项应该永远是一个SimpleResponse。和SimpleResponse总是显示文本,不管是您定义的短文本或者其speech财产的转录。但我喜欢,你把一个简短的文字来避免显示你的行动说逐字用户。

第二;从我的经验,响应的顺序不能准确地在模拟器中。我测试过你的情况下,虚拟动作,虽然模拟器显示卡之前的最后反应(这是最后一次在我的代码),我的手机显示他们以正确的顺序。

模拟器:

Simulator Screenshot

智能手机:Smartphone Screenshot

在测试设备上,看看问题是否解决。我目前没有我的谷歌主页接近我,但它测试,以及如果可以的话。


0
投票

为了您的第一个问题:如果你想使用SSML标记你被迫使用SimpleResponse,那就是它的意思是。换句话说,你的第一个问题是没有问题的:)

© www.soinside.com 2019 - 2024. All rights reserved.