Actions SDK 概览 (Dialogflow)

借助 Actions on Google,您可以通过 操作。通过操作,用户可以通过对话界面完成任务 从使用快捷指令到开灯或延长电池续航时间 例如,玩知识问答游戏。

Actions SDK 是一种开发对话执行方式的方法,无需 使用 Dialogflow。使用 Actions SDK 时,您可以通过 Action 软件包来 将 intent 映射到其执行方式。您还必须提供 操作包,用于定义用户可能会说出的示例短语。

gactions CLI

使用 Actions SDK 进行开发时,您可以使用 gactions 命令行 界面 (CLI) 来测试和更新 Actions 项目。gactions CLI 还可以帮助您为对话型 Action 创建和管理 Action 包。

在操作包中创建操作

您可以通过将 intent 映射到执行方式,在 Action 软件包中创建 Action。 Action 会定义入口点,以通过唯一的 称为 intent 的标识符。intent 会映射到执行 intent。

例如,假设您想构建一个包含 Actions 的项目, 购买商品、查看订单状态以及显示每日特惠信息。 您可以通过说出以下内容定义触发的 intent:

  • “Hey Google,跟 ExampleAction 对话。”
  • “Hey Google,跟 ExampleAction 买一些鞋子。”
  • “Hey Google, talk to ExampleAction to check my order.”
  • “Hey Google,跟 ExampleAction 一起显示今天的特惠活动。”

操作软件包 JSON 文件可能如下所示:

{
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN"
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "BUY",
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [{
          "name": "color",
          "type": "org.schema.type.Color"
        }],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "ORDER_STATUS",
      "intent": {
        "name": "com.example.ExampleAction.ORDER_STATUS",
        "trigger": {
          "queryPatterns": [
            "check on my order",
            "see order updates",
            "check where my order is"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "DAILY_DEALS",
      "intent": {
        "name": "com.example.ExampleAction.DAILY_DEALS",
        "trigger": {
          "queryPatterns": [
            "hear about daily deals",
            "buying some daily deals",
            "get today's deals"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  }
}

构建和部署 fulfillment webhook

调用项目中的 Action 时,Actions on Google 会调用 执行方式向用户发起对话以完成 Action。

在向 fulfillment webhook 发出的每个请求中,您都会以 文本字符串。为了处理 intent,您通常需要解析文本输入并 返回响应。这种来回交换会一直进行,直到您的 Action 对话结束。

上传您的 Action 软件包

创建 Action 软件包部署其执行方式后, 你可以将 Action 软件包上传到 Actions 控制台。Actions 控制台 使用 Action 项目来对对话型 Action 以及评价等元数据进行分组 状态和显示名称。通过该项目,您还可以 定义有关您的 Action 的元数据,并通过 审批流程

创建项目后,你可以上传定义 使用 gactions CLI 执行 Action。

提交您的项目以供审批,并将其提供给用户

示例

如需探索已完成的项目,请查看 Node.js 和 Java Actions SDK 示例