首页 > 解决方案 > 如果谷歌操作没有响应,是否重新提示用户?

问题描述

我正在尝试让 reprompts 为我使用 dialogflow SDK 构建的操作工作。

我有一个意图 'answer-question' ,但是如果用户根本没有回复(如果可能的话,在某个时间单位之后),我希望触发一个后备意图。

我已尝试实施本指南中的说明:reprompts google action 所以我为我的回答问题意图创建了一个自定义后备意图,它有一个事件actions_intent_NO_INPUT和一个上下文answer-question-followup

但是在测试意图时,它将无限期地等待用户响应,并且永远不会触发此自定义回退意图。

标签: dialogflow-esactions-on-google

解决方案


“无输入”场景仅发生在某些设备上。

扬声器(例如 Google Home)生成无输入。但是,您无法控制它等待的时间。

移动设备不会产生“无输入”——它只会关闭麦克风,用户需要再次按下麦克风图标才能再次打开麦克风。

使用模拟器进行测试时,不会自动生成“无输入”,但您可以使用文本输入区旁边的按钮生成“无输入”事件。确保您使用的是受支持的设备类型(例如扬声器),然后按图标表示您正在测试“无输入”事件。

在此处输入图像描述

最后,确保您的上下文有意义,并记住 Intent 反映的是用户所说或所做的,而不是您正在回复的内容。

尽管您已经为“无输入”事件指定了一个输入上下文,这很好,但您没有指定您还将它设置为前一个 Intent 的输出上下文。鉴于您的描述,它不应​​该设置在“回答问题”中,因为您不期望用户回答问题后没有输入,而是回答问题。因此,应该为您希望用户回答问题的 Intent 和用户什么都不说的 Intent 设置相同的 Input Context。


推荐阅读