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

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

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인 경우 트랜잭션 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 Surface는 화면/시각적 출력을 지원합니다.
MEDIA_RESPONSE_AUDIO 노출 영역이 미디어 응답 오디오를 지원합니다.
WEB_BROWSER Surface는 웹브라우저를 지원합니다.
ACCOUNT_LINKING 노출 영역은 계정 연결을 지원합니다.
INTERACTIVE_CANVAS 노출 영역은 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

필수 항목입니다. 작은 정사각형 이미지(192x192px) 이는 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이 특정 노출 영역에 적합하지 않은 경우 대체 역할을 합니다. 사용 예: #FAFA

primaryColor

string

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

fontFamily

string

카드 제목에 사용될 글꼴 모음입니다. 지원되는 글꼴: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Cursive - Sans Serif Smallcaps

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에서 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인 경우 LinkingType이 GOOGLE_SIGN_IN일 수 없습니다. LinkingType은 true일 때 OAUTH가 될 수 없습니다.

linkingType

enum (LinkingType)

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

authGrantType

enum (AuthGrantType)

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

appClientId

string

선택사항입니다. 앱에서 Google에 발급한 클라이언트 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

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

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

string

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

HttpsEndpoint

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

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

string

처리 엔드포인트의 HTTPS 기본 URL입니다 (HTTP는 지원되지 않음). 핸들러 이름은 기본 URL 경로에서 콜론 다음에 추가됩니다 (https://cloud.google.com/apis/design/custom_methods)의 스타일 가이드 따름). 예를 들어 기본 URL 'https://gactions.service.com/api'는 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

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

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(텍스트 음성 변환)일 수 있습니다. 기본적으로 음성은 이전 Simple 프롬프트의 음성에 추가됩니다. 포함하는 프롬프트의 override 필드가 true인 경우 이 필드에 정의된 음성이 이전 단순 프롬프트의 음성을 재정의합니다.

text

string

선택사항입니다. 채팅 풍선에 표시할 텍스트입니다. 지정하지 않으면 위 음성 필드의 디스플레이 렌더링이 사용됩니다. 영문 기준 640자로 제한됩니다. 기본적으로 텍스트는 이전 Simple 프롬프트의 텍스트에 추가됩니다. 포함하는 프롬프트의 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)

콘텐츠 W.r.T 열의 가로 정렬 지정하지 않으면 콘텐츠가 선행 가장자리에 정렬됩니다.

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 키입니다. 항목을 탭하면 이 키가 select 옵션 매개변수로 다시 게시됩니다.

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 키입니다. 항목을 탭하면 이 키가 select 옵션 매개변수로 다시 게시됩니다.

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이면 이 Canvas 프롬프트에 정의된 데이터 값이 이전 Canvas 프롬프트에 정의된 데이터 값 뒤에 추가됩니다.

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 - session.params.fruitList의 "Watermelon", size - size(session.params.fruitList) > 2 - {16/16).substringsession.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)

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

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

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

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 함수는 ZIP 형식이어야 하며 콘텐츠 유형은 application/zip;zip_type=cloud_function여야 합니다. zip_type 매개변수는 zip이 Cloud 함수용임을 나타냅니다.

payload

string (bytes format)

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

base64 인코딩 문자열입니다.