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 按预期响应时,它将返回已部署状态。