Files

파일 목록의 래퍼입니다.

JSON 표현
{

  // Union field file_type can be only one of the following:
  "configFiles": {
    object (ConfigFiles)
  },
  "dataFiles": {
    object (DataFiles)
  }
  // End of list of possible types for union field file_type.
}
필드
통합 필드 file_type. 한 번에 한 가지 유형의 파일(구성 파일 또는 데이터 파일)만 서버에 보낼 수 있습니다. file_type은 다음 중 하나여야 합니다.
configFiles

object (ConfigFiles)

구성 파일 목록입니다. 여기에는 매니페스트, 설정, 상호작용 모델 리소스 번들 등이 포함됩니다.

dataFiles

object (DataFiles)

데이터 파일 목록입니다. 여기에는 이미지, 오디오 파일, Cloud 함수 소스 코드가 포함됩니다.

ConfigFiles

반복되는 구성 파일의 래퍼입니다. 반복되는 필드는 한 곳에 존재할 수 없습니다.

JSON 표현
{
  "configFiles": [
    {
      object (ConfigFile)
    }
  ]
}
필드
configFiles[]

object (ConfigFile)

여러 구성 파일.

ConfigFile

구조화된 데이터가 포함된 단일 파일을 나타냅니다. 개발자는 작업, 설정, 처리를 포함한 구조화된 구성을 사용하여 대부분의 프로젝트를 정의할 수 있습니다.

JSON 표현
{
  "filePath": string,

  // Union field file can be only one of the following:
  "manifest": {
    object (Manifest)
  },
  "actions": {
    object (Actions)
  },
  "settings": {
    object (Settings)
  },
  "webhook": {
    object (Webhook)
  },
  "intent": {
    object (Intent)
  },
  "type": {
    object (Type)
  },
  "entitySet": {
    object (EntitySet)
  },
  "globalIntentEvent": {
    object (GlobalIntentEvent)
  },
  "scene": {
    object (Scene)
  },
  "staticPrompt": {
    object (StaticPrompt)
  },
  "accountLinkingSecret": {
    object (AccountLinkingSecret)
  },
  "resourceBundle": {
    object
  }
  // End of list of possible types for union field file.
}
필드
filePath

string

SDK 파일 구조의 프로젝트 루트에 있는 구성 파일의 상대 경로입니다. 아래의 각 파일 형식에 허용되는 파일 경로가 있습니다. 예: settings/settings.yaml

통합 필드 file. 구성 파일의 각 유형에는 해당 필드가 있어야 합니다. file은 다음 중 하나여야 합니다.
manifest

object (Manifest)

단일 매니페스트 파일 허용되는 파일 경로: manifest.yaml

actions

object (Actions)

모든 작업이 정의된 단일 작업 파일 허용되는 파일 경로: actions/{language}?/actions.yaml

settings

object (Settings)

프로젝트의 기본 언어 (지정된 경우)로 현지화할 수 없는 설정과 설정을 포함하는 단일 설정 구성입니다. 언어 재정의 파일의 경우 localizedSettings 필드만 채워집니다. 허용되는 파일 경로: settings/{language}?/settings.yaml 현지화되지 않은 설정 파일 settings/settings.yaml는 쓰기 흐름 요청에 있어야 합니다.

webhook

object (Webhook)

단일 웹훅 정의입니다. 허용되는 파일 경로: webhooks/{WebhookName}.yaml

intent

object (Intent)

단일 인텐트 정의입니다. 허용되는 파일 경로: custom/intents/{language}?/{IntentName}.yaml

type

object (Type)

단일 유형 정의입니다. 허용되는 파일 경로: custom/types/{language}?/{TypeName}.yaml

entitySet

object (EntitySet)

단일 항목 세트 정의 허용되는 파일 경로: custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object (GlobalIntentEvent)

단일 전역 인텐트 이벤트 정의 허용되는 파일 경로: custom/global/{GlobalIntentEventName}.yaml 파일 이름 (GlobalIntentEventName)은 이 전역 인텐트 이벤트에 해당하는 인텐트의 이름이어야 합니다.

scene

object (Scene)

단일 장면 정의 허용되는 파일 경로: custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

단일 정적 프롬프트 정의 허용되는 파일 경로: custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object (AccountLinkingSecret)

계정 연결에 사용된 클라이언트 보안 비밀번호에 해당하는 메타데이터입니다. 허용되는 파일 경로: settings/accountLinkingSecret.yaml

resourceBundle

object (Struct format)

단일 리소스 번들: 문자열에서 문자열 또는 문자열 목록으로의 매핑 리소스 번들은 정적 프롬프트의 문자열을 현지화하는 데 사용할 수 있습니다. 허용되는 파일 경로: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

매니페스트

'전송 가능'한 정보 포함 즉, 특정 프로젝트에 국한되지 않으며 프로젝트 간에 이동할 수 있습니다.

JSON 표현
{
  "version": string
}
필드
version

string

파일 형식의 버전 현재 파일 형식 버전은 1.0입니다(예: '1.0').

작업

프로젝트에 정의된 작업 목록을 나타냅니다.

JSON 표현
{
  "custom": {
    string: {
      object (CustomAction)
    },
    ...
  }
}
필드
custom

map (key: string, value: object (CustomAction))

인텐트에서 커스텀 작업에 매핑하여 프로젝트의 호출을 구성합니다. 호출 인텐트는 시스템 또는 'custom/intents/'에 정의된 맞춤 인텐트일 수 있습니다. 패키지에서 찾을 수 있습니다. 여기에 정의된 모든 인텐트 (시스템 인텐트 및 맞춤 인텐트)는 'custom/global/'에 상응하는 인텐트 파일이 있어야 합니다. 패키지에서 찾을 수 있습니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

CustomAction

맞춤 작업에 관한 세부정보입니다.

JSON 표현
{
  "engagement": {
    object (Engagement)
  }
}
필드
engagement

object (Engagement)

최종 사용자가 푸시 알림 및 일일 업데이트를 구독할 수 있도록 지원하는 작업과 관련된 참여 메커니즘입니다. 일일 업데이트/푸시 알림 슬롯 구성에 지정된 인텐트 이름이 이 작업에 해당하는 인텐트와 일치해야 최종 사용자가 업데이트를 구독할 수 있습니다.

참여

이 작업과 관련된 참여 메커니즘을 정의합니다. 이렇게 하면 최종 사용자가 푸시 알림 및 일일 업데이트를 구독할 수 있습니다.

JSON 표현
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
필드
title

string

업데이트 수신 권한을 요청하는 최종 사용자에게 전송되는 참여 제목입니다. 최종 사용자에게 일일 업데이트를 요청하는 메시지는 '{제목}을(를) 매일 몇 시에 보내 드릴까요?'와 같은 형식입니다. 푸시 알림의 경우 '{제목}에 대한 푸시 알림을 보내도 괜찮을까요?'와 같은 내용이 표시됩니다. 이 필드는 현지화할 수 있습니다.

pushNotification

object (PushNotification)

이 참여에서 지원하는 푸시 알림 설정입니다.

dailyUpdate

object (DailyUpdate)

이 참여에서 지원하는 일일 업데이트 설정입니다.

PushNotification

이 참여에서 지원하는 푸시 알림 설정을 정의합니다.

DailyUpdate

이 참여에서 지원하는 일일 업데이트 설정을 정의합니다.

설정

언어별이 아닌 작업 프로젝트의 설정을 나타냅니다. 다음 태그: 22

JSON 표현
{
  "projectId": string,
  "defaultLocale": string,
  "enabledRegions": [
    string
  ],
  "disabledRegions": [
    string
  ],
  "category": enum (Category),
  "usesTransactionsApi": boolean,
  "usesDigitalPurchaseApi": boolean,
  "usesInteractiveCanvas": boolean,
  "usesHomeStorage": boolean,
  "designedForFamily": boolean,
  "containsAlcoholOrTobaccoContent": boolean,
  "keepsMicOpen": boolean,
  "surfaceRequirements": {
    object (SurfaceRequirements)
  },
  "testingInstructions": string,
  "localizedSettings": {
    object (LocalizedSettings)
  },
  "accountLinking": {
    object (AccountLinking)
  },
  "selectedAndroidApps": [
    string
  ]
}
필드
projectId

string

작업 프로젝트 ID입니다.

defaultLocale

string

프로젝트의 기본값입니다. 경로에 언어가 없는 resources/ 아래 파일을 제외한 모든 파일의 경우 현지화된 데이터가 이 defaultLocale에 속합니다. resources/ 아래에 있는 파일의 경우 언어가 없다는 것은 리소스가 모든 언어에 적용 가능함을 의미합니다.

enabledRegions[]

string

사용자가 작업을 호출할 수 있는 지역을 나타내며, 사용자의 현재 위치를 기반으로 합니다. disabledRegions가 설정된 경우 설정할 수 없습니다. enabledRegionsdisabledRegions를 모두 지정하지 않으면 사용자가 모든 리전에서 작업을 호출할 수 있습니다. 각 지역은 애드워즈 지역 타겟의 표준 이름을 사용하여 표시됩니다. https://developers.google.com/adwords/api/docs/appendix/geotargeting 페이지를 참조하세요. 예: - '독일' - '가나' - '그리스' - '그레나다' - '영국' - '미국' - '미국령 군소 제도' - '우루과이'

