在对话流中所做的更改未反映在 google 操作的测试模拟器中

问题描述

以前“自动预览”选项出现在集成部分下的对话流程中,如下图所示,但 Google 从 2021 年 4 月 14 日起停止使用此选项。

enter image description here

https://cloud.google.com/dialogflow/docs/release-notes#April_14_2021

之前的自动预览选项似乎负责将对话流的更改传播到操作,并反映在 Google Actions 的测试模拟器中。

移除“自动预览”后,他们是否提供了其他方法来刷新内容

我目前正在努力解决一个问题,在更改对话流文本响应并保存后,在 Google Actions 的测试模拟器上没有反映。

解决方法

我发现由于对话流中发生错误而遇到描述的“对话流上的更改未更新 Google Actions 的模拟器”的问题,该错误显示在单击“测试”按钮时,导致错误,而不是更新谷歌动作模拟器。

enter image description here

enter image description here

Errors in 'DoorStatus' intent:
IntentDoorStatus has more than 128 training phrases. Reduce the number of training phrases to 10 or remove the intent from Implicit invocation.
com.google.dialogflow.designtime.exceptions.DesigntimeException: <eye3 title='FAILED_PRECONDITION'/> generic::FAILED_PRECONDITION: Errors in 'DoorStatus' intent:
IntentDoorStatus has more than 128 training phrases. Reduce the number of training phrases to 10 or remove the intent from Implicit invocation.

所以,为了检查我尝试删除一些隐式调用意图(例如 DoorStatus、DoorOpen 等),那些会产生错误并尝试在没有这些意图的情况下进行测试。这一次,它已经成功更新了Actions,现在对话流中更改的文本响应反映在模拟器上。

需要改进: 在当前流程中,单击“测试”按钮(在对话流程内部的集成部分),对话流程将导航到 Google Actions 模拟器,而不管对话流程中是否发生错误。如果发生错误,对话流会显示错误,但是由于发生错误时对话流重定向到模拟器,因此对开发人员来说,他们所做的更改似乎会反映在模拟器上,但实际上这些更改不会反映在模拟器中由于对话流程错误。

在对话流出现错误的情况下,对话流不应重定向到 Google Actions 模拟器。当对话流部分构建成功且没有任何错误时,它应该只允许导航到 google 操作的模拟器。通过在出现对话流错误时阻止在模拟器上导航,将帮助开发人员了解任何发生的对话流错误,并提供提示以在模拟器上测试之前首先修复该错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...