Actions SDK 개요 (Dialogflow)

Actions on Google을 사용하면 작업으로 Google 어시스턴트의 기능을 확장할 수 있습니다. 사용자는 작업을 통해 조명을 켜는 간단한 명령어나 상식 퀴즈 게임을 하는 긴 대화를 비롯한 다양한 작업을 할 수 있습니다.

Actions SDK는 Dialogflow를 사용하지 않고 대화 처리를 개발하는 방법입니다. Actions SDK를 사용하는 경우 작업 패키지를 사용하여 인텐트를 처리에 매핑합니다. 사용자가 말할 수 있는 예시 문구를 정의하려면 작업 패키지에 쿼리 패턴도 제공해야 합니다.

gactions CLI

Actions SDK를 사용하여 개발하는 경우 gactions 명령줄 인터페이스 (CLI)를 사용하여 작업 프로젝트를 테스트하고 업데이트합니다. gactions CLI를 사용하면 대화형 작업의 작업 패키지를 만들고 관리할 수도 있습니다.

작업 패키지에서 작업 만들기

인텐트를 fulfillment에 매핑하여 작업 패키지에 작업을 만듭니다. 작업은 인텐트라는 고유한 식별자로 대화를 시작하는 진입점을 정의합니다. 인텐트는 인텐트를 처리하는 처리에 매핑됩니다.

예를 들어 일부 제품을 구매하고, 주문 상태를 확인하고, 일부 특가를 표시하는 작업이 포함된 프로젝트를 빌드한다고 가정해 보겠습니다. 다음과 같이 말하여 실행되는 인텐트를 정의할 수 있습니다.

  • "Hey Google, ExampleAction하고 말해 줘."
  • "Hey Google, ExampleAction과 대화하여 신발을 구매하세요."
  • "Hey Google, ExampleAction하고 대화하고 주문 확인해 달라고 말해 줘."
  • "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 웹훅 빌드 및 배포

프로젝트의 작업이 호출되면 Actions on Google이 처리를 호출하여 사용자와의 작업을 시작하여 작업을 처리합니다.

처리 웹훅에 대한 모든 요청에서 사용자 입력을 텍스트 문자열로 수신합니다. 인텐트를 처리하려면 일반적으로 텍스트 입력을 파싱하고 응답을 반환합니다. 이 주고받은 교환은 작업의 대화가 끝날 때까지 발생합니다.

작업 패키지 업로드

작업 패키지를 만들고 처리를 배포하면 작업 패키지를 Actions 콘솔에 업로드할 수 있습니다. Actions 콘솔은 작업 프로젝트를 사용하여 어시스턴트 디렉터리의 검토 상태 및 표시 이름과 같은 메타데이터로 대화 작업을 그룹화합니다. 또한 프로젝트를 사용하여 작업에 관한 메타데이터를 정의하고 승인 프로세스를 통해 작업을 관리 및 추적할 수 있습니다.

프로젝트가 있으면 gactions CLI를 사용하여 모든 작업을 정의하는 작업 패키지를 업로드할 수 있습니다.

승인을 위해 프로젝트를 제출하고 사용자에게 제공

샘플

완료된 프로젝트를 살펴보려면 Node.js 및 자바 Actions SDK 샘플을 참고하세요.