健康检查

Google 会监控已部署的 Action,以验证它们是否可用并响应用户请求。

每个 Action 的端点都需要响应默认的无参数调用。这支持用户要求与 Action 对话而不提供任何其他信息的情况(例如,“我想与调用名称对话”)。

常见问题

我是否需要实施特定的实现来支持健康检查?

不会。操作健康检查的功能类似于标准请求,与 Action 进行通信。

系统多久检查一次 Action 的健康检查?

您的 Action 可能会全天受到监控。

如何检测请求是否为健康检查?

如果您使用 Actions Builder 作为开发平台,则会收到类似于以下代码段的健康检查请求:

{
  "handler": {
    "name": "actions.handler.HEALTH_CHECK"
  },
  "intent": {
    "name": "actions.intent.HEALTH_CHECK"
  },
  "session": {
    "id": "actions.session.HEALTH_CHECK"
  },
  "user": {
    "locale":"en-US"
  },
  "device": {
    "capabilities": []
  }
}
  

当您收到此请求时,应以 200 响应代码作为响应代码;否则,您的 Action 会被视为健康状况不佳。以下代码段是一个格式正确的响应示例:

  {"prompt":{"override":true,"firstSimple":{"speech":"ok","text":""}}}

如果您使用 Dialogflow 作为开发平台,Google 会添加一个 "is_health_check" 参数,并将该参数传递给 intent。此参数位于 webhook 请求的 Input 对象中:

{
  ...
  "originalDetectIntentRequest": {
    ...
    "payload": {
      ...
      "inputs": [{
        ...
        "arguments": [{
          "name": "is_health_check",
          "boolValue": true,
          "textValue": "1"
        }]
      }],
      ...
    }
  }
}
  

如果 Google 检测到运行状况不佳的操作,会发生什么情况? 如果 Google 检测到 Action 发生服务中断,则会暂停该 Action。请求运行状况不佳的 Action 的用户会听到“ACTION_NAME is not available”。

如果 Action 被标记为运行状况不佳,我会如何收到通知? 当 Google 检测到运行状况不佳的 Action 时,我们会向与 Actions 项目关联的主开发者发送通知电子邮件。

如果我使用账号关联的 Action 被标记为运行状况不佳,会发生什么情况? 与其他 Action 不同,使用账号关联的 Action 在 Google 声明运行状况不佳后不会被暂停。在您收到通知电子邮件后的 7 天内,用户仍可访问您的 Action。不过,如果您未在 7 天后解决帐号关联问题,您的 Action 将被移除。

如何查看 Action 的运行状况? 您可以访问开发者控制台,查看您的 Action 的状态。运行状况不佳的操作的状态为运行状况不佳。运行状况良好的 Action 将被标记为已部署

将 Action 返回到已部署状态的流程是怎样的? 您应该检查您的部署,并解决可能导致 Action 无法响应启动 intent 的任何问题。

Google 将继续定期监控 Action 运行状况不佳的运行状况。当 Google 检测到 Action 按预期响应时,它将返回已部署状态。