disabledRegions[]

string

사용자의 현재 위치를 기준으로 작업이 차단된 지역을 나타냅니다. enabledRegions가 설정된 경우 설정할 수 없습니다. 각 지역은 애드워즈 지역 타겟의 표준 이름을 사용하여 표시됩니다. https://developers.google.com/adwords/api/docs/appendix/geotargeting 페이지를 참조하세요. 예: - '독일' - '가나' - '그리스' - '그레나다' - '영국' - '미국' - '미국령 군소 제도' - '우루과이'

category

enum (Category)

이 작업 프로젝트의 카테고리입니다.

usesTransactionsApi

boolean

작업이 거래를 사용할 수 있는지 여부 (예: 예약, 주문 접수 등) false인 경우 Transactions API 사용 시도가 실패합니다.

usesDigitalPurchaseApi

boolean

작업이 디지털 상품을 위한 거래를 수행할 수 있는지 여부입니다.

usesInteractiveCanvas

boolean

작업에서 Interactive Canvas를 사용하는지 여부

usesHomeStorage

boolean

작업에서 홈 스토리지 기능을 사용하는지 여부

designedForFamily

boolean

작업 콘텐츠가 가족용 (DFF)용으로 설계되었는지 여부

containsAlcoholOrTobaccoContent

boolean

작업에 주류 또는 담배 관련 콘텐츠가 포함되어 있는지 여부

keepsMicOpen

boolean

대화 중에 명시적인 메시지 없이 작업에서 마이크를 켜진 상태로 둘 수 있는지 여부입니다.

surfaceRequirements

object (SurfaceRequirements)

이 프로젝트에서 작업을 호출하기 위해 클라이언트 노출 영역에서 지원해야 하는 노출 영역 요구사항입니다.

testingInstructions

string

작업 검토자를 위한 자유 형식 테스트 안내입니다 (예: 계정 연결 안내).

localizedSettings

object (LocalizedSettings)

프로젝트의 기본 언어에 대한 현지화된 설정입니다. 모든 추가 로케일은 고유 디렉터리에 자체 설정 파일이 있어야 합니다.

accountLinking

object (AccountLinking)

사용자가 Google 로그인 또는 자체 OAuth 서비스를 통해 계정을 만들거나 연결하도록 허용합니다.

selectedAndroidApps[]

string

거래를 위해 Google Play 구매에 액세스하도록 선택된 Android 앱 브랜드 소유권을 확인하고 추가 기능을 사용 설정하기 위해 작업 프로젝트에 연결된 Android 앱에서 선택합니다. 자세한 내용은 https://developers.google.com/assistant/console/brand-verification을 참고하세요.

카테고리

작업 프로젝트의 카테고리 선택

열거형
CATEGORY_UNSPECIFIED 알 수 없음 / 지정되지 않음
BUSINESS_AND_FINANCE 비즈니스 및 금융 카테고리입니다.
EDUCATION_AND_REFERENCE 교육 및 참조 카테고리입니다.
FOOD_AND_DRINK 식음료 카테고리입니다.
GAMES_AND_TRIVIA 게임 및 퀴즈 카테고리입니다.
HEALTH_AND_FITNESS 건강/피트니스 카테고리입니다.
KIDS_AND_FAMILY 어린이 및 가족 카테고리에 속합니다.
LIFESTYLE 라이프스타일 카테고리입니다.
LOCAL 지역 카테고리입니다.
MOVIES_AND_TV 영화 및 TV 카테고리입니다.
MUSIC_AND_AUDIO 음악 및 오디오 카테고리입니다.
NEWS 뉴스 카테고리,
NOVELTY_AND_HUMOR '재미 및 유머' 카테고리로 분류해야 합니다.
PRODUCTIVITY 생산성 카테고리입니다.
SHOPPING 쇼핑 카테고리입니다.
SOCIAL 소셜 카테고리입니다.
SPORTS 스포츠 카테고리입니다.
TRAVEL_AND_TRANSPORTATION 여행 및 교통 카테고리입니다.
UTILITIES 공익산업 카테고리입니다.
WEATHER 날씨 카테고리입니다.
HOME_CONTROL 홈 컨트롤 카테고리입니다.

SurfaceRequirements

프로젝트에서 작업을 호출하기 위해 클라이언트 노출 영역에서 지원해야 하는 일련의 요구사항이 포함되어 있습니다.

JSON 표현
{
  "minimumRequirements": [
    {
      object (CapabilityRequirement)
    }
  ]
}
필드
minimumRequirements[]

object (CapabilityRequirement)

프로젝트에서 작업을 호출하는 데 필요한 최소한의 기능 집합입니다. 노출 영역에 이러한 항목이 누락된 경우 작업이 트리거되지 않습니다.

CapabilityRequirement

특정 기능의 가용성에 대한 요구사항을 나타냅니다.

JSON 표현
{
  "capability": enum (SurfaceCapability)
}
필드
capability

enum (SurfaceCapability)

기능 유형

SurfaceCapability

가능한 노출 영역 기능 집합입니다.

열거형
SURFACE_CAPABILITY_UNSPECIFIED 알 수 없음 / 지정되지 않음
AUDIO_OUTPUT 노출 영역이 오디오 출력을 지원합니다.
SCREEN_OUTPUT 노출 영역은 화면/시각적 출력을 지원합니다.
MEDIA_RESPONSE_AUDIO 노출 영역은 미디어 응답 오디오를 지원합니다.
WEB_BROWSER Surface는 웹브라우저를 지원합니다.
ACCOUNT_LINKING 노출 영역이 계정 연결을 지원합니다.
INTERACTIVE_CANVAS Surface는 Interactive Canvas를 지원합니다.
HOME_STORAGE Surface는 홈 스토리지를 지원합니다.

LocalizedSettings

사용자 언어와 관련된 작업 프로젝트의 설정을 나타냅니다. 이 경우 사용자는 작업을 호출하는 최종 사용자를 의미합니다. 이 메시지는 현지화할 수 있습니다.

JSON 표현
{
  "displayName": string,
  "pronunciation": string,
  "shortDescription": string,
  "fullDescription": string,
  "smallLogoImage": string,
  "largeBannerImage": string,
  "developerName": string,
  "developerEmail": string,
  "termsOfServiceUrl": string,
  "voice": string,
  "voiceLocale": string,
  "privacyPolicyUrl": string,
  "sampleInvocations": [
    string
  ],
  "themeCustomization": {
    object (ThemeCustomization)
  }
}
필드
displayName

string

필수 항목입니다. 이 작업 프로젝트의 기본 표시 이름 (사용 가능한 번역이 없는 경우)

pronunciation

string

필수 항목입니다. 음성 (음성) 컨텍스트 내에서 호출하기 위한 표시 이름의 발음입니다.

shortDescription

string

필수 항목입니다. 작업 프로젝트에 대한 간단한 기본 설명입니다 (사용 가능한 번역이 없는 경우). 글자 수가 80자(영문 기준)로 제한됩니다.

fullDescription

string

필수 항목입니다. 작업 프로젝트의 기본 상세 설명입니다 (사용 가능한 번역이 없는 경우). 글자 수가 4,000자(영문 기준)로 제한됩니다.

smallLogoImage

string

필수 항목입니다. 작은 정사각형 이미지, 192x192픽셀 이는 resources/images/ 디렉터리에 있는 해당 이미지의 참조로 지정해야 합니다. 예를 들어 resources/images/foo.jpg의 이미지에 $resources.images.foo (확장 프로그램 제외)를 설정합니다. 콘솔에서 가져온 프로젝트에서 작업할 때 가져온 Google 관리 URL을 사용할 수 있습니다. 외부 소스의 URL은 허용되지 않습니다.

largeBannerImage

string

선택사항입니다. 큰 가로 모드 이미지(1920x1080px) 이는 resources/images/ 디렉터리에 있는 해당 이미지의 참조로 지정해야 합니다. 예를 들어 resources/images/foo.jpg의 이미지에 $resources.images.foo (확장 프로그램 제외)를 설정합니다. 콘솔에서 가져온 프로젝트에서 작업할 때 가져온 Google 관리 URL을 사용할 수 있습니다. 외부 소스의 URL은 허용되지 않습니다.

developerName

string

필수 항목입니다. 사용자에게 표시될 개발자의 이름입니다.

developerEmail

string

필수 항목입니다. 개발자의 연락처 이메일 주소입니다.

termsOfServiceUrl

string

선택사항입니다. 서비스 약관 URL입니다.

voice

string

필수 항목입니다. 사용자가 작업과 상호작용할 때 들리는 Google 어시스턴트 음성 유형입니다. 지원되는 값은 'male_1', 'male_2', 'female_1', 'female_2'입니다.

voiceLocale

string

선택사항입니다. 지정된 음성의 언어입니다. 지정하지 않으면 사용자의 어시스턴트 언어로 확인됩니다. 지정된 경우 음성 로캘의 루트 언어는 LocalizedSettings에 지정된 언어와 동일해야 합니다.

