Google NO_MATCH 处理的操作

Actions on Google NO_MATCH handling

在操作控制台中,当用户的响应与现有参数不匹配时,可以指定 NO_Match。但是 NO_MATCH 不提供到另一个场景的过渡。当无法识别用户输入时,我想 return 到对话的开头并重新开始。我该怎么做?

NO_MATCH 在动作 Builder/SDK 中支持的唯一过渡是到(强制性)结束对话场景,这似乎确实很奇怪。但这更多是一个概念性概念 - NO_MATCH 表示您想尝试恢复对话,或者您正在放弃。

如果你想捕捉所说的内容 and/or 对其采取行动(即 - 转换到不同的场景)你可以这样做:

  1. 创建一个采用“自由格式文本”(我通常称其为“任何”)的类型,方法是创建一个类型并选择它作为“它将支持什么样的值”。

  1. 创建一个 Intent,其中所有示例短语都使用此 Any 类型 - 我在此示例中将其命名为“fallback”。您应该指定这是 而不是 全局 Intent,因为我们只希望它在场景中显式触发。然后创建一个使用 Any 类型的意图参数和一些使用此参数的示例短语。确保突出显示短语中的某些单词以显示哪些部分是“任何”类型,因为它们不会自动匹配。

  1. 最后,在您的场景中,将其作为最后一个自定义 Intent。 (请注意,它 必须 是最后一个 Custom Intent,因为它们是按顺序评估的。)然后您可以将其指定为过渡到您想要的任何场景。