Google Assistant Hello World草稿项目未更新

问题描述

是Google动作的新手。测试教程内容。 我已经在几个测试项目中进行了尝试,只是为了仔细检查。最初运行任何项目后,我都没有任何关于项目草案的更新。对我来说,模拟器和真实设备的草稿项目都没有变化。

  1. 开始新项目
  2. 即使是空白项目也有基本的对话,告诉您接下来要在哪里添加内容
  3. 更改文本。
  4. 通知提示在测试环境中不会更改。

在下面的图片中,为实现和控制台输出,我将“ hello world”改为“ hey Dude”。我希望测试提示会以“来自实现的hey Dude和来自控制台的hey Dude!”作为响应!但事实并非如此。相反,它不反映任何最近的更改。

Hey Dude from console

Hey Dude from Web Hook

Hello World from console

解决方法

我认为这里可能存在两个稍有不同(但有时是相关的)的问题。

第一个是模拟器存在一些已知的问题,这些问题导致更新缓慢,或者似乎没有出现。第二个与确保您正在从内置代码编辑器中部署更改有关。

尽管我知道他们正在调查第一个问题,但我没有明确的答案。我发现我可以进行一些更改,并且可能不会注意到它们,但是如果看到“您的预览正在更新...”微调器,我知道它们已经被拾取。有时还会出现其他微调框,但除非明确指出正在更新,否则并不总是会进行更新。 (但是有时候是。)

Your preview is being updated

通常,如果看不到此内容,我将返回并强制进行明显的更改(从Webhook处理程序名称中删除字符,然后将其添加回去),然后返回模拟器。一般来说,这一次它将表示正在更新。

如果使用的是Cloud Functions编辑器,则需要做三件事:

  1. 保存更改。您可以通过单击“保存实现”按钮来执行此操作,但这只会保存它,因此您可以离开编辑器。这并不意味着模拟器可以访问它。

    Save Fulfillment

  2. 部署更改。这会将您的代码部署到Cloud Functions,以便可以运行它们。请注意,在插图中,该代码表示​​代码已保存,但尚未部署。

    Deploy Fulfillment

  3. 等待直到更改完全部署。部署需要时间,在完成之前,它将无法在模拟器中使用。部署时,它会通知您。

    Deployment in progress

    但是,一旦部署完毕,消息就会更改,并且您应该可以通过模拟器获得影响(尽管您可能仍然需要查看“正在更新”消息才能确定)。

    Deployment completed

但是请记住,不需要您可以使用“云函数编辑器”来部署Webhook。您可以在任何Web服务器上部署Webhook,

  1. 主机是公共的(因此具有Google可以访问的公共IP地址)
  2. 它可以使用非自签名证书处理HTTPS

您甚至可以将自己部署到Cloud Functions for Firebase,这与Actions Builder使用的服务相同。这样,您就可以在Actions Builder中设置一次URL,一旦设置完,就无需更改。

但是您仍然可以通过与Actions Builder分开管理自己的部署来更改代码。

相关问答

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