privacyPolicyUrl

string

필수 항목입니다. 개인정보처리방침 URL입니다.

sampleInvocations[]

string

선택사항입니다. 어시스턴트 디렉터리에서 작업 프로젝트 설명의 일부로 표시되는 샘플 호출 구문입니다. 이렇게 하면 사용자가 사용 방법을 익히는 데 도움이 됩니다.

themeCustomization

object (ThemeCustomization)

선택사항입니다. 작업의 시각적 구성요소에 대한 테마 맞춤설정

ThemeCustomization

사용자에게 표시되는 카드에 적용되는 스타일

JSON 표현
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
필드
backgroundColor

string

카드의 배경 색상입니다. 개발자가 background_image를 제공하지 않거나 background_image가 특정 표시 경로에 적합하지 않은 경우 대체 역할을 합니다. 사용 예시: #FAFAFA

primaryColor

string

작업의 기본 테마 색상은 Actions on Google 카드의 제목 텍스트 색상, 작업 항목 배경 색상을 설정하는 데 사용됩니다. 사용 예시: #FAFAFA

fontFamily

string

카드 제목에 사용될 글꼴 모음입니다. 지원되는 글꼴: - Sans Serif - Sans Serif 중간 - Sans Serif 굵게 - Sans Serif 검은색 - Sans Serif 응축된 중간 - Sans Serif 압축 중간 - Serif - Serif 굵게 - 고정 너비 - Cursive - Sans Serif

imageCornerStyle

enum (ImageCornerStyle)

카드 전경 이미지의 테두리 스타일 예를 들어 기본 카드 또는 캐러셀 카드의 전경 이미지에 적용할 수 있습니다.

landscapeBackgroundImage

string

가로 모드 (최소 1920x1200픽셀). 이는 resources/images/ 디렉터리에 있는 해당 이미지의 참조로 지정해야 합니다. 예: resources/images/foo.jpg의 이미지의 경우 $resources.images.foo (확장 프로그램 없음) 콘솔에서 가져온 프로젝트에서 작업할 때 가져온 Google 관리 URL을 사용할 수 있습니다.

portraitBackgroundImage

string

세로 모드 (최소 1200x1920픽셀) 이는 resources/images/ 디렉터리에 있는 해당 이미지의 참조로 지정해야 합니다. 예: resources/images/foo.jpg의 이미지의 경우 $resources.images.foo (확장 프로그램 없음) 콘솔에서 가져온 프로젝트에서 작업할 때 가져온 Google 관리 URL을 사용할 수 있습니다.

ImageCornerStyle

이미지의 테두리를 렌더링하는 방법을 설명합니다.

열거형
IMAGE_CORNER_STYLE_UNSPECIFIED 정의되지 않음 / 지정되지 않음.
CURVED 이미지의 둥근 모서리
ANGLED 이미지의 직사각형 모서리

AccountLinking

AccountLinking을 사용하면 Google에서 사용자가 앱의 웹 서비스에 로그인하도록 안내할 수 있습니다.

Google 로그인 및 OAuth + Google 로그인 연결 유형의 경우, Google에서 앱을 식별하는 클라이언트 ID(콘솔 UI에서 'Google이 작업에 대해 발급한 클라이언트 ID')를 생성합니다. 이 입력란은 읽기 전용이며 Console UI의 계정 연결 페이지로 이동하여 확인할 수 있습니다. https://developers.google.com/assistant/identity/google-sign-in을 참고하세요.

참고: 모든 계정 연결 설정 유형 (Google 로그인 제외)의 경우 검토팀에서 앱을 검토할 수 있도록 Settings.testing_instructions에서 테스트 계정의 사용자 이름과 비밀번호를 제공해야 합니다 (사용자에게는 표시되지 않음).

JSON 표현
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
필드
enableAccountCreation

boolean

필수 항목입니다. true인 경우 사용자는 음성으로 새 계정에 가입할 수 있습니다. false인 경우 웹사이트에서만 계정을 만들 수 있습니다. 가입 시 서비스 약관을 표시하거나 사용자 동의를 얻으려면 이 옵션을 선택합니다. false인 경우 linksType을 GOOGLE_SIGN_IN으로 지정할 수 없습니다. true인 경우 linksType이 OAUTH가 될 수 없습니다.

linkingType

enum (LinkingType)

필수 항목입니다. 사용할 연결 유형입니다. 연결 유형에 관한 자세한 내용은 https://developers.google.com/assistant/identity를 참고하세요.

authGrantType

enum (AuthGrantType)

선택사항입니다. OAUTH linksType의 인증 유형을 나타냅니다.

appClientId

string

선택사항입니다. 앱에서 Google에 발급한 클라이언트 ID입니다. 이 ID는 서비스에 대한 Google을 식별하는 OAuth2 클라이언트 ID입니다. OAuth를 사용할 때만 설정됩니다.

authorizationUrl

string

선택사항입니다. OAuth2 코드 또는 암시적 흐름을 지원하는 로그인 웹페이지의 엔드포인트입니다. URL은 HTTPS를 사용해야 합니다. OAuth를 사용할 때만 설정됩니다.

tokenUrl

string

선택사항입니다. 토큰 교환용 OAuth2 엔드포인트 URL은 HTTPS를 사용해야 합니다. 연결 유형으로 IMPLICIT 권한 부여와 함께 OAuth만 사용하는 경우에는 설정되지 않습니다. OAuth를 사용할 때만 설정됩니다.

scopes[]

string

선택사항입니다. 사용자가 서비스를 사용하기 위해 동의해야 하는 권한 목록입니다. OAuth를 사용할 때만 설정됩니다. 이 필드를 지정하는 경우 LocalizedSettings.terms_of_service_url 섹션의 디렉터리 정보에 서비스 약관을 제공해야 합니다.

learnMoreUrl

string

선택사항입니다. 서비스의 웹페이지로, 사용자가 Google에 부여하는 권한을 설명합니다. OAuth 및 Google 로그인을 사용하는 경우에만 설정됩니다. 이 필드를 지정하는 경우 LocalizedSettings.terms_of_service_url 섹션의 디렉터리 정보에 서비스 약관을 제공해야 합니다.

useBasicAuthHeader

boolean

선택사항입니다. true인 경우 Google이 HTTP 기본 인증 헤더를 통해 클라이언트 ID와 비밀번호를 전송하도록 허용합니다. 그렇지 않으면 Google은 게시물 본문 내의 클라이언트 ID와 보안 비밀번호를 사용합니다. OAuth를 사용할 때만 설정됩니다. 이 필드를 지정하는 경우 LocalizedSettings.terms_of_service_url 섹션의 디렉터리 정보에 서비스 약관을 제공해야 합니다.

LinkingType

수행할 계정 연결 유형입니다.

열거형
LINKING_TYPE_UNSPECIFIED 지정되지 않았습니다.
GOOGLE_SIGN_IN Google 로그인 연결 유형입니다. 이 연결 유형을 사용하는 경우 아래에 OAuth 관련 입력란을 설정하지 않아도 됩니다.
OAUTH_AND_GOOGLE_SIGN_IN OAuth 및 Google 로그인 연결 유형입니다.
OAUTH OAuth 연결 유형입니다.

AuthGrantType

Google에서 사용자가 앱의 웹 서비스에 로그인하도록 안내하는 데 사용하는 OAuth2 권한 유형입니다.

열거형
AUTH_GRANT_TYPE_UNSPECIFIED 지정되지 않았습니다.
AUTH_CODE 승인 코드 부여 인증 URL과 액세스 토큰 URL을 모두 제공해야 합니다.
IMPLICIT 암시적 코드 부여 인증 URL만 제공하면 됩니다.

웹훅

다양한 유형의 웹훅에 대한 메타데이터입니다. inlineCloudFunction를 사용하는 경우 소스 코드가 executeFunction 키 값과 같은 이름의 디렉터리에 있어야 합니다. 예를 들어 executeFunction 키의 my_webhook 값은 다음과 같은 코드 구조를 갖습니다. - /webhooks/my_webhook.yaml - /webhooks/my_webhook/index.js - /webhooks/my_webhook/package.json

JSON 표현
{
  "handlers": [
    {
      object (Handler)
    }
  ],

  // Union field webhook_type can be only one of the following:
  "httpsEndpoint": {
    object (HttpsEndpoint)
  },
  "inlineCloudFunction": {
    object (InlineCloudFunction)
  }
  // End of list of possible types for union field webhook_type.
}
필드
handlers[]

object (Handler)

이 웹훅의 핸들러 목록입니다.

통합 필드 webhook_type. 하나의 웹훅 유형만 지원됩니다. webhook_type은 다음 중 하나여야 합니다.
httpsEndpoint

object (HttpsEndpoint)

커스텀 웹훅 HTTPS 엔드포인트입니다.

inlineCloudFunction

object (InlineCloudFunction)

웹훅 폴더의 코드에서 배포된 Cloud 함수의 메타데이터입니다.

Handler

