健康检查

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

每个 Action 的端点都必须响应默认的无参数 调用。这支持用户要求与 Action 交谈的场景 而无需提供任何额外信息(例如, “I want to talk to invocation name)。

常见问题

我是否需要实施任何特定的方法来支持健康检查?

不需要。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。该参数为 可在输入 对象:

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

如果 Google 检测到运行状况不佳的 Action,会怎么样? 如果 Google 检测到相应 Action 出现中断,就会 已暂停。如果用户请求执行运行状况不佳的操作,将会听到“ACTION_NAME is not available”。

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

如果我使用账号关联的 Action 被标记为健康状况不佳,会怎么样? 与其他 Action 不同,在下列情况下,使用账号关联的 Action 不会被暂停 Google 会声明它们健康状况不佳。用户仍可在 7 天内访问您的 Action 。但是,如果您还没有修复 账号关联问题,你的 Action 将被移除。

如何查看 Action 的运行状况? 你可以前往 Play 管理中心查看 Action 的状态。不健康 操作的状态为健康状况不佳。健康状况良好的操作将被标记 指定为已部署

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

Google 将继续定期监控 Action 的运行状况,前提是 健康状况不佳。当 Google 检测到 Action 按预期响应时, 操作将恢复为已部署的状态。