使 google 个动作开发项目预览持续更长时间

Make google actions development project preview persist longer

我想为我的 Google 家制作 google 语音操作应用程序。但是,根据快速研究,截至 12 月 11 日,google 不允许 Google 家的私人项目。

参考文献:

我知道我可以从 API.ai 项目预览应用程序,并将其部署到 linked Google 家用设备。

但问题是,已部署的应用程序不会持续存在。它在一个小时左右后不再可用。 我怎样才能让它永久化(如果有办法的话)?

更新

根据 Leon 的回答,我只是想扩展有关如何为 24 hours 启用示例的步骤。

  1. 点击右下角的"Google Home Web Simulator"link
  2. 然后您将看到 google 家用设备 - 单击该页面上的 "Start" 按钮
  3. 在下一页,右上角有 Leon 所说的 "ACTION PACKAGE" 按钮。单击它并通过单击 "Preview for 24 hours" 按钮延长到期时间。请参阅下面的屏幕截图:

您可以延长在网络模拟器或 Google 家庭设备上预览开发操作的时间。从 API.AI 预览动作后,单击网络模拟器中的动作包列表。然后 select "Preview for 24 hours" link 为您的行动包。

我找到了一种在 API.ai 上创建动作然后无限期预览它的方法。

来自 API.ai:

  1. 打开浏览器开发控制台(网络选项卡)
  2. 转到集成
  3. 开启"Actions on Google"集成
  4. 点击"Authorize"
  5. 点击"Preview"
  6. 在网络开发控制台

    中检查来自 https://console.api.ai/api/agent/googleassistant/preview 的 XHR 响应
    {  
      "status":{  
      "code":401,
      "errorType":"unauthorized",
      "errorDetails":"You are not authorized for this operation. ",
      "webhookTimedOut":false
       }
    }
    
  7. Copy/paste 将响应的内容放入名为 action.json

  8. 的文件中

然后,从这里下载并安装 gactions CLI - gactions CLI 然后 运行 这个命令:

gactions preview --action_package action.json --preview_mins 9999999 \
  --invocation_name [your_own_invocation_name_here] 

9999999 的 preview_mins 值使预览实际上不确定。

这是一个演示它的视频:

截至今天,即 2017 年 5 月 17 日,由于 Google SDK 上的 Actions 升级到 v2,此问题的最高投票答案不再适用于新的 API.ai 项目。与@Brady 的答案类似的方法仍然有效,但它们在某些方面使其变得更加困难(需要向 Google 提供更多信息,尽管是仅本地测试,但全球唯一的调用名称),并且更好在其他人中(gactions CLI 文档现在明确声明接受无限期的预览,如果没有作为参数提供给 gactions test 调用,实际上是默认设置)。

  1. 正常创建您的 API.ai 代理。
  2. 在 "Integrations" 侧边菜单下,打开 "Actions on Google" 设置。
  3. Select"Test"从出现的对话框底部开始(这里可能需要绕几圈,登录,授权账号访问等)
  4. 这是有点不同的地方。您现在需要在 Actions on Google 控制台上创建一个项目。创建或导入项目到控制台。
  5. 第一步是提供操作包,它可以直接来自 API.ai 或 SDK。对于 API.ai,您必须返回到我们所在的集成页面,然后在 Google 设置上的操作上按 "Update"。 (在以前版本的 SDK 中,它被标记为 "Deploy" 并且会使你的应用程序 public,但别担心 - 现在所做的只是更新 AoG 控制台。你发布 public如果需要,稍后可以从 AoG 控制台获取)。
  6. 这个新控制台需要比以前更多的信息。我发现 "Assistant app name" 可以是任何你想要的,但是 "Pronunciation" 被严格限制在一些条件下(全球唯一,保留关键字,非品牌违规)。我还发现我仍然可以使用应用程序名称调用,而不仅仅是发音,但我怀疑这会被修复。
  7. 填写完所有必要的信息后,您就可以测试了 来自 API.ai。 Return 到 API.ai 中的 AoG 设置菜单并检索 来自 HTTP 请求的响应内容 preview(就像在 @Brady 上面的回答)。在这里,我们遇到了另一个不同之处。内容 不能直接在 action.json 中使用请求响应 文件,因为它被包裹在另一个对象中。您只想使用 来自 属性 actionPackage 的对象。 (即删除

    {
      "actionPackage": 
    

    从内容开始和

    }
    

    从最后)。你最终应该得到一个结构类似的对象 对此(但可能不完全是,这取决于你的内容 API.ai代理人):

    {
      "actions": [...],
      "types": [...],
      "manifest": {...},
      "conversations": {...}
    }
    
  8. 将其放入您的 action.json 文件中。

  9. 执行新的 gactions CLI 命令:

    gactions test --project <your_project_name_from_aog_console> --action-package action.json
    
  10. 享受 Google SDK 项目上的本地 v2 操作!并祈祷 Google 不会进一步改变交易...

我尽量从记忆中回忆我必须做的事情,所以在这篇文章中可能会有一些错误。希望这对某人有所帮助。