webhoook 핸들러의 이름을 선언합니다. 웹훅에는 여러 핸들러가 등록될 수 있습니다. 이러한 핸들러는 작업 프로젝트의 여러 위치에서 호출할 수 있습니다.

JSON 표현
{
  "name": string
}
필드
name

string

필수 항목입니다. 핸들러의 이름입니다. 작업 프로젝트의 모든 핸들러에서 고유해야 합니다. 이 핸들러의 이름을 확인하여 fulfillment 소스 코드에서 올바른 함수를 호출할 수 있습니다.

HttpsEndpoint

인라인 편집기를 사용하지 않을 경우 알리는 REST 엔드포인트.

JSON 표현
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
필드
baseUrl

string

처리 엔드포인트의 HTTPS 기본 URL입니다 (HTTP는 지원되지 않음). 핸들러 이름은 https://cloud.google.com/apis/design/custom_methods)의 스타일 가이드에 따라 콜론 뒤에 기본 URL 경로에 추가됩니다. 예: 'https://gactions.service.com/api'의 기본 URL URL이 'https://gactions.service.com/api:{method}'인 요청을 수신합니다.

httpHeaders

map (key: string, value: string)

POST 요청에 포함될 HTTP 매개변수의 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

endpointApiVersion

integer

엔드포인트에서 사용하는 프로토콜 버전입니다. 이는 모든 처리 유형에서 공유하는 프로토콜이며 Google 처리 유형에 국한되지 않습니다.

InlineCloudFunction

웹훅 폴더에서 배포된 인라인 Cloud 함수의 메타데이터를 보유합니다.

JSON 표현
{
  "executeFunction": string
}
필드
executeFunction

string

Cloud 함수 진입점의 이름입니다. 이 필드의 값은 소스 코드에서 내보낸 메서드의 이름과 일치해야 합니다.

인텐트

인텐트는 개방형 사용자 입력을 구조화된 객체에 매핑합니다. 음성 구문은 Google의 자연어 이해 (NLU)를 통해 인텐트에 매칭됩니다. 인텐트 일치는 대화 설계의 이벤트를 트리거하여 사용자의 대화를 진행할 수 있습니다. 인텐트 이름은 파일 이름에 지정됩니다.

JSON 표현
{
  "parameters": [
    {
      object (IntentParameter)
    }
  ],
  "trainingPhrases": [
    string
  ]
}
필드
parameters[]

object (IntentParameter)

학습 문구 내의 매개변수 목록입니다. 모든 매개변수는 학습 문구에서 사용되도록 여기에 정의해야 합니다.

trainingPhrases[]

string

학습 문구를 사용하면 Google NLU에서 인텐트를 사용자 입력과 자동으로 일치시킬 수 있습니다. 고유한 구문을 많이 제공할수록 이 인텐트가 일치될 가능성이 높아집니다. 다음은 주석이 추가된 학습 문구 부분의 형식입니다. auto 필드는 선택사항이며 auto가 지정되지 않은 경우의 기본 동작은 auto=false와 동일합니다. ($<paramName> '<sample text>' auto=<true or false>) auto = true는 해당 부분이 NLU에 의해 자동 주석 처리되었음을 의미합니다. auto = false는 사용자가 해당 부분을 주석 처리했음을 의미합니다. auto가 지정되지 않은 경우 기본값입니다. 예: "($source 'San Francisco' auto=false)에서 ($dest 'Vancouver'로 가는 항공편 예약)

IntentParameter

학습 문구 내에서 사용할 수 있는 매개변수의 정의입니다.

JSON 표현
{
  "name": string,

  // Union field parameter_type can be only one of the following:
  "type": {
    object (ClassReference)
  },
  "entitySetReferences": {
    object (EntitySetReferences)
  }
  // End of list of possible types for union field parameter_type.
}
필드
name

string

필수 항목입니다. 인텐트 매개변수의 고유 이름입니다. 조건 및 응답에서 $intent.params.[name].resolved와 함께 NLU에서 추출한 인텐트 매개변수를 참조하는 데 사용할 수 있습니다.

통합 필드 parameter_type. 인텐트 매개변수의 유형입니다. parameter_type은 다음 중 하나여야 합니다.
type

object (ClassReference)

선택사항입니다. 이 매개변수의 데이터 유형을 선언합니다. 내장 인텐트에는 이를 설정하면 안 됩니다.

entitySetReferences

object (EntitySetReferences)

선택사항입니다. 이 인텐트 매개변수에 허용되는 항목 집합에 대한 참조입니다. 내장 인텐트의 매개변수에만 유효합니다. 이러한 참조는 'custom/entitySets'의 항목 세트를 가리킵니다. 디렉터리

ClassReference

필드 또는 반환 값의 유형을 선언하는 데 사용되는 클래스에 대한 참조입니다. enum은 ClassReference를 사용하여 참조할 수 있는 클래스의 한 유형이기도 합니다.

JSON 표현
{
  "name": string,
  "list": boolean
}
필드
name

string

필수 항목입니다. 매개변수의 기본 제공 유형 또는 맞춤 유형 이름. 예: PizzaToppings, actions.type.Number

list

boolean

선택사항입니다. 데이터 유형이 값 목록을 나타내는지 여부를 나타냅니다.

EntitySetReferences

인텐트 매개변수의 항목 세트 참조

JSON 표현
{
  "entitySetReferences": [
    {
      object (EntitySetReference)
    }
  ]
}
필드
entitySetReferences[]

object (EntitySetReference)

필수 항목입니다. 인텐트 매개변수의 항목 세트 참조

EntitySetReference

이 인텐트 매개변수에 허용되는 항목 집합에 대한 참조입니다.

JSON 표현
{
  "entitySet": string
}
필드
entitySet

string

필수 항목입니다. 지정된 매개변수에 대해 고려할 특정 항목 컬렉션을 식별합니다. 해당하는 항목 세트 정의가 custom/entitySets/ 디렉터리에 있어야 합니다.

유형

기본 제공 유형이 아닌 맞춤 유형 선언 유형은 장면의 슬롯이나 인텐트의 학습 문구 매개변수에 할당할 수 있습니다. 실제로 유형은 enum으로 생각할 수 있습니다. 유형 이름은 파일 이름에 지정됩니다.

JSON 표현
{
  "exclusions": [
    string
  ],

  // Union field sub_type can be only one of the following:
  "synonym": {
    object (SynonymType)
  },
  "regularExpression": {
    object (RegularExpressionType)
  },
  "freeText": {
    object (FreeTextType)
  }
  // End of list of possible types for union field sub_type.
}
필드
exclusions[]

string

유형별로 일치해서는 안 되는 예외적인 단어/구문 모음입니다. 참고: 단어/구문이 유형에 의해 일치하지만 제외로 나열된 경우에는 매개변수 추출 결과에 반환되지 않습니다. 이 필드는 현지화할 수 있습니다.

통합 필드 sub_type. 수행할 일치 유형에 따른 하위 유형 선택 sub_type은 다음 중 하나여야 합니다.
synonym

object (SynonymType)

동의어 유형이며 기본적으로 enum입니다.

regularExpression

object (RegularExpressionType)

정규식 유형으로, 정규 표현식 일치가 허용됩니다.

freeText

object (FreeTextType)

FreeText 유형입니다.

SynonymType

동의어 집합으로 텍스트와 일치하는 유형입니다.

JSON 표현
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
필드
matchType

enum (MatchType)

선택사항입니다. 동의어의 일치 유형입니다.

acceptUnknownValues

boolean

선택사항입니다. true로 설정하면 주변 입력 및 인텐트 학습 데이터(예: 식료품 목록에 추가될 수 있는 상품)를 기반으로 알 수 없는 단어나 구문과 일치합니다.

entities

map (key: string, value: object (Entity))

필수 항목입니다. 동의어 항목의 이름이 지정된 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

MatchType

이 유형의 항목이 사용할 일치 유형입니다. 이렇게 하면 모든 유형이 동일한 일치 방법을 사용하고 동의어 일치를 위한 일치 방법을 변형할 수 있습니다 (즉, 퍼지 일치와 일치). 값이 UNSPECIFIED이면 기본값은 EXACT_MATCH입니다.

열거형
UNSPECIFIED 기본값은 EXACT_MATCH입니다.
EXACT_MATCH 동의어 또는 이름과 정확히 일치하는 항목을 찾습니다.
FUZZY_MATCH EXACT_MATCH보다 느립니다. 정확한 일치뿐만 아니라 유사한 일치도 찾습니다.

항목

유형 내부의 단일 항목의 세부정보를 포함하는 동의어 엔티티 필드를 나타냅니다.

JSON 표현
{
  "display": {
    object (EntityDisplay)
  },
  "synonyms": [
    string
  ]
}
필드
display

object (EntityDisplay)

선택사항입니다. 항목 표시 세부정보입니다.

synonyms[]

string

선택사항입니다. 항목의 동의어 목록입니다. 이 필드는 현지화할 수 있습니다.

EntityDisplay

쿼리에서 특정 유형의 항목이 추출되면 캔버스에 표시될 요소입니다. 캔버스 지원 앱에만 해당됩니다. 이 메시지는 현지화할 수 있습니다.

