Actions on google 当我有一个实时版本时,测试api.ai谷歌操作的版本?

Actions on google 当我有一个实时版本时,测试api.ai谷歌操作的版本?,actions-on-google,Actions On Google,我如何在一个单独的测试环境中开发我的Google Action的新版本,而我已经有了一个对用户来说是实时的版本 我的Google操作使用api.ai,它有一个Firebase函数来实现 我是否需要创建一个指向不同Firebase函数的新api.ai代理?有更简单的方法吗?我就是这么做的: 我没有创建单独的api.ai代理,我有两个服务器,一个用于生产,一个用于测试。无论何时进行更改,我都会将其部署到测试服务器,并将我的实现更新到测试服务器url。然后我从草稿版本测试这些更改 我认为在您的情况下,

我如何在一个单独的测试环境中开发我的Google Action的新版本,而我已经有了一个对用户来说是实时的版本

我的Google操作使用api.ai,它有一个Firebase函数来实现

我是否需要创建一个指向不同Firebase函数的新api.ai代理?有更简单的方法吗?

我就是这么做的:

我没有创建单独的api.ai代理,我有两个服务器,一个用于生产,一个用于测试。无论何时进行更改,我都会将其部署到测试服务器,并将我的实现更新到测试服务器url。然后我从草稿版本测试这些更改

我认为在您的情况下,您可能需要创建一个新函数,并将您的api.ai代理指向新函数。在那里做所有的测试

我不确定这是否是最好的解决方案,但它符合我的要求:)

我就是这么做的:

我没有创建单独的api.ai代理,我有两个服务器,一个用于生产,一个用于测试。无论何时进行更改,我都会将其部署到测试服务器,并将我的实现更新到测试服务器url。然后我从草稿版本测试这些更改

我认为在您的情况下,您可能需要创建一个新函数,并将您的api.ai代理指向新函数。在那里做所有的测试


我不确定这是否是最好的解决方案,但它满足了我的要求:)

不幸的是,没有一个简单的解决方案。使用API.AI和操作进行版本控制时存在一些问题。首先,您在API.AI中所做的一些更改可能会立即反映在系统中,但其他更改不会立即反映在系统中,而且还不完全清楚哪个是哪个。第二个问题是,一旦您准备好实时发送并通过审批流程,一些用户将看到您的旧版本,一些用户将在一段时间内看到新版本

为了处理这个问题,我在版本上线后使用这个过程:

  • 为下一版本创建新的Firebase和API.AI项目

  • 从旧项目导出API.AI Zip文件并将其导入新项目。(当我处理时,我将其内容放入版本控制。)

  • 将Firebase部署目标更改为新版本

  • 将API.AI实现URL更改为新URL


  • 然后,您将在这个新环境中开发和测试您的新版本。当您准备对其进行审查以供发布时,请指定此环境。一旦它完全投入使用,并且在旧环境中没有流量,您就可以停用它—您将永远不会重复使用它。

    不幸的是,这并不是一个简单的解决方案。使用API.AI和操作进行版本控制时存在一些问题。首先,您在API.AI中所做的一些更改可能会立即反映在系统中,但其他更改不会立即反映在系统中,而且还不完全清楚哪个是哪个。第二个问题是,一旦您准备好实时发送并通过审批流程,一些用户将看到您的旧版本,一些用户将在一段时间内看到新版本

    为了处理这个问题,我在版本上线后使用这个过程:

  • 为下一版本创建新的Firebase和API.AI项目

  • 从旧项目导出API.AI Zip文件并将其导入新项目。(当我处理时,我将其内容放入版本控制。)

  • 将Firebase部署目标更改为新版本

  • 将API.AI实现URL更改为新URL

  • 然后,您将在这个新环境中开发和测试您的新版本。当您准备对其进行审查以供发布时,请指定此环境。一旦它完全投入使用,并且在旧环境中没有流量,你可以让它退役——你永远不会再使用它