내장 인텐트 (Dialogflow)

내장 인텐트는 고유 식별자로, 이를 지정하여 작업이 특정 사용자 카테고리를 처리할 수 있는 Google 어시스턴트 요청을 처리합니다 예를 들어, 다음은 사용자가 어시스턴트는 내장 인텐트와 매칭합니다.

  • "게임 하자" 내장 인텐트: "Hey Google. 기억력 게임하기
  • "별자리 운세 보기" 내장 인텐트: "Hey Google. 내 별자리 운세 보기"
를 통해 개인정보처리방침을 정의할 수 있습니다.

작업 검색 중에 어시스턴트에서 사용할 수 있는 작업 작업 관련 메타데이터(지정된 내장 인텐트 포함) 사용자에게 작업을 추천합니다 대화 왕복을 최소화하려면 어시스턴트는 또한 사용자 쿼리에서 매개변수를 스캔하려고 시도합니다. 작업에 전달합니다.

어시스턴트가 지원하는 내장 인텐트의 전체 목록을 보려면 자세한 내용은 내장 인텐트 참조

내장 인텐트 통합

작업을 빌드하는 방법에 따라 다양한 방법으로 통합할 수 있습니다

Dialogflow

Dialogflow를 사용하여 작업을 만드는 경우 내장 인텐트를 연결할 수 있습니다. Dialogflow 콘솔에서 그래픽으로 볼 수 있습니다.

Dialogflow로 내장 인텐트를 연결하려면 다음 단계를 따르세요.

  1. Dialogflow 콘솔을 열고 에이전트를 선택한 후 인텐트 화면
  2. 에이전트가 특정 내장 인텐트를 처리했습니다. 이벤트 섹션을 열고 추가를 클릭합니다. Event에 대한 응답 메시지입니다.

    그림 1. Dialogflow 콘솔에서 Dialogflow 이벤트 추가
    를 통해 개인정보처리방침을 정의할 수 있습니다.
  3. Events(이벤트) 필드에 앱의 내장 인텐트 이벤트 이름을 입력합니다. 에이전트 (예: actions_intent_PLAY_GAME)

    그림 2. Dialogflow 콘솔에서 내장 인텐트를 에이전트에 연결하기
    를 통해 개인정보처리방침을 정의할 수 있습니다.
  4. 저장을 클릭합니다.

Actions SDK

Actions SDK를 사용하여 작업을 빌드하는 경우 작업 간의 매핑을 사용하는 것입니다.

Actions SDK로 내장 인텐트를 연결하려면 다음 단계를 따르세요.

  1. Action 정의의 name 필드에 내장 인텐트를 지정합니다.
  2. 다음과 같이 gactions 도구를 사용하여 작업 프로젝트에 작업 패키지를 업로드합니다. Actions SDK 개요에 설명되어 있습니다.

예를 들어 다음 스니펫은 CHECK_AIR_QUALITY 내장 인텐트:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

내장 인텐트 매개변수 처리

내장 인텐트를 통해 작업이 호출되면 처리가 추가 매개변수를 수신합니다. 인텐트 스키마는 대상의 이름을 기본 유형 또는 schema.org로 매개변수 및 그 유형을 지원합니다. 개체. 대화형 작업 내장 인텐트의 스키마를 보려면 다음을 참고하세요. 내장 인텐트 참조

내장 인텐트의 매개변수는 선택사항입니다. 어시스턴트는 사용자의 호출에서 추출할 수 있는 경우 이 매개변수를 사용됩니다.

예를 들어 기본 제공 actions.intent.CHECK_AIR_QUALITY의 스키마는 인텐트는 네 가지 선택적 매개변수를 정의합니다.

매개변수 이름 유형
attributes 문자열 값입니다.
location schema.org/Place 객체
temporalCoverage schema.org/Duration 객체
timeIndicator EnumeratedDuration (Google 전용 확장 프로그램)

다음 코드 스니펫은 대화 웹훅 (JSON)의 예를 보여줍니다. 사용자가 "공기질 어때 샌프란시스코?':

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

이 예에서 매개변수는 다음 값을 사용합니다.

  • location 매개변수에는 schema.org/Place 값입니다.
  • temporalCoverage 매개변수에는 schema.org/Duration 값을 반환합니다.
  • attributestimeIndicator 매개변수에 대한 값이 없음 사용자의 호출 구문에 이러한 정보가 포함되어 있지 않기 때문입니다.

Node.js용 Actions on Google 클라이언트 라이브러리를 사용하는 경우 다음 스니펫에 표시된 대로 매개변수 값을 검색할 수 있습니다.

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

내장 인텐트와의 통합 테스트

통합을 테스트하려면 다음 단계를 따르세요.

  1. 테스트 작업이 사용 설정된 상태로 작업 시뮬레이터를 열거나 엽니다. 기기에서 어시스턴트를 사용할 수 있습니다.
  2. 내장 인텐트와 관련된 쿼리를 말하거나 입력합니다. 예를 들어 “게임하고 싶어.”
  3. 표시된 앱 선택 대화상자에서 작업을 찾습니다.
  4. 앱에 인텐트를 보낼 앱을 선택합니다.
그림 3. 내장 인텐트 문구에서
생성되는 작업 선택 대화상자
그림 4. 내장 인텐트에 연결된 작업 호출

내장 인텐트 사용 권장사항

내장 인텐트를 사용할 때는 다음 권장사항을 따라야 합니다.

  • 내장 인텐트를 특정 작업에 매핑: 특정 내장 인텐트가 작업을 트리거하고 사용자를 특정 인텐트로 보내고 기능을 최대한 원활하게 구현하세요. 대상 작업이 PLAY_GAME 내장 인텐트를 지원하고 해당 인텐트를 수신하면 사용자를 즉시 게임 기능으로 보내야 합니다. 확인할 수 있습니다 게임을 하고 싶은지 사용자에게 다시 묻지 않습니다.
  • 내장 인텐트 매개변수 처리: 내장 인텐트를 사용해야 합니다. 매개변수 값을 포함해야 합니다. 사용자에게 이러한 값을 다시 입력하라는 메시지를 표시하지 않습니다.