JSON 표현
{
  "iconTitle": string,
  "iconUrl": string
}
필드
iconTitle

string

선택사항입니다. 아이콘의 제목입니다.

iconUrl

string

필수 항목입니다. 아이콘의 URL입니다.

RegularExpressionType

정규 표현식으로 텍스트를 검색하는 유형입니다. 이 메시지는 현지화할 수 있습니다.

JSON 표현
{
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
필드
entities

map (key: string, value: object (Entity))

필수 항목입니다. 각각 정규식 문자열을 포함하는 항목의 이름이 지정된 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

항목

비교에 사용되는 정규 표현식이 포함된 항목 객체를 나타냅니다.

JSON 표현
{
  "display": {
    object (EntityDisplay)
  },
  "regularExpressions": [
    string
  ]
}
필드
display

object (EntityDisplay)

선택사항입니다. 쿼리에서 항목이 추출되면 캔버스에 표시될 요소입니다. 캔버스 지원 앱에만 해당됩니다.

regularExpressions[]

string

필수 항목입니다. RE2 정규식 구문 사용 (자세한 내용은 https://github.com/google/re2/wiki/Syntax 참고)

FreeTextType

주변 단어 컨텍스트가 제공된 학습 예제와 가까우면 모든 텍스트와 일치하는 유형입니다.

JSON 표현
{
  "display": {
    object (EntityDisplay)
  }
}
필드
display

object (EntityDisplay)

선택사항입니다. 쿼리에서 항목이 추출되면 캔버스에 표시될 요소입니다. 캔버스 지원 앱에만 해당됩니다.

EntitySet

항목 세트는 내장 인텐트 매개변수의 값을 가져올 수 있는 사전 정의된 항목 세트를 설명합니다. 항목 세트는 내장 인텐트 매개변수의 entrySet에서 참조할 수 있습니다.

JSON 표현
{
  "entities": [
    {
      object (Entity)
    }
  ]
}
필드
entities[]

object (Entity)

필수 항목입니다. 이 항목 세트가 지원하는 항목의 목록입니다.

항목

내장 인텐트 매개변수 값을 가져올 수 있는 항목입니다.

JSON 표현
{
  "id": string
}
필드
id

string

필수 항목입니다. 항목의 ID입니다. 내장 인텐트 매개변수와 이러한 항목에서 지원되는 항목의 목록은 https://developers.google.com/assistant/conversational/build/built-in-intents를 참고하세요.

GlobalIntentEvent

전역 인텐트 핸들러를 정의합니다. 전역 인텐트 이벤트는 전체 작업 프로젝트로 범위가 지정되며 장면의 인텐트 핸들러에 의해 재정의될 수 있습니다. 인텐트 이름은 작업 프로젝트 내에서 고유해야 합니다.

전역 인텐트는 세션 중에 언제든지 일치될 수 있으므로 사용자는 '도움 받기'와 같은 일반적인 흐름에 액세스할 수 있습니다. 또는 '홈으로 돌아가기'가 됩니다. 또한 사용자가 작업을 호출할 때 특정 흐름으로 딥 링크를 설정할 수도 있습니다.

인텐트 이름은 파일 이름에 지정됩니다.

JSON 표현
{
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
필드
transitionToScene

string

선택사항입니다. 대화가 이동해야 할 대상 장면입니다. 전환 시 현재 장면의 상태가 소멸됩니다.

handler

object (EventHandler)

선택사항입니다. 인텐트가 일치될 때 트리거되는 이벤트 핸들러입니다. 대상 장면으로 전환하기 전에 실행해야 합니다. 이벤트에 대한 응답으로 프롬프트를 생성하는 데 유용합니다.

EventHandler

이벤트 후에 실행될 핸들러를 정의합니다. 이벤트의 예로는 장면의 인텐트 및 조건 기반 이벤트가 있습니다.

JSON 표현
{
  "webhookHandler": string,

  // Union field prompt can be only one of the following:
  "staticPrompt": {
    object (StaticPrompt)
  },
  "staticPromptName": string
  // End of list of possible types for union field prompt.
}
필드
webhookHandler

string

호출할 웹훅 핸들러의 이름입니다.

통합 필드 prompt. 프롬프트는 인라인 처리하거나 이름으로 참조할 수 있습니다. prompt은 다음 중 하나여야 합니다.
staticPrompt

object (StaticPrompt)

인라인 정적 프롬프트. 번들의 문자열 리소스에 대한 참조를 포함할 수 있습니다.

staticPromptName

string

호출할 정적 프롬프트의 이름입니다.

StaticPrompt

프롬프트 후보 목록을 나타냅니다. 그중 하나는 사용자에게 대답할 때 표시할 프롬프트로 선택됩니다. 이 메시지는 현지화할 수 있습니다.

JSON 표현
{
  "candidates": [
    {
      object (StaticPromptCandidate)
    }
  ]
}
필드
candidates[]

object (StaticPromptCandidate)

클라이언트에 전송할 후보 프롬프트의 목록입니다. 각 프롬프트에는 사용 시기를 결정하는 선택기가 있습니다. 요청과 일치하는 첫 번째 선택자가 전송되며 나머지는 무시됩니다.

StaticPromptCandidate

정적 프롬프트 후보를 나타냅니다.

JSON 표현
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
필드
selector

object (Selector)

선택사항입니다. 이 프롬프트가 요청과 일치하는지 여부에 대한 기준입니다. 선택기가 비어 있으면 이 메시지가 항상 트리거됩니다.

promptResponse

object (StaticPromptResponse)

선택자와 관련된 프롬프트 응답입니다.

선택기

프롬프트가 요청과 일치하는지 여부에 대한 기준을 정의합니다.

JSON 표현
{
  "surfaceCapabilities": {
    object (SurfaceCapabilities)
  }
}
필드
surfaceCapabilities

object (SurfaceCapabilities)

필수 노출 영역 기능 집합입니다.

SurfaceCapabilities

사용자가 작업을 요청하는 데 사용하는 노출 영역을 나타냅니다.

JSON 표현
{
  "capabilities": [
    enum (Capability)
  ]
}
필드
capabilities[]

enum (Capability)

필수 항목입니다. 작업에 대한 요청을 실행하는 노출 영역의 기능입니다.

역량

요청 시 기기 노출 영역에서 지원하는 기능입니다.

열거형
UNSPECIFIED 지정되지 않은 노출 영역 기능.
SPEECH 기기는 텍스트 음성 변환 또는 SSML을 통해 사용자와 대화할 수 있습니다.
RICH_RESPONSE 기기에서 카드, 목록, 표 등 다양한 응답을 표시할 수 있습니다.
LONG_FORM_AUDIO 기기에서 음악 및 팟캐스트와 같은 긴 형식의 오디오 미디어를 재생할 수 있습니다.
INTERACTIVE_CANVAS 기기가 대화형 캔버스 응답을 표시할 수 있습니다.
HOME_STORAGE 기기에서 홈 스토리지 저장 및 가져오기를 지원할 수 있습니다.

StaticPromptResponse

텍스트, 음성, 카드, 캔버스 데이터, 제안 칩 등과 같이 사용자에게 보낼 구조화된 응답을 나타냅니다.

JSON 표현
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
필드
firstSimple

object (StaticSimplePrompt)

선택사항입니다. 첫 번째 음성 및 텍스트 전용 응답입니다.

content

object (StaticContentPrompt)

선택사항입니다. 사용자에게 표시할 카드, 목록, 미디어와 같은 콘텐츠입니다.

lastSimple

object (StaticSimplePrompt)

선택사항입니다. 마지막 음성 및 텍스트 전용 응답입니다.

suggestions[]

object (Suggestion)

선택사항입니다. 사용자에게 표시할 제안으로, 대답의 마지막 부분에 항상 표시됩니다. 포함하는 프롬프트의 append 필드가 true인 경우 이 필드에 정의된 제목은 이전에 정의된 추천 프롬프트에 정의된 제목에 추가되고 중복 값은 삭제됩니다.

override

boolean

선택사항입니다. 이 메시지가 이전에 정의된 메시지와 병합되는 방식을 위한 모드입니다. true는 이전에 정의된 모든 메시지 (첫 번째와 마지막, 콘텐츠, 추천 링크, 캔버스)를 지우고 이 프롬프트에 정의된 메시지를 추가합니다. false는 이 프롬프트에 정의된 메시지를 이전 대답에 정의된 메시지에 추가합니다. 이 필드를 false로 설정하면 단순 프롬프트, 추천 프롬프트, 캔버스 프롬프트 (콘텐츠 프롬프트의 일부) 내의 일부 필드에도 추가할 수 있습니다. 메시지에 정의된 경우 콘텐츠 및 링크 메시지를 항상 덮어씁니다. 기본값은 false입니다.

canvas

object (StaticCanvasPrompt)

대화형 캔버스 환경에 사용할 응답입니다.

StaticSimplePrompt

사용자에게 보낼 간단한 프롬프트를 나타냅니다.

JSON 표현
{
  "variants": [
    {
      object (Variant)
    }
  ]
}
필드
variants[]

object (Variant)

가능한 변형 목록입니다.

변형

간단한 프롬프트의 일부인 변형을 나타냅니다.

JSON 표현
{
  "speech": string,
  "text": string
}
필드
speech

string

선택사항입니다. 사용자에게 말할 음성을 나타냅니다. SSML 또는 TTS(텍스트 음성 변환)일 수 있습니다. 기본적으로 음성은 이전 단순 프롬프트의 음성에 추가됩니다. 포함하는 프롬프트의 override 필드가 true인 경우 이 필드에 정의된 음성이 이전 단순 프롬프트의 음성보다 우선합니다.

text

string

선택사항입니다. 채팅 풍선에 표시할 텍스트입니다. 지정하지 않으면 위 음성 필드의 디스플레이 렌더링이 사용됩니다. 영문 기준 640자로 제한됩니다. 기본적으로 텍스트는 이전 단순 프롬프트의 텍스트에 추가됩니다. 포함하는 프롬프트의 override 필드가 true인 경우 이 필드에 정의된 텍스트가 이전 단순 프롬프트의 텍스트보다 우선합니다.

StaticContentPrompt

StaticPrompt의 콘텐츠 부분 자리표시자입니다.

JSON 표현
{

  // Union field content can be only one of the following:
  "card": {
    object (StaticCardPrompt)
  },
  "image": {
    object (StaticImagePrompt)
  },
  "table": {
    object (StaticTablePrompt)
  },
  "media": {
    object (StaticMediaPrompt)
  },
  "list": {
    object (StaticListPrompt)
  },
  "collection": {
    object (StaticCollectionPrompt)
  },
  "collectionBrowse": {
    object (StaticCollectionBrowsePrompt)
  }
  // End of list of possible types for union field content.
}
필드
통합 필드 content. 프롬프트에는 한 가지 유형의 콘텐츠만 표시할 수 있습니다. content은 다음 중 하나여야 합니다.
card

object (StaticCardPrompt)

기본 카드입니다.

image

object (StaticImagePrompt)

이미지입니다.

table

object (StaticTablePrompt)

표 카드입니다.

media

object (StaticMediaPrompt)

재생할 미디어 세트를 나타내는 응답입니다.

list

object (StaticListPrompt)

선택할 옵션 목록을 표시하는 카드입니다.

collection

object (StaticCollectionPrompt)

선택할 수 있는 옵션 목록이 표시된 카드입니다.

collectionBrowse

object (StaticCollectionBrowsePrompt)

열려는 웹페이지 모음을 표시하는 카드입니다.

StaticCardPrompt

일부 정보를 표시하기 위한 기본 카드입니다. 예: 이미지 및/또는 텍스트입니다.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (StaticImagePrompt)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (StaticLinkPrompt)
  }
}
필드
title

string

선택사항입니다. 카드의 전체 제목입니다.

subtitle

string

선택사항입니다. 카드 부제목입니다.

text

string

필수 항목입니다. 이미지가 없는 경우 필요한 카드의 본문 텍스트입니다. 서식 지정을 위한 제한된 마크다운 구문 세트를 지원합니다.

image

object (StaticImagePrompt)

선택사항입니다. 카드의 히어로 이미지입니다. 높이는 192dp로 고정됩니다.

imageFill

enum (ImageFill)

선택사항입니다. 이미지 배경이 채워지는 방식입니다.

button

object (StaticLinkPrompt)

선택사항입니다. 카드에 표시할 클릭 가능한 버튼입니다.

StaticImagePrompt

카드에 표시되는 이미지입니다.

JSON 표현
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
필드
url

string

필수 항목입니다. 이미지의 소스 URL입니다. 이미지는 JPG, PNG, GIF (애니메이션 및 정지)를 사용할 수 있습니다. 예를 들면 https://www.agentx.com/logo.png입니다.

alt

string

필수 항목입니다. 접근성을 위해 사용되는 이미지의 텍스트 설명입니다. 예: 스크린 리더

height

integer

선택사항입니다. 이미지 높이(픽셀 단위)입니다.

width

integer

선택사항입니다. 이미지 너비(픽셀 단위)입니다.

ImageFill

이미지의 표시에 영향을 줄 수 있는 이미지 표시 옵션입니다. 이미지의 가로세로 비율이 이미지 컨테이너의 가로세로 비율과 일치하지 않는 경우에 사용해야 합니다.

열거형
UNSPECIFIED ImageFill이 지정되지 않았습니다.
GRAY 이미지와 이미지 컨테이너 사이의 간격을 회색 막대로 채웁니다.
WHITE 이미지와 이미지 컨테이너 사이의 간격을 흰색 막대로 채웁니다.
CROPPED 이미지의 너비와 높이가 컨테이너 크기와 일치하거나 이를 초과하도록 이미지가 조정됩니다. 이렇게 하면 조정된 이미지 높이가 컨테이너 높이보다 크면 이미지의 상단과 하단이 잘리고, 조정된 이미지의 너비가 컨테이너 너비보다 크면 이미지의 왼쪽과 오른쪽이 잘릴 수 있습니다. 이는 '확대/축소 모드'와 유사합니다. 4:3 동영상을 재생할 때 와이드스크린 TV에서 재생됩니다.

StaticLinkPrompt

추천 검색어 칩으로 표시되고 사용자가 열 수 있는 링크를 정의합니다.

JSON 표현
{
  "name": string,
  "open": {
    object (OpenUrl)
  }
}
필드
name

string

링크 이름

open

object (OpenUrl)

사용자가 링크를 열 때의 동작을 정의합니다.

OpenUrl

사용자가 링크를 열 때의 동작을 정의합니다.

JSON 표현
{
  "url": string,
  "hint": enum (UrlHint)
}
필드
url

string

URL 필드: 다음 중 하나가 될 수 있음: - 앱에 연결된 앱 또는 웹페이지를 열기 위한 http/https URL

hint

enum (UrlHint)

URL 유형에 대한 힌트를 나타냅니다.

UrlHint

다양한 유형의 URL 힌트

열거형
HINT_UNSPECIFIED 미지정
AMP AMP 콘텐츠로 직접 연결되는 URL 또는 <link rel="amphtml">를 통해 AMP 콘텐츠를 참조하는 표준 URL입니다.

StaticTablePrompt

텍스트 표를 표시하는 표 카드입니다.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "image": {
    object (StaticImagePrompt)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (StaticLinkPrompt)
  }
}
필드
title

