google 动作:具有丰富响应的对话内容顺序
google actions: conversation content order with rich response
我可以使用 SimpleResponse
、BasicCard
、List
等丰富的回复。可以支持以下吗?
一个。 仅语音+basicCard+simpleResponse
如果我建立这样的响应:
conv.ask('<speak> ...</speak>');
conv.ask(new BasicCard(
);
conv.ask(new SimpleResponse({
speech: ...
text: ...
});
我注意到在显示设备 (phone) 上,speak
的内容也显示为文本。有办法避免吗?
接下来,简单回复的文本出现在卡片之前。有没有办法确保它出现在卡片之后。
目前,对于第一个问题,我被迫使用带有短文本(如 Hi)的 SimpleResponse,对于第二个问题,我已将文本作为卡片文本并删除了 SimpleResponse。
但想知道有没有出路?谢谢
对于您的第一个问题:如果您想使用 ssml 标签,您将被迫使用 SimpleResponse,这就是它的本意。换句话说你的第一个问题不是问题:)
首先;如 reference docs for the node.js library 中所述,您的响应中的第一项应始终是 SimpleResponse。并且 SimpleResponse 始终显示文本,无论是您定义的短文本还是其 speech
属性 的转录。但我喜欢你用简短的文字代替,以避免向用户显示你的 Action 逐字说明的内容。
第二;根据我的经验,模拟器上没有准确显示响应的顺序。我已经在虚拟 Action 中测试了您的案例,虽然模拟器在卡片之前显示了最终响应(在我的代码中是最后一个),但我的 phone 以正确的顺序显示了它们。
模拟器:
聪明phone:
在设备上进行测试,看看错误是否仍然存在。目前,我的 Google 家不在我附近,但如果可以的话,也可以对其进行测试。
我可以使用 SimpleResponse
、BasicCard
、List
等丰富的回复。可以支持以下吗?
一个。 仅语音+basicCard+simpleResponse
如果我建立这样的响应:
conv.ask('<speak> ...</speak>');
conv.ask(new BasicCard(
);
conv.ask(new SimpleResponse({
speech: ...
text: ...
});
我注意到在显示设备 (phone) 上,speak
的内容也显示为文本。有办法避免吗?
接下来,简单回复的文本出现在卡片之前。有没有办法确保它出现在卡片之后。
目前,对于第一个问题,我被迫使用带有短文本(如 Hi)的 SimpleResponse,对于第二个问题,我已将文本作为卡片文本并删除了 SimpleResponse。
但想知道有没有出路?谢谢
对于您的第一个问题:如果您想使用 ssml 标签,您将被迫使用 SimpleResponse,这就是它的本意。换句话说你的第一个问题不是问题:)
首先;如 reference docs for the node.js library 中所述,您的响应中的第一项应始终是 SimpleResponse。并且 SimpleResponse 始终显示文本,无论是您定义的短文本还是其 speech
属性 的转录。但我喜欢你用简短的文字代替,以避免向用户显示你的 Action 逐字说明的内容。
第二;根据我的经验,模拟器上没有准确显示响应的顺序。我已经在虚拟 Action 中测试了您的案例,虽然模拟器在卡片之前显示了最终响应(在我的代码中是最后一个),但我的 phone 以正确的顺序显示了它们。
模拟器:
聪明phone:
在设备上进行测试,看看错误是否仍然存在。目前,我的 Google 家不在我附近,但如果可以的话,也可以对其进行测试。