string

선택사항입니다. 테이블의 전체 제목입니다. 부제목이 설정된 경우 설정해야 합니다.

subtitle

string

선택사항입니다. 표의 부제목입니다.

image

object (StaticImagePrompt)

선택사항입니다. 테이블과 연결된 이미지입니다.

columns[]

object (TableColumn)

선택사항입니다. 열 헤더 및 정렬

rows[]

object (TableRow)

선택사항입니다. 테이블의 행 데이터입니다. 처음 3개 행은 항상 표시되지만 특정 표면에서는 다른 행이 잘릴 수 있습니다. 시뮬레이터로 테스트하여 지정된 표면에 어떤 행이 표시될지 확인하세요. WEB_BROWSER 기능을 지원하는 노출 영역에서 더 많은 데이터가 포함된 웹페이지로 사용자를 안내할 수 있습니다.

button

object (StaticLinkPrompt)

선택사항입니다. 버튼

TableColumn

테이블의 열을 설명합니다.

JSON 표현
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
필드
header

string

열의 헤더 텍스트입니다.

align

enum (HorizontalAlignment)

콘텐츠 열의 가로 정렬 지정하지 않으면 콘텐츠가 맨 앞 가장자리에 정렬됩니다.

HorizontalAlignment

셀 내 콘텐츠의 정렬입니다.

열거형
UNSPECIFIED HorizontalAlignment가 지정되지 않았습니다.
LEADING 셀의 선행 가장자리입니다. 이는 기본값입니다.
CENTER 콘텐츠가 열 중앙에 정렬됩니다.
TRAILING 콘텐츠는 열의 후행 가장자리에 맞춰 정렬됩니다.

TableRow

테이블의 행을 설명합니다.

JSON 표현
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
필드
cells[]

object (TableCell)

이 행의 셀입니다. 처음 3개의 셀은 표시가 보장되지만 특정 표면에서 다른 셀이 잘릴 수 있습니다. 시뮬레이터로 테스트하여 지정된 표면에 어떤 셀을 표시할지 확인하세요.

divider

boolean

각 행 뒤에 구분선이 있어야 하는지 여부를 나타냅니다.

TableCell

행의 셀을 설명합니다.

JSON 표현
{
  "text": string
}
필드
text

string

셀의 텍스트 콘텐츠입니다.

StaticMediaPrompt

이름, 설명, URL 등과 같은 미디어 정보를 포함합니다. 다음 ID: 11

JSON 표현
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode)
}
필드
mediaType

enum (MediaType)

이 응답의 미디어 유형입니다.

startOffset

string (Duration format)

첫 번째 미디어 객체의 시작 오프셋입니다.

초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 's'로 끝납니다(예: "3.5s").

optionalMediaControls[]

enum (OptionalMediaControls)

이 미디어 응답 세션에서 지원할 수 있는 미디어 컨트롤 유형입니다(선택사항). 설정된 경우 특정 미디어 이벤트가 발생할 때 서드 파티로 요청이 이루어집니다. 설정하지 않으면 3p가 두 가지 기본 컨트롤 유형인 FINISHED와 FAILED를 처리해야 합니다.

mediaObjects[]

object (MediaObject)

미디어 객체 목록입니다.

repeatMode

enum (RepeatMode)

미디어 객체 목록의 반복 모드입니다.

MediaType

이 응답의 미디어 유형입니다.

열거형
MEDIA_TYPE_UNSPECIFIED 지정되지 않은 값
AUDIO 오디오 파일입니다.
MEDIA_STATUS_ACK 미디어 상태 보고서 확인에 대한 응답입니다.

OptionalMediaControls

미디어 응답이 선택적으로 지원할 수 있는 미디어 컨트롤 유형

열거형
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 지정되지 않은 값
PAUSED 이벤트가 일시중지되었습니다. 사용자가 미디어를 일시중지할 때 트리거됩니다.
STOPPED 일정을 중지했습니다. 사용자가 미디어 재생 중에 서드 파티 세션을 종료할 때 트리거됩니다.

MediaObject

단일 미디어 객체를 나타냅니다.

JSON 표현
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
필드
name

string

이 미디어 객체의 이름입니다.

description

string

이 미디어 객체에 대한 설명입니다.

url

string

미디어 콘텐츠를 가리키는 URL입니다.

image

object (MediaImage)

미디어 카드와 함께 표시할 이미지입니다.

MediaImage

MediaPrompt 내에 표시할 이미지입니다.

JSON 표현
{

  // Union field image can be only one of the following:
  "large": {
    object (StaticImagePrompt)
  },
  "icon": {
    object (StaticImagePrompt)
  }
  // End of list of possible types for union field image.
}
필드
통합 필드 image. 한 가지 유형의 MediaImage만 허용됩니다. image은 다음 중 하나여야 합니다.
large

object (StaticImagePrompt)

앨범 표지와 같은 큰 이미지

icon

object (StaticImagePrompt)

제목 오른쪽에 표시된 작은 이미지 아이콘 36x36dp로 크기가 조정됩니다.

RepeatMode

미디어 객체 목록의 반복 모드 유형입니다.

열거형
REPEAT_MODE_UNSPECIFIED OFF와 같습니다.
OFF 마지막 미디어 객체의 끝에서 미디어 세션을 종료합니다.
ALL 마지막 미디어 객체의 끝에 도달하면 첫 번째 미디어 객체의 시작으로 연속 재생합니다.

StaticListPrompt

선택할 옵션 목록을 표시하는 카드입니다.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
필드
title

string

선택사항입니다. 목록의 제목입니다.

subtitle

string

선택사항입니다. 목록의 부제목입니다.

items[]

object (ListItem)

필수 항목입니다. 목록 항목입니다.

ListItem

목록의 항목입니다.

JSON 표현
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
필드
key

string

필수 항목입니다. 연결된 유형의 항목 키 이름과 일치하는 NLU 키입니다. 항목을 탭하면 이 키가 선택 옵션 매개변수로 다시 게시됩니다.

title

string

필수 항목입니다. 상품의 제목입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 항목 세트 내에서 고유해야 합니다.

description

string

선택사항입니다. 항목의 본문 텍스트입니다.

image

object (StaticImagePrompt)

선택사항입니다. 항목 이미지입니다.

StaticCollectionPrompt

선택할 옵션 모음을 표시하는 카드입니다.

JSON 표현
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
필드
title

string

선택사항입니다. 컬렉션의 제목입니다.

subtitle

string

선택사항입니다. 컬렉션의 부제목입니다.

items[]

object (CollectionItem)

필수 항목입니다. 컬렉션 항목

imageFill

enum (ImageFill)

선택사항입니다. 이미지 표시 옵션의 유형입니다.

CollectionItem

컬렉션의 항목입니다.

JSON 표현
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
필드
key

string

필수 항목입니다. 연결된 Type의 항목 키 이름과 일치하는 NLU 키입니다. 항목을 탭하면 이 키가 선택 옵션 매개변수로 다시 게시됩니다.

title

string

필수 항목입니다. 상품의 제목입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 항목 세트 내에서 고유해야 합니다.

description

string

선택사항입니다. 항목의 본문 텍스트입니다.

image

object (StaticImagePrompt)

선택사항입니다. 항목 이미지입니다.

StaticCollectionBrowsePrompt

웹 문서 집합을 큰 타일 항목의 모음으로 표시합니다. 항목을 선택하여 웹 뷰어에서 연결된 웹 문서를 시작할 수 있습니다.

JSON 표현
{
  "items": [
    {
      object (CollectionBrowseItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
필드
items[]

object (CollectionBrowseItem)

탐색 컬렉션의 항목입니다. 목록 크기는 [2, 10] 범위 내에 있어야 합니다.

imageFill

enum (ImageFill)

컬렉션의 이미지에 대한 이미지 표시 옵션입니다.

CollectionBrowseItem

컬렉션의 항목입니다.

JSON 표현
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (StaticImagePrompt)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
필드
title

string

필수 항목입니다. 컬렉션 항목의 제목입니다.

description

string

컬렉션 항목에 대한 설명입니다.

footer

string

컬렉션 항목의 바닥글 텍스트로, 설명 아래에 표시됩니다. 생략 부호로 잘린 텍스트 한 줄

image

object (StaticImagePrompt)

컬렉션 항목의 이미지입니다.

openUriAction

object (OpenUrl)

필수 항목입니다. 항목이 선택된 경우 열리는 URI입니다.

추천

편의를 위해 사용자에게 표시되는 UI 요소인 추천 검색어 칩을 나타냅니다.

JSON 표현
{
  "title": string
}
필드
title

string

필수 항목입니다. 추천 검색어 칩에 표시되는 텍스트입니다. 이 텍스트를 탭하면 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 추천 검색어 칩 세트 내에서 고유해야 합니다. 최대 25자(영문 기준)

StaticCanvasPrompt

사용자에게 전송할 Interactive Canvas 응답을 나타냅니다. 이를 포함하는 프롬프트의 firstSimple 필드와 함께 사용하여 대화형 캔버스 응답을 표시하는 것 외에도 사용자에게 말할 수 있습니다.

JSON 표현
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "sendStateDataToCanvasApp": boolean,
  "enableFullScreen": boolean
}
필드
url

string

필수 항목입니다. 로드할 웹 뷰의 URL입니다.

data[]

value (Value format)

선택사항입니다. 몰입형 환경 웹페이지에 이벤트로 전달되는 JSON 데이터입니다. 포함된 프롬프트의 override 필드가 false이면 이 캔버스 프롬프트에 정의된 데이터 값은 이전 캔버스 프롬프트에 정의된 데이터 값 뒤에 추가됩니다.

suppressMic

boolean

선택사항입니다. true 값은 이 몰입형 응답이 사용자에게 표시된 후 입력 캡처를 위해 마이크가 열리지 않음을 의미합니다.

sendStateDataToCanvasApp

boolean

선택사항입니다. true인 경우 대화 관련 메타데이터가 포함되며 캔버스 애플리케이션으로 다시 전송됩니다.

enableFullScreen

boolean

선택사항입니다. true인 경우 캔버스 애플리케이션이 전체 화면을 차지하고 상단에 헤더가 없습니다. 또한 작업의 표시 이름, 개발자 이름, 작업 종료 안내가 포함된 토스트 메시지가 로드 화면에 표시됩니다. 기본값: false.

장면

장면은 대화를 설계할 때 제어 흐름의 기본 단위입니다. 다른 장면과 함께 연결하고, 최종 사용자를 위한 프롬프트를 생성하고, 슬롯을 정의할 수 있습니다. 장면 이름은 파일 이름에 지정됩니다.

JSON 표현
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
필드
onEnter

object (EventHandler)

이 장면으로 전환할 때 호출할 핸들러입니다.

intentEvents[]

object (IntentEvent)

인텐트를 기반으로 트리거되는 이벤트 목록입니다. 이러한 이벤트는 on_load 핸들러가 호출된 후 언제든지 트리거될 수 있습니다. 중요 - 이러한 이벤트는 이 장면으로 범위가 지정된 인텐트 집합을 정의하며 동일한 인텐트 또는 트리거 구문이 있는 전역적으로 정의된 이벤트보다 우선합니다. 인텐트 이름은 장면 내에서 고유해야 합니다.

conditionalEvents[]

object (ConditionalEvent)

조건문에 따라 트리거할 이벤트 목록입니다. 이는 양식이 채워진 후 또는 이 장면에 양식이 없는 경우 on_load 직후에 평가됩니다 (평가는 한 번만 실행됨). 첫 번째로 일치하는 이벤트만 트리거됩니다.

slots[]

object (Slot)

순서가 지정된 슬롯 목록입니다. 각 슬롯은 확인할 데이터 유형을 정의하고 이 해결 방법의 환경을 맞춤설정하기 위해 구성합니다 (예: 프롬프트).

onSlotUpdated

object (EventHandler)

다른 핸들러 내 업데이트로 인한 것이 아닌 슬롯 상태가 변경되면 호출되는 핸들러입니다. 이를 통해 슬롯이 무효화되거나 장면이 무효화되거나 장면 상태가 변경될 수 있습니다.

IntentEvent

인텐트 일치의 결과로 트리거되는 이벤트를 등록합니다.

JSON 표현
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
필드
intent

string

필수 항목입니다. 이벤트를 트리거하는 인텐트

transitionToScene

string

선택사항입니다. 대화가 이동해야 할 대상 장면입니다. 전환 시 현재 장면의 상태가 소멸됩니다.

handler

object (EventHandler)

선택사항입니다. 인텐트가 일치될 때 트리거되는 이벤트 핸들러입니다. 대상 장면으로 전환하기 전에 실행해야 합니다. 이벤트에 대한 응답으로 프롬프트를 생성하는 데 유용합니다.

ConditionalEvent

true 조건의 결과로 트리거되는 이벤트를 등록합니다.

JSON 표현
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
필드
condition

string

필수 항목입니다. 트리거할 이 이벤트의 필터 조건입니다. 조건이 true로 판정되면 연결된 handler가 트리거됩니다. 다음과 같은 변수 참조가 지원됩니다. $session - 세션 저장소에서 데이터를 참조합니다. $user - 사용자 저장소의 데이터를 참조합니다. 다음과 같은 부울 연산자가 지원됩니다 (예시 포함). && - session.params.counter > 0 && session.params.counter < 100 || - session.params.foo == "John" || session.params.counter == "Adam" ! - !(session.params.counter == 5) 다음과 같은 비교가 지원됩니다. ==, !=, <, >, <=, >= 다음과 같은 목록 및 문자열 연산자가 지원됩니다 (예 포함). in - "Watermelon" session.params.fruitList size~size(session.params.fruitList) > 2 substring~session.params.fullName.contains("John")

transitionToScene

string

선택사항입니다. 관련 조건이 true로 평가될 때 대화가 이동해야 하는 대상 장면입니다. 전환 시 현재 장면의 상태가 소멸됩니다.

handler

object (EventHandler)

선택사항입니다. 연결된 조건이 true로 평가될 때 트리거되는 이벤트 핸들러입니다. 대상 장면으로 전환하기 전에 실행해야 합니다. 이벤트에 대한 응답으로 프롬프트를 생성하는 데 유용합니다.

슬롯

슬롯 구성입니다. 슬롯은 자연어 (즉, 인텐트 매개변수), 세션 매개변수, 기타 소스를 통해 채울 수 있는 데이터의 단일 단위입니다.

JSON 표현
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
필드
name

string

필수 항목입니다. 슬롯의 이름입니다.

type

object (ClassReference)

필수 항목입니다. 이 슬롯의 데이터 유형을 선언합니다.

required

boolean

선택사항입니다. 진행하기 전에 슬롯을 채워야 하는지 여부를 나타냅니다. 채워지지 않은 필수 슬롯은 사용자에게 맞춤설정 가능한 메시지를 트리거합니다.

promptSettings

object (PromptSettings)

선택사항입니다. 다양한 슬롯 채우기 단계에 관한 프롬프트를 등록합니다.

commitBehavior

object (CommitBehavior)

선택사항입니다. 슬롯과 관련된 커밋 동작

config

value (Value format)

선택사항입니다. 슬롯을 채우는 데 사용되는 슬롯과 연결된 추가 구성입니다. 구성 형식은 슬롯 유형에 따라 다릅니다. 사용자 또는 세션 매개변수에 대한 리소스 참조를 이 구성에 추가할 수 있습니다. 이 구성은 트랜잭션 및 사용자 참여와 관련된 슬롯을 채우는 데 필요합니다.

예: actions.type.CompletePurchaseValue 유형의 슬롯의 경우 다음 구성은 클라이언트에서 정의한 세션 매개변수 userSelectedSkuId에 대한 참조로 디지털 상품 주문을 제안합니다.

{ &quot;@type&quot;: &quot;type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec&quot;, &quot;skuId&quot;: { &quot;skuType&quot;: &quot;SKU_TYPE_IN_APP&quot;, &quot;id&quot;: &quot;$session.params.userSelectedSkuId&quot;, &quot;packageName&quot;: &quot;com.example.company&quot; } }

defaultValue

object (DefaultValue)

선택사항입니다. 이 슬롯의 기본값을 채우기 위한 구성입니다.

PromptSettings

슬롯 프롬프트가 정의된 단일 위치입니다.

JSON 표현
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
필드
initialPrompt

object (EventHandler)

슬롯 값 자체를 묻는 메시지를 표시합니다. 예: "어떤 사이즈를 원하셨나요?"

noMatchPrompt1

object (EventHandler)

사용자의 입력이 슬롯의 예상 값 유형과 처음 일치하지 않는 경우 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.'

noMatchPrompt2

object (EventHandler)

사용자 입력이 두 번째로 슬롯에 예상되는 값 유형과 일치하지 않는 경우 제공하라는 프롬프트입니다. 예: '죄송합니다. 인식하지 못했습니다.'

noMatchFinalPrompt

object (EventHandler)

사용자의 입력이 마지막 슬롯의 예상 값 유형과 일치하지 않는 경우 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.'

noInputPrompt1

object (EventHandler)

사용자가 처음으로 입력을 제공하지 않을 때 제공하는 메시지 예: '죄송합니다. 인식하지 못했습니다.'

noInputPrompt2

object (EventHandler)

사용자가 두 번째로 입력을 제공하지 않을 때 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.'

noInputFinalPrompt

object (EventHandler)

사용자가 마지막으로 입력을 제공하지 않은 경우 제공하는 프롬프트입니다. 예: '죄송합니다. 인식하지 못했습니다.'

CommitBehavior

슬롯이 성공적으로 채워진 후 슬롯과 관련된 커밋 동작을 설명하는 메시지입니다.

JSON 표현
{
  "writeSessionParam": string
}
필드
writeSessionParam

string

슬롯 값이 채워진 후 값을 쓰는 세션 매개변수입니다. 중첩 경로는 현재 지원되지 않습니다. '$$' 슬롯 값을 슬롯과 이름이 같은 세션 매개변수에 쓰는 데 사용됩니다. 예: writeSessionParam = "fruit" '$session.params.fruit'에 해당합니다. writeSessionParam = "ticket" '$session.params.ticket'에 해당합니다.

DefaultValue

이 슬롯의 기본값을 채우기 위한 구성입니다.

JSON 표현
{
  "sessionParam": string,
  "constant": value
}
필드
sessionParam

string

선택사항입니다. 값이 비어 있지 않은 경우 슬롯 값을 초기화하는 데 사용할 세션 매개변수입니다. 값 유형은 슬롯 유형과 일치해야 합니다. 중첩 경로는 현재 지원되지 않습니다. 예를 들어 sessionParam = "fruit"$session.params.fruit에 해당합니다. sessionParam = "ticket"$session.params.ticket에 해당합니다.

constant

value (Value format)

선택사항입니다. 슬롯의 상수 기본값입니다. 이 슬롯의 값이 sessionParam를 통해 채워지지 않은 경우에만 사용됩니다. 이 값의 유형은 슬롯의 유형과 일치해야 합니다.

DataFiles

반복되는 데이터 파일의 래퍼입니다. 반복되는 필드는 한 곳에 존재할 수 없습니다.

JSON 표현
{
  "dataFiles": [
    {
      object (DataFile)
    }
  ]
}
필드
dataFiles[]

object (DataFile)

여러 데이터 파일입니다.

DataFile

구조화되지 않은 데이터가 포함된 단일 파일을 나타냅니다. 예시로는 이미지 파일, 오디오 파일, Cloud 함수 소스 코드가 있습니다.

JSON 표현
{
  "filePath": string,
  "contentType": string,
  "payload": string
}
필드
filePath

string

SDK 파일 구조의 프로젝트 루트에 있는 데이터 파일의 상대 경로입니다. 허용되는 파일 경로: - 이미지: resources/images/{multiple directories}?/{ImageName}.{extension} - 오디오: resources/audio/{multiple directories}?/{AudioFileName}.{extension} - 인라인 Cloud 함수 코드: webhooks/{WebhookName}.zip 허용되는 확장 프로그램: - 이미지: png, jpg, jpeg - 오디오: mp3, mpeg - 인라인 Cloud Functions: zip

contentType

string

필수 항목입니다. 이 저작물의 콘텐츠 유형입니다. 예: text/html 콘텐츠 유형은 사양 (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html)을 준수해야 합니다. Cloud Functions는 ZIP 형식이어야 하며 콘텐츠 유형은 application/zip;zip_type=cloud_function이어야 합니다. zip_type 매개변수는 zip이 Cloud 함수용임을 나타냅니다.

payload

string (bytes format)

데이터 파일의 콘텐츠입니다. 이미지의 원시 바이트, 오디오 파일, Cloud 함수 ZIP 형식을 예로 들 수 있습니다. 페이로드 크기는 10MB로 엄격하게 제한됩니다.

base64 인코딩 문자열입니다.