- JSON 표현
- ConfigFiles
- ConfigFile
- 매니페스트
- 작업
- CustomAction
- 참여
- PushNotification
- DailyUpdate
- ActionLink
- AssistantLink
- 설정
- 카테고리
- SurfaceRequirements
- CapabilityRequirement
- SurfaceCapability
- LocalizedSettings
- ThemeCustomization
- ImageCornerStyle
- AccountLinking
- LinkingType
- AuthGrantType
- 웹훅
- 핸들러
- HttpsEndpoint
- InlineCloudFunction
- 인텐트
- IntentParameter
- ClassReference
- EntitySetReferences
- EntitySetReference
- 유형
- SynonymType
- MatchType
- 항목
- EntityDisplay
- RegularExpressionType
- 항목
- FreeTextType
- EntitySet
- 항목
- GlobalIntentEvent
- EventHandler
- StaticPrompt
- StaticPromptCandidate
- 선택기
- SurfaceCapabilities
- 기능
- StaticPromptResponse
- StaticSimplePrompt
- 옵션
- StaticContentPrompt
- StaticCardPrompt
- StaticImagePrompt
- ImageFill
- StaticLinkPrompt
- OpenUrl
- UrlHint
- StaticTablePrompt
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- StaticMediaPrompt
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- RepeatMode
- StaticListPrompt
- ListItem
- StaticCollectionPrompt
- CollectionItem
- StaticCollectionBrowsePrompt
- CollectionBrowseItem
- 추천
- StaticCanvasPrompt
- 장면
- IntentEvent
- ConditionalEvent
- 슬롯
- PromptSettings
- CommitBehavior
- DefaultValue
- DataFiles
- DataFile
파일 목록의 래퍼입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 file_type . 한 번에 한 가지 유형의 파일(구성 파일 또는 데이터 파일)만 서버에 전송할 수 있습니다. file_type 은 다음 중 하나여야 합니다. |
||
configFiles |
구성 파일 목록입니다. 여기에는 매니페스트, 설정, 상호작용 모델 리소스 번들 등이 포함됩니다. |
|
dataFiles |
데이터 파일 목록입니다. 여기에는 이미지, 오디오 파일, Cloud 함수 소스 코드가 포함됩니다. |
ConfigFiles
반복되는 구성 파일의 래퍼입니다. 반복되는 필드는 한 필드에 존재할 수 없습니다.
JSON 표현 | |
---|---|
{
"configFiles": [
{
object ( |
필드 | |
---|---|
configFiles[] |
여러 구성 파일. |
ConfigFile
구조화된 데이터가 포함된 단일 파일을 나타냅니다. 개발자는 작업, 설정, 처리 등 구조화된 구성을 사용하여 대부분의 프로젝트를 정의할 수 있습니다.
JSON 표현 | |
---|---|
{ "filePath": string, // Union field |
필드 | ||
---|---|---|
filePath |
SDK 파일 구조에 있는 프로젝트 루트의 구성 파일의 상대 경로입니다. 아래의 각 파일 형식에 허용되는 파일 경로가 있습니다. 예: settings/settings.yaml |
|
통합 필드 file . 구성 파일의 각 유형에는 하나에 해당 필드가 있어야 합니다. file 은 다음 중 하나여야 합니다. |
||
manifest |
단일 매니페스트 파일. 허용되는 파일 경로: |
|
actions |
모든 작업이 정의된 단일 작업 파일입니다. 허용되는 파일 경로: |
|
settings |
현지화할 수 없는 설정 및 프로젝트의 기본 언어 설정이 포함된 단일 설정 구성입니다 (지정된 경우). 언어 재정의 파일의 경우 localizedSettings 필드만 채워집니다. 허용되는 파일 경로: |
|
webhook |
단일 웹훅 정의 허용되는 파일 경로: |
|
intent |
단일 인텐트 정의 허용되는 파일 경로: |
|
type |
단일 유형 정의 허용되는 파일 경로: |
|
entitySet |
단일 항목 세트 정의 허용되는 파일 경로: |
|
globalIntentEvent |
단일 전역 인텐트 이벤트 정의 허용되는 파일 경로: |
|
scene |
단일 장면 정의 허용되는 파일 경로: |
|
staticPrompt |
단일 정적 프롬프트 정의 허용되는 파일 경로: |
|
accountLinkingSecret |
계정 연결에 사용된 클라이언트 보안 비밀번호에 해당하는 메타데이터입니다. 허용되는 파일 경로: |
|
resourceBundle |
문자열에서 문자열 또는 문자열 목록으로의 매핑인 단일 리소스 번들 리소스 번들은 정적 프롬프트의 문자열을 현지화하는 데 사용할 수 있습니다. 허용되는 파일 경로: |
매니페스트
'전송 가능', 즉 특정 프로젝트에 국한되지 않고 프로젝트 간에 이동할 수 있는 정보를 포함합니다.
JSON 표현 | |
---|---|
{ "version": string } |
필드 | |
---|---|
version |
파일 형식의 버전입니다. 현재 파일 형식 버전은 1.0입니다(예: '1.0'). |
작업
프로젝트에 정의된 작업 목록을 나타냅니다.
JSON 표현 | |
---|---|
{
"custom": {
string: {
object ( |
필드 | |
---|---|
custom |
인텐트에서 맞춤 작업으로 매핑하여 프로젝트의 호출을 구성합니다. 호출 인텐트는 'custom/intents/' 패키지에 정의된 시스템 인텐트 또는 맞춤 인텐트일 수 있습니다. 여기에 정의된 모든 인텐트 (시스템 인텐트 및 맞춤 인텐트)에는 'custom/global/' 패키지에 해당하는 인텐트 파일이 있어야 합니다.
|
CustomAction
맞춤 작업에 관한 세부정보입니다.
JSON 표현 | |
---|---|
{
"engagement": {
object ( |
필드 | |
---|---|
engagement |
최종 사용자가 푸시 알림 및 일일 업데이트를 구독하도록 돕는 작업과 관련된 참여 메커니즘입니다. 최종 사용자가 업데이트를 구독하려면 일일 업데이트/푸시 알림 슬롯 구성에 지정된 인텐트 이름이 이 작업에 해당하는 인텐트와 일치해야 합니다. |
참여
이 작업과 관련된 참여 메커니즘을 정의합니다. 이를 통해 최종 사용자는 푸시 알림 및 일일 업데이트를 구독할 수 있습니다.
JSON 표현 | |
---|---|
{ "title": string, "pushNotification": { object ( |
필드 | |
---|---|
title |
업데이트 수신 권한을 요청하는 최종 사용자에게 전송되는 참여의 제목입니다. 일일 업데이트에 대해 최종 사용자에게 전송되는 메시지는 '매일 {title}'을(를) 몇 시에 보내 드릴까요? 푸시 알림의 경우 '{title}에 대한 푸시 알림을 보내 드려도 괜찮을까요?'라는 메시지가 표시됩니다. 이 필드는 현지화 가능합니다. |
pushNotification |
이 참여에서 지원하는 푸시 알림 설정입니다. |
actionLink |
작업에 링크 공유가 사용 설정되었는지 결정하는 작업의 링크 구성으로, 사용 설정된 경우 링크의 사용자 친화적인 표시 이름을 포함합니다. ActionLink는 지원 중단되었습니다. 대신 AssistantLink를 사용하세요. |
assistantLink |
작업에 링크 공유가 사용 설정되었는지 결정하는 작업의 링크 구성으로, 사용 설정된 경우 링크의 사용자 친화적인 표시 이름을 포함합니다. |
dailyUpdate |
이 참여에서 지원하는 일일 업데이트 설정입니다. |
PushNotification
이 참여에서 지원하는 푸시 알림 설정을 정의합니다.
DailyUpdate
이 참여에서 지원하는 일일 업데이트 설정을 정의합니다.
ActionLink
이 작업 및 해당 설정에 링크 공유가 사용 설정되어 있는지 여부를 나타냅니다. 작업 링크는 사용자를 특정 작업에 딥 링크로 연결하는 데 사용됩니다. ActionLink는 지원 중단되었습니다. 대신 AssistantLink를 사용하세요.
JSON 표현 | |
---|---|
{ "title": string } |
필드 | |
---|---|
title |
링크의 사용자 친화적인 표시 제목입니다. |
AssistantLink
이 작업 및 해당 설정에 링크 공유가 사용 설정되어 있는지 여부를 나타냅니다. 어시스턴트 링크는 사용자를 특정 작업에 딥 링크로 연결하는 데 사용됩니다.
JSON 표현 | |
---|---|
{ "title": string } |
필드 | |
---|---|
title |
링크의 사용자 친화적인 표시 제목입니다. |
설정
언어가 지정되지 않은 작업 프로젝트의 설정을 나타냅니다. 다음 태그: 22
JSON 표현 | |
---|---|
{ "projectId": string, "defaultLocale": string, "enabledRegions": [ string ], "disabledRegions": [ string ], "category": enum ( |
필드 | |
---|---|
projectId |
작업 프로젝트 ID입니다. |
defaultLocale |
프로젝트의 기본값인 언어 경로에 언어가 없는 |
enabledRegions[] |
사용자의 위치를 기반으로 사용자가 작업을 호출할 수 있는 지역을 나타냅니다. |
disabledRegions[] |
사용자의 현재 위치에 따라 작업이 차단된 지역을 나타냅니다. |
category |
이 작업 프로젝트의 카테고리입니다. |
usesTransactionsApi |
작업에서 거래를 사용할 수 있는지 여부입니다 (예: 예약, 주문 접수 등). false인 경우 트랜잭션 API 사용 시도가 실패합니다. |
usesDigitalPurchaseApi |
작업이 디지털 상품 거래를 수행할 수 있는지 여부입니다. |
usesInteractiveCanvas |
작업에서 Interactive Canvas를 사용할지 여부입니다. |
usesHomeStorage |
작업에서 홈 스토리지 기능을 사용하는지 여부입니다. |
designedForFamily |
작업 콘텐츠가 가족용 (DFF)인지 여부입니다. |
containsAlcoholOrTobaccoContent |
작업에 주류 또는 담배 관련 콘텐츠가 포함되어 있는지 여부입니다. |
keepsMicOpen |
대화 중에 명시적인 메시지 없이도 작업을 마이크를 켜진 상태로 유지할 수 있는지 여부입니다. |
surfaceRequirements |
클라이언트 노출 영역에서 이 프로젝트의 작업을 호출하기 위해 지원해야 하는 노출 영역 요구사항입니다. |
testingInstructions |
작업 검토자를 위한 자유 형식 테스트 안내입니다 (예: 계정 연결 안내). |
localizedSettings |
프로젝트의 기본 언어에 대한 현지화된 설정입니다. 모든 추가 언어에는 자체 디렉터리에 자체 설정 파일이 있어야 합니다. |
accountLinking |
사용자가 Google 로그인 또는 자체 OAuth 서비스를 통해 계정을 만들거나 연결하도록 허용합니다. |
selectedAndroidApps[] |
거래를 위해 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 ( |
필드 | |
---|---|
minimumRequirements[] |
프로젝트에서 작업을 호출하는 데 필요한 최소한의 기능 집합입니다. 노출 영역에 이들 항목 중 하나라도 없으면 작업이 트리거되지 않습니다. |
CapabilityRequirement
지정된 기능의 가용성에 대한 요구사항을 나타냅니다.
JSON 표현 | |
---|---|
{
"capability": enum ( |
필드 | |
---|---|
capability |
기능의 유형입니다. |
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 ( |
필드 | |
---|---|
displayName |
필수 항목입니다. 이 작업 프로젝트의 기본 표시 이름 (사용 가능한 번역이 없는 경우) |
pronunciation |
필수 항목입니다. 음성 (음성) 컨텍스트 내에서 표시 이름의 발음입니다. |
shortDescription |
필수 항목입니다. 작업 프로젝트에 관한 간단한 기본 설명 (사용 가능한 번역이 없는 경우)입니다. 글자 수가 80자(영문 기준)로 제한됩니다. |
fullDescription |
필수 항목입니다. 작업 프로젝트의 기본 긴 설명 (사용 가능한 번역이 없는 경우)입니다. 글자 수가 4,000자(영문 기준)로 제한됩니다. |
smallLogoImage |
필수 항목입니다. 작은 정사각형 이미지(192x192px) 이는 |
largeBannerImage |
선택사항입니다. 큰 가로 모드 이미지(1920x1080px) 이는 |
developerName |
필수 항목입니다. 사용자에게 표시될 개발자 이름입니다. |
developerEmail |
필수 항목입니다. 개발자의 연락처 이메일 주소입니다. |
termsOfServiceUrl |
선택사항입니다. 서비스 약관 URL입니다. |
voice |
필수 항목입니다. 사용자가 작업과 상호작용할 때 들을 수 있는 Google 어시스턴트 음성 유형입니다. 지원되는 값은 'male_1', 'male_2', 'female_1', 'female_2'입니다. |
voiceLocale |
선택사항입니다. 지정된 음성의 언어입니다. 지정하지 않으면 사용자의 어시스턴트 언어로 확인됩니다. 지정된 경우 음성 언어는 LocalizedSettings에 지정된 언어와 동일한 루트 언어를 사용해야 합니다. |
privacyPolicyUrl |
필수 항목입니다. 개인정보처리방침 URL입니다. |
sampleInvocations[] |
선택사항입니다. 어시스턴트 디렉터리에 작업 프로젝트 설명의 일부로 표시되는 샘플 호출 문구입니다. 이를 통해 사용자가 사용 방법을 배울 수 있습니다. |
themeCustomization |
선택사항입니다. 작업의 시각적 구성요소 테마 맞춤설정입니다. |
ThemeCustomization
사용자에게 표시되는 카드에 적용되는 스타일
JSON 표현 | |
---|---|
{
"backgroundColor": string,
"primaryColor": string,
"fontFamily": string,
"imageCornerStyle": enum ( |
필드 | |
---|---|
backgroundColor |
카드의 배경 색상입니다. 개발자가 |
primaryColor |
작업의 기본 테마 색상은 Actions on Google 카드의 제목 텍스트 색상, 작업 항목 배경 색상을 설정하는 데 사용됩니다. 사용 예: #FAFA |
fontFamily |
카드 제목에 사용될 글꼴 모음입니다. 지원되는 글꼴: - 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 |
카드의 전경 이미지의 테두리 스타일입니다. 예를 들어 기본 카드 또는 캐러셀 카드의 전경 이미지에 적용할 수 있습니다. |
landscapeBackgroundImage |
가로 모드 (최소 1920x1200픽셀) 이는 |
portraitBackgroundImage |
세로 모드 (최소 1200x1920픽셀) 이는 |
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 ( |
필드 | |
---|---|
enableAccountCreation |
필수 항목입니다. |
linkingType |
필수 항목입니다. 사용할 연결 유형입니다. 연결 유형에 관한 자세한 내용은 https://developers.google.com/assistant/identity를 참고하세요. |
authGrantType |
선택사항입니다. OAUTH LinkingType 인증 유형을 나타냅니다. |
appClientId |
선택사항입니다. 앱에서 Google에 발급한 클라이언트 ID입니다. 이는 서비스에서 Google을 식별하는 OAuth2 클라이언트 ID입니다. OAuth를 사용할 때만 설정됩니다. |
authorizationUrl |
선택사항입니다. OAuth2 코드 또는 암시적 흐름을 지원하는 로그인 웹페이지의 엔드포인트입니다. URL은 HTTPS를 사용해야 합니다. OAuth를 사용할 때만 설정됩니다. |
tokenUrl |
선택사항입니다. 토큰 교환을 위한 OAuth2 엔드포인트 URL은 HTTPS를 사용해야 합니다. 연결 유형으로 IMPLICIT 권한 부여 시 OAuth만 사용하는 경우에는 설정되지 않습니다. OAuth를 사용할 때만 설정됩니다. |
scopes[] |
선택사항입니다. 서비스를 사용하기 위해 사용자가 동의해야 하는 권한 목록입니다. OAuth를 사용할 때만 설정됩니다. 이 입력란을 지정하는 경우 LocalizedSettings.terms_of_service_url 섹션의 디렉터리 정보에 서비스 약관을 제공해야 합니다. |
learnMoreUrl |
선택사항입니다. 사용자가 Google에 부여하는 권한을 설명하는 서비스 웹페이지입니다. OAuth 및 Google 로그인을 사용하는 경우에만 설정됩니다. 이 입력란을 지정하는 경우 LocalizedSettings.terms_of_service_url 섹션의 디렉터리 정보에 서비스 약관을 제공해야 합니다. |
useBasicAuthHeader |
선택사항입니다. 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 ( |
필드 | ||
---|---|---|
handlers[] |
이 웹훅의 핸들러 목록입니다. |
|
통합 필드 webhook_type . 웹훅 유형은 하나만 지원됩니다. webhook_type 은 다음 중 하나여야 합니다. |
||
httpsEndpoint |
커스텀 웹훅 HTTPS 엔드포인트입니다. |
|
inlineCloudFunction |
웹훅 폴더의 코드에서 배포된 Cloud 함수의 메타데이터입니다. |
Handler
웹훅 핸들러의 이름을 선언합니다. 웹훅에는 여러 핸들러가 등록되어 있을 수 있습니다. 이러한 핸들러는 작업 프로젝트의 여러 위치에서 호출할 수 있습니다.
JSON 표현 | |
---|---|
{ "name": string } |
필드 | |
---|---|
name |
필수 항목입니다. 핸들러의 이름입니다. 작업 프로젝트의 모든 핸들러에서 고유해야 합니다. 이 핸들러의 이름을 확인하여 처리 소스 코드에서 올바른 함수를 호출할 수 있습니다. |
HttpsEndpoint
인라인 편집기를 사용하지 않는 경우 알릴 REST 엔드포인트.
JSON 표현 | |
---|---|
{ "baseUrl": string, "httpHeaders": { string: string, ... }, "endpointApiVersion": integer } |
필드 | |
---|---|
baseUrl |
처리 엔드포인트의 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 |
POST 요청에 포함될 HTTP 매개변수의 맵입니다.
|
endpointApiVersion |
엔드포인트에서 사용하는 프로토콜의 버전입니다. 이 프로토콜은 모든 처리 유형에서 공유되는 프로토콜이며 Google 처리 유형과 관련이 없습니다. |
InlineCloudFunction
웹훅 폴더에서 배포된 인라인 Cloud 함수의 메타데이터를 보유합니다.
JSON 표현 | |
---|---|
{ "executeFunction": string } |
필드 | |
---|---|
executeFunction |
Cloud 함수 진입점의 이름입니다. 이 필드의 값은 소스 코드에서 내보낸 메서드의 이름과 일치해야 합니다. |
인텐트
인텐트는 서술형 사용자 입력을 구조화된 객체에 매핑합니다. 음성 문구는 Google의 자연어 이해 (NLU)를 통해 인텐트와 일치합니다. 인텐트 일치는 대화 설계에서 이벤트를 트리거하여 사용자의 대화를 진행할 수 있습니다. 인텐트 이름은 파일 이름에 지정됩니다.
JSON 표현 | |
---|---|
{
"parameters": [
{
object ( |
필드 | |
---|---|
parameters[] |
학습 문구 내의 매개변수 목록입니다. 학습 문구에 사용하려면 모든 매개변수를 여기에서 정의해야 합니다. |
trainingPhrases[] |
학습 문구를 사용하면 Google의 NLU가 인텐트를 사용자 입력과 자동으로 일치시킬 수 있습니다. 고유한 문구가 많을수록 이 인텐트가 일치할 가능성이 커집니다. 다음은 주석 처리된 학습 문구 부분의 형식입니다. |
IntentParameter
학습 문구 내에서 사용할 수 있는 매개변수의 정의입니다.
JSON 표현 | |
---|---|
{ "name": string, // Union field |
필드 | ||
---|---|---|
name |
필수 항목입니다. 인텐트 매개변수의 고유한 이름입니다. $intent.params.[name].resolved를 사용하여 NLU에서 추출한 인텐트 매개변수를 참조하기 위한 조건 및 응답에서 사용할 수 있습니다. |
|
통합 필드 parameter_type . 인텐트 매개변수의 유형. parameter_type 은 다음 중 하나여야 합니다. |
||
type |
선택사항입니다. 이 매개변수의 데이터 유형을 선언합니다. 내장 인텐트에는 이 값을 설정하면 안 됩니다. |
|
entitySetReferences |
선택사항입니다. 이 인텐트 매개변수에 허용되는 항목 집합에 대한 참조입니다. 내장 인텐트의 매개변수에만 유효합니다. 이러한 참조는 'custom/entitySets' 디렉터리에 있는 항목 세트를 가리킵니다. |
ClassReference
필드 또는 반환 값의 유형을 선언하는 데 사용되는 클래스에 대한 참조입니다. enum은 ClassReference를 사용하여 참조할 수 있는 클래스 유형이기도 합니다.
JSON 표현 | |
---|---|
{ "name": string, "list": boolean } |
필드 | |
---|---|
name |
필수 항목입니다. 매개변수의 기본 제공 유형 또는 커스텀 유형의 이름입니다. 예: |
list |
선택사항입니다. 데이터 유형이 값 목록을 나타내는지 여부를 나타냅니다. |
EntitySetReferences
인텐트 매개변수의 항목 세트 참조
JSON 표현 | |
---|---|
{
"entitySetReferences": [
{
object ( |
필드 | |
---|---|
entitySetReferences[] |
필수 항목입니다. 인텐트 매개변수의 항목 세트 참조 |
EntitySetReference
이 인텐트 매개변수에 허용되는 항목 집합에 대한 참조입니다.
JSON 표현 | |
---|---|
{ "entitySet": string } |
필드 | |
---|---|
entitySet |
필수 항목입니다. 지정된 매개변수에 대해 고려할 특정 항목 컬렉션을 식별합니다. 해당하는 항목 세트 정의가 custom/entitySets/ 디렉터리에 있어야 합니다. |
유형
기본 제공 유형이 아닌 맞춤 유형 선언 유형은 장면의 슬롯이나 인텐트의 학습 문구 매개변수에 할당할 수 있습니다. 실제로 유형은 enum으로 생각할 수 있습니다. 유형 이름은 파일 이름에 지정됩니다.
JSON 표현 | |
---|---|
{ "exclusions": [ string ], // Union field |
필드 | ||
---|---|---|
exclusions[] |
유형별로 일치해서는 안 되는 예외적인 단어/문구 모음 참고: 단어/구문이 유형과 일치하지만 제외로 나열된 경우 매개변수 추출 결과에 반환되지 않습니다. 이 필드는 현지화 가능합니다. |
|
통합 필드 sub_type . 수행할 일치 유형에 따른 하위 유형 선택 sub_type 은 다음 중 하나여야 합니다. |
||
synonym |
기본적으로 enum인 동의어 유형입니다. |
|
regularExpression |
정규 표현식 유형. 정규 표현식 일치를 허용합니다. |
|
freeText |
FreeText 유형입니다. |
SynonymType
동의어 집합을 기준으로 텍스트와 일치하는 텍스트를 입력합니다.
JSON 표현 | |
---|---|
{ "matchType": enum ( |
필드 | |
---|---|
matchType |
선택사항입니다. 동의어에 대한 검색 유형입니다. |
acceptUnknownValues |
선택사항입니다. true로 설정하면 주변 입력 및 인텐트 학습 데이터(예: 식료품 목록에 추가될 수 있는 항목)를 기반으로 알 수 없는 단어나 구문을 매칭합니다. |
entities |
필수 항목입니다. 동의어 항목의 이름이 지정된 맵입니다.
|
MatchType
이 유형의 항목에서 사용할 일치 유형입니다. 이렇게 하면 모든 유형이 동일한 일치 방법을 사용하고 동의어 일치 (예: 퍼지 일치 또는 일치)를 다르게 적용할 수 있습니다. 값이 UNSPECIFIED
인 경우 기본값은 EXACT_MATCH
입니다.
열거형 | |
---|---|
UNSPECIFIED |
기본값은 EXACT_MATCH 입니다. |
EXACT_MATCH |
동의어 또는 이름과 정확히 일치하는 항목을 찾습니다. |
FUZZY_MATCH |
EXACT_MATCH 보다 느립니다. 완전히 일치하는 항목뿐만 아니라 유사한 일치 항목을 찾습니다. |
항목
유형 내에 단일 항목의 세부정보를 포함하는 동의어 항목 필드를 나타냅니다.
JSON 표현 | |
---|---|
{
"display": {
object ( |
필드 | |
---|---|
display |
선택사항입니다. 항목 표시 세부정보입니다. |
synonyms[] |
선택사항입니다. 항목의 동의어 목록입니다. 이 필드는 현지화 가능합니다. |
EntityDisplay
쿼리에서 특정 유형의 항목이 추출되었을 때 캔버스에 표시되는 요소입니다. 캔버스 지원 앱에만 해당됩니다. 이 메시지는 현지화할 수 있습니다.
JSON 표현 | |
---|---|
{ "iconTitle": string, "iconUrl": string } |
필드 | |
---|---|
iconTitle |
선택사항입니다. 아이콘의 제목입니다. |
iconUrl |
필수 항목입니다. 아이콘의 URL입니다. |
RegularExpressionType
정규 표현식으로 텍스트와 일치하는 항목을 입력합니다. 이 메시지는 현지화할 수 있습니다.
JSON 표현 | |
---|---|
{
"entities": {
string: {
object ( |
필드 | |
---|---|
entities |
필수 항목입니다. 각각 정규식 문자열이 포함된 항목의 이름이 지정된 맵입니다.
|
항목
비교에 사용되는 정규 표현식을 포함하는 항목 객체를 나타냅니다.
JSON 표현 | |
---|---|
{
"display": {
object ( |
필드 | |
---|---|
display |
선택사항입니다. 쿼리에서 항목이 추출된 후 캔버스에 표시되는 요소입니다. 캔버스 지원 앱에만 해당됩니다. |
regularExpressions[] |
필수 항목입니다. RE2 정규식 문법 사용 (자세한 내용은 https://github.com/google/re2/wiki/Syntax 참고) |
FreeTextType
주변 단어의 컨텍스트가 제공된 학습 예시에 가까우면 텍스트와 일치하는 유형을 입력합니다.
JSON 표현 | |
---|---|
{
"display": {
object ( |
필드 | |
---|---|
display |
선택사항입니다. 쿼리에서 항목이 추출된 후 캔버스에 표시되는 요소입니다. 캔버스 지원 앱에만 해당됩니다. |
EntitySet
항목 세트는 내장 인텐트 매개변수의 값을 가져올 수 있는 사전 정의된 항목 집합을 설명합니다. 항목 세트는 내장 인텐트 매개변수의 entitySet에서 참조될 수 있습니다.
JSON 표현 | |
---|---|
{
"entities": [
{
object ( |
필드 | |
---|---|
entities[] |
필수 항목입니다. 이 항목 세트가 지원하는 항목 목록입니다. |
항목
내장 인텐트 매개변수 값을 가져올 수 있는 항목입니다.
JSON 표현 | |
---|---|
{ "id": string } |
필드 | |
---|---|
id |
필수 항목입니다. 항목의 ID입니다. 내장 인텐트 매개변수 및 지원되는 항목의 목록은 https://developers.google.com/assistant/conversational/build/built-in-intents를 참고하세요. |
GlobalIntentEvent
전역 인텐트 핸들러를 정의합니다. 전역 인텐트 이벤트의 범위는 전체 작업 프로젝트로 지정되며 장면에서 인텐트 핸들러에 의해 재정의될 수 있습니다. 인텐트 이름은 작업 프로젝트 내에서 고유해야 합니다.
전역 인텐트는 세션 중에 언제든지 매칭될 수 있으므로 사용자가 '도움 받기' 또는 '홈으로 돌아가기'와 같은 일반적인 흐름에 액세스할 수 있습니다. 또한 사용자가 작업을 호출할 때 사용자를 특정 흐름으로 딥 링크로 연결할 수도 있습니다.
인텐트 이름은 파일 이름에 지정됩니다.
JSON 표현 | |
---|---|
{
"transitionToScene": string,
"handler": {
object ( |
필드 | |
---|---|
transitionToScene |
선택사항입니다. 대화가 이동해야 하는 대상 장면입니다. 현재 장면의 상태는 전환 시 소멸됩니다. |
handler |
선택사항입니다. 인텐트가 일치할 때 트리거되는 이벤트 핸들러입니다. 대상 장면으로 전환하기 전에 실행해야 합니다. 이벤트에 대한 응답으로 프롬프트를 생성하는 데 유용합니다. |
EventHandler
이벤트 후에 실행될 핸들러를 정의합니다. 이벤트의 예로는 장면의 인텐트 및 조건 기반 이벤트가 있습니다.
JSON 표현 | |
---|---|
{ "webhookHandler": string, // Union field |
필드 | ||
---|---|---|
webhookHandler |
호출할 웹훅 핸들러의 이름입니다. |
|
통합 필드 prompt . 프롬프트는 인라인 처리하거나 이름으로 참조할 수 있습니다. prompt 은 다음 중 하나여야 합니다. |
||
staticPrompt |
인라인 정적 프롬프트 번들의 문자열 리소스에 대한 참조를 포함할 수 있습니다. |
|
staticPromptName |
호출할 정적 프롬프트의 이름입니다. |
StaticPrompt
프롬프트 후보 목록을 나타내며, 그중 하나는 사용자에 대한 응답에 표시될 프롬프트로 선택됩니다. 이 메시지는 현지화할 수 있습니다.
JSON 표현 | |
---|---|
{
"candidates": [
{
object ( |
필드 | |
---|---|
candidates[] |
고객에게 전송할 후보 메시지 목록입니다. 각 프롬프트에는 언제 사용할 수 있는지 결정하는 선택기가 있습니다. 요청과 일치하는 첫 번째 선택기가 전송되고 나머지는 무시됩니다. |
StaticPromptCandidate
정적 프롬프트 후보를 나타냅니다.
JSON 표현 | |
---|---|
{ "selector": { object ( |
필드 | |
---|---|
selector |
선택사항입니다. 이 메시지가 요청과 일치하는지에 대한 기준입니다. 선택기가 비어 있으면 이 메시지가 항상 트리거됩니다. |
promptResponse |
선택기와 연결된 프롬프트 응답입니다. |
선택기
프롬프트가 요청과 일치하는지에 관한 기준을 정의합니다.
JSON 표현 | |
---|---|
{
"surfaceCapabilities": {
object ( |
필드 | |
---|---|
surfaceCapabilities |
필수 노출 영역 기능 집합입니다. |
SurfaceCapabilities
사용자가 작업에 요청하는 데 사용하는 영역을 나타냅니다.
JSON 표현 | |
---|---|
{
"capabilities": [
enum ( |
필드 | |
---|---|
capabilities[] |
필수 항목입니다. 작업에 요청하는 노출 영역의 기능입니다. |
기능
요청 시 기기 노출 영역에서 지원하는 기능입니다.
열거형 | |
---|---|
UNSPECIFIED |
노출 영역 기능이 지정되지 않았습니다. |
SPEECH |
기기가 텍스트 음성 변환 또는 SSML을 통해 사용자와 대화할 수 있습니다. |
RICH_RESPONSE |
기기에서 카드, 목록, 표 등 풍부한 응답을 표시할 수 있습니다. |
LONG_FORM_AUDIO |
기기에서 음악 및 팟캐스트와 같은 긴 형식의 오디오 미디어를 재생할 수 있습니다. |
INTERACTIVE_CANVAS |
기기에서 대화형 캔버스 응답을 표시할 수 있습니다. |
WEB_LINK |
기기에서 리치 응답으로 웹 링크를 사용하여 웹브라우저를 열 수 있습니다. |
HOME_STORAGE |
기기가 홈 저장용량 저장 및 가져오기를 지원할 수 있습니다. |
StaticPromptResponse
텍스트, 음성, 카드, 캔버스 데이터, 추천 쿼리 칩과 같이 사용자에게 보낼 구조화된 응답을 나타냅니다.
JSON 표현 | |
---|---|
{ "firstSimple": { object ( |
필드 | |
---|---|
firstSimple |
선택사항입니다. 첫 번째 음성 및 텍스트 응답입니다. |
content |
선택사항입니다. 사용자에게 표시할 카드, 목록, 미디어 등의 콘텐츠입니다. |
lastSimple |
선택사항입니다. 음성 및 텍스트 전용 마지막 응답입니다. |
suggestions[] |
선택사항입니다. 사용자에게 표시할 추천이며 항상 응답의 끝부분에 표시됩니다. 포함하는 프롬프트의 |
link |
선택사항입니다. 연결된 앱 또는 사이트로 연결할 수 있는 추가 추천 칩 칩이 '열기 |
override |
선택사항입니다. 이 메시지를 이전에 정의한 메시지와 병합하는 방법에 대한 모드입니다. |
canvas |
대화형 캔버스 환경에 사용할 응답입니다. |
StaticSimplePrompt
사용자에게 전송할 간단한 메시지를 나타냅니다.
JSON 표현 | |
---|---|
{
"variants": [
{
object ( |
필드 | |
---|---|
variants[] |
가능한 변형 목록입니다. |
대안
간단한 프롬프트의 일부인 변형을 나타냅니다.
JSON 표현 | |
---|---|
{ "speech": string, "text": string } |
필드 | |
---|---|
speech |
선택사항입니다. 사용자에게 말할 음성을 나타냅니다. SSML 또는 TTS(텍스트 음성 변환)일 수 있습니다. 기본적으로 음성은 이전 Simple 프롬프트의 음성에 추가됩니다. 포함하는 프롬프트의 |
text |
선택사항입니다. 채팅 풍선에 표시할 텍스트입니다. 지정하지 않으면 위 음성 필드의 디스플레이 렌더링이 사용됩니다. 영문 기준 640자로 제한됩니다. 기본적으로 텍스트는 이전 Simple 프롬프트의 텍스트에 추가됩니다. 포함하는 프롬프트의 |
StaticContentPrompt
StaticPrompt의 콘텐츠 부분의 자리표시자입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 content . 프롬프트에는 한 가지 유형의 콘텐츠만 표시할 수 있습니다. content 은 다음 중 하나여야 합니다. |
||
card |
기본 카드입니다. |
|
image |
이미지입니다. |
|
table |
표 카드 |
|
media |
재생할 미디어 집합을 나타내는 응답입니다. |
|
list |
선택할 수 있는 옵션 목록을 표시하는 카드입니다. |
|
collection |
선택할 수 있는 옵션 목록을 표시하는 카드입니다. |
|
collectionBrowse |
열 웹페이지 컬렉션을 표시하는 카드입니다. |
StaticCardPrompt
이미지 또는 텍스트와 같은 일부 정보를 표시하기 위한 기본 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
필드 | |
---|---|
title |
선택사항입니다. 카드의 전체 제목입니다. |
subtitle |
선택사항입니다. 카드의 부제목입니다. |
text |
필수 항목입니다. 이미지가 없는 경우 필요한 카드의 본문 텍스트입니다. 형식 지정을 위해 제한된 마크다운 문법 세트를 지원합니다. |
image |
선택사항입니다. 카드의 히어로 이미지입니다. 높이는 192dp로 고정되어 있습니다. |
imageFill |
선택사항입니다. 이미지 배경이 채워지는 방식입니다. |
button |
선택사항입니다. 카드에 표시될 클릭 가능한 버튼입니다. |
StaticImagePrompt
카드에 표시되는 이미지입니다.
JSON 표현 | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
필드 | |
---|---|
url |
필수 항목입니다. 이미지의 소스 URL입니다. 이미지는 JPG, PNG, GIF (애니메이션 및 애니메이션 이외)일 수 있습니다. 예: |
alt |
필수 항목입니다. 접근성을 위해 사용되는 이미지의 텍스트 설명입니다(예: 스크린 리더). |
height |
선택사항입니다. 이미지 높이(픽셀 단위)입니다. |
width |
선택사항입니다. 이미지 너비(픽셀 단위)입니다. |
ImageFill
이미지 표시 방식에 영향을 주는 사용 가능한 이미지 표시 옵션입니다. 이미지의 가로세로 비율이 이미지 컨테이너의 가로세로 비율과 일치하지 않는 경우 사용해야 합니다.
열거형 | |
---|---|
UNSPECIFIED |
ImageFill 미지정. |
GRAY |
이미지와 이미지 컨테이너 사이의 간격을 회색 막대로 채웁니다. |
WHITE |
이미지와 이미지 컨테이너 사이의 간격을 흰색 막대로 채웁니다. |
CROPPED |
이미지의 너비와 높이가 컨테이너 크기를 초과하도록 크기가 조정됩니다. 이렇게 하면 조정된 이미지의 높이가 컨테이너 높이보다 크면 이미지의 상단과 하단이 잘릴 수 있으며, 조정된 이미지 너비가 컨테이너 너비보다 큰 경우 이미지의 왼쪽과 오른쪽이 잘릴 수 있습니다. 4:3 동영상을 재생할 때 와이드스크린 TV의 '확대/축소 모드'와 유사합니다. |
StaticLinkPrompt
추천 검색어 칩으로 표시되고 사용자가 열 수 있는 링크를 정의합니다.
JSON 표현 | |
---|---|
{
"name": string,
"open": {
object ( |
필드 | |
---|---|
name |
링크 이름 |
open |
사용자가 링크를 열 때의 동작을 정의합니다. |
OpenUrl
사용자가 링크를 열 때의 동작을 정의합니다.
JSON 표현 | |
---|---|
{
"url": string,
"hint": enum ( |
필드 | |
---|---|
url |
URL 필드: - 앱에 연결된 애플리케이션 또는 웹페이지를 여는 데 사용되는 http/https URL |
hint |
URL 유형에 대한 힌트를 나타냅니다. |
UrlHint
다양한 유형의 URL 힌트
열거형 | |
---|---|
HINT_UNSPECIFIED |
미지정 |
AMP |
AMP 콘텐츠로 직접 연결되는 URL 또는 <link rel="amphtml"> 를 통해 AMP 콘텐츠를 참조하는 표준 URL로 연결됩니다. |
StaticTablePrompt
텍스트 표를 표시하는 표 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
필드 | |
---|---|
title |
선택사항입니다. 표의 전체 제목입니다. 자막이 설정된 경우 설정해야 합니다. |
subtitle |
선택사항입니다. 테이블의 부제목입니다. |
image |
선택사항입니다. 테이블과 연결된 이미지입니다. |
columns[] |
선택사항입니다. 헤더 및 열 정렬 |
rows[] |
선택사항입니다. 테이블의 행 데이터입니다. 처음 3개 행은 항상 표시되지만 다른 행은 특정 표면에서 잘릴 수 있습니다. 시뮬레이터로 테스트하여 특정 표면에 어떤 행이 표시되는지 확인하세요. |
button |
선택사항입니다. 버튼 |
TableColumn
테이블의 열을 설명합니다.
JSON 표현 | |
---|---|
{
"header": string,
"align": enum ( |
필드 | |
---|---|
header |
열의 헤더 텍스트입니다. |
align |
콘텐츠 W.r.T 열의 가로 정렬 지정하지 않으면 콘텐츠가 선행 가장자리에 정렬됩니다. |
HorizontalAlignment
셀 내 콘텐츠의 정렬입니다.
열거형 | |
---|---|
UNSPECIFIED |
HorizontalAlignment가 지정되지 않았습니다. |
LEADING |
셀의 앞 가장자리입니다. 이는 기본값입니다. |
CENTER |
콘텐츠가 열의 중앙에 정렬됩니다. |
TRAILING |
콘텐츠는 열의 후행 가장자리에 맞춰 정렬됩니다. |
TableRow
테이블의 행을 설명합니다.
JSON 표현 | |
---|---|
{
"cells": [
{
object ( |
필드 | |
---|---|
cells[] |
이 행의 셀입니다. 처음 3개의 셀은 항상 표시되지만 다른 셀은 특정 표면에서 잘릴 수도 있습니다. 시뮬레이터로 테스트하여 주어진 표면에 어떤 셀을 표시할지 확인하세요. |
divider |
각 행 뒤에 구분선이 있어야 하는지 여부를 나타냅니다. |
TableCell
행의 셀을 설명합니다.
JSON 표현 | |
---|---|
{ "text": string } |
필드 | |
---|---|
text |
셀의 텍스트 콘텐츠입니다. |
StaticMediaPrompt
이름, 설명, URL 등의 미디어 정보가 포함됩니다. 다음 ID: 11
JSON 표현 | |
---|---|
{ "mediaType": enum ( |
필드 | |
---|---|
mediaType |
이 응답의 미디어 유형입니다. |
startOffset |
첫 번째 미디어 객체의 시작 오프셋입니다. 초 단위 기간으로, 소수점 아래 9자리까지 지정 가능하며 ' |
optionalMediaControls[] |
이 미디어 응답 세션에서 지원할 수 있는 선택적 미디어 컨트롤 유형입니다. 설정하는 경우 특정 미디어 이벤트가 발생할 때 서드 파티에 요청이 전송됩니다. 설정하지 않아도 3p는 두 가지 기본 컨트롤 유형인 FINISHED 및 FAILED를 처리해야 합니다. |
mediaObjects[] |
미디어 객체 목록입니다. |
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 ( |
필드 | |
---|---|
name |
이 미디어 객체의 이름입니다. |
description |
이 미디어 객체의 설명입니다. |
url |
미디어 콘텐츠를 가리키는 URL입니다. |
image |
미디어 카드와 함께 표시할 이미지입니다. |
MediaImage
MediaPrompt 내에 표시될 이미지입니다.
JSON 표현 | |
---|---|
{ // Union field |
필드 | ||
---|---|---|
통합 필드 image . 한 가지 유형의 MediaImage만 허용됩니다. image 은 다음 중 하나여야 합니다. |
||
large |
앨범 표지 등과 같은 큰 이미지 |
|
icon |
제목의 오른쪽에 작은 이미지 아이콘이 표시됩니다. 36x36dp로 크기가 조절되었습니다. |
RepeatMode
미디어 객체 목록의 반복 모드 유형입니다.
열거형 | |
---|---|
REPEAT_MODE_UNSPECIFIED |
OFF와 같습니다. |
OFF |
마지막 미디어 객체가 끝날 때 미디어 세션을 종료합니다. |
ALL |
마지막 미디어 객체의 끝에 도달하면 첫 번째 미디어 객체의 시작 부분으로 반복합니다. |
StaticListPrompt
선택할 수 있는 옵션 목록을 표시하는 카드입니다.
JSON 표현 | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
필드 | |
---|---|
title |
선택사항입니다. 목록의 제목입니다. |
subtitle |
선택사항입니다. 목록의 부제목입니다. |
items[] |
필수 항목입니다. 목록 항목입니다. |
ListItem
목록의 항목입니다.
JSON 표현 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
필드 | |
---|---|
key |
필수 항목입니다. 연결된 유형의 엔트리 키 이름과 일치하는 NLU 키입니다. 항목을 탭하면 이 키가 select 옵션 매개변수로 다시 게시됩니다. |
title |
필수 항목입니다. 상품 제목입니다. 탭하면 이 텍스트가 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 항목 세트 내에서 고유해야 합니다. |
description |
선택사항입니다. 항목의 본문 텍스트입니다. |
image |
선택사항입니다. 항목 이미지입니다. |
StaticCollectionPrompt
선택할 수 있는 옵션 모음을 표시하는 카드입니다.
JSON 표현 | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
필드 | |
---|---|
title |
선택사항입니다. 컬렉션의 제목입니다. |
subtitle |
선택사항입니다. 컬렉션의 부제목입니다. |
items[] |
필수 항목입니다. 컬렉션 항목 |
imageFill |
선택사항입니다. 이미지 표시 옵션의 유형입니다. |
CollectionItem
컬렉션의 항목입니다.
JSON 표현 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
필드 | |
---|---|
key |
필수 항목입니다. 연결된 Type의 항목 키 이름과 일치하는 NLU 키입니다. 항목을 탭하면 이 키가 select 옵션 매개변수로 다시 게시됩니다. |
title |
필수 항목입니다. 상품 제목입니다. 탭하면 이 텍스트가 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 항목 세트 내에서 고유해야 합니다. |
description |
선택사항입니다. 항목의 본문 텍스트입니다. |
image |
선택사항입니다. 항목 이미지입니다. |
StaticCollectionBrowsePrompt
웹 문서 집합을 큰 타일 항목의 컬렉션으로 표시합니다. 항목을 선택하여 웹 뷰어에서 연결된 웹 문서를 실행할 수 있습니다.
JSON 표현 | |
---|---|
{ "items": [ { object ( |
필드 | |
---|---|
items[] |
탐색 컬렉션의 항목입니다. 목록 크기는 [2, 10] 범위 내에 있어야 합니다. |
imageFill |
컬렉션의 이미지에 대한 이미지 표시 옵션입니다. |
CollectionBrowseItem
컬렉션에 있는 항목입니다.
JSON 표현 | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
필드 | |
---|---|
title |
필수 항목입니다. 컬렉션 항목의 제목입니다. |
description |
컬렉션 항목의 설명입니다. |
footer |
설명 아래에 표시되는 컬렉션 항목의 바닥글 텍스트입니다. 한 줄의 텍스트이며 생략 부호로 잘립니다. |
image |
컬렉션 항목의 이미지입니다. |
openUriAction |
필수 항목입니다. 항목이 선택되었을 때 열리는 URI입니다. |
추천
편의를 위해 사용자에게 표시되는 UI 요소인 추천 검색어 칩을 나타냅니다.
JSON 표현 | |
---|---|
{ "title": string } |
필드 | |
---|---|
title |
필수 항목입니다. 추천 검색어 칩에 표시되는 텍스트입니다. 탭하면 이 텍스트가 사용자가 입력한 것처럼 대화에 그대로 다시 게시됩니다. 각 제목은 추천 칩 세트 내에서 고유해야 합니다. 최대 25자(영문 기준) |
StaticCanvasPrompt
사용자에게 전송할 Interactive Canvas 응답을 나타냅니다. 대화형 캔버스 응답을 표시하는 것 외에도 포함 프롬프트의 firstSimple
필드와 함께 사용하여 사용자와 대화할 수 있습니다.
JSON 표현 | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "sendStateDataToCanvasApp": boolean, "enableFullScreen": boolean } |
필드 | |
---|---|
url |
필수 항목입니다. 로드할 웹 뷰의 URL입니다. |
data[] |
선택사항입니다. 몰입형 환경 웹페이지에 이벤트로 전달되는 JSON 데이터입니다. 포함하는 프롬프트의 |
suppressMic |
선택사항입니다. true 값은 이 몰입형 응답이 사용자에게 표시된 후 입력을 캡처하기 위해 마이크가 열리지 않음을 의미합니다. |
sendStateDataToCanvasApp |
선택사항입니다. |
enableFullScreen |
선택사항입니다. |
장면
장면은 대화를 설계할 때 제어 흐름의 기본 단위입니다. 다른 장면과 함께 연결하고, 최종 사용자를 위한 메시지를 생성하고, 슬롯을 정의할 수 있습니다. 장면 이름은 파일 이름에 지정됩니다.
JSON 표현 | |
---|---|
{ "onEnter": { object ( |
필드 | |
---|---|
onEnter |
이 장면으로 전환할 때 호출할 핸들러입니다. |
intentEvents[] |
인텐트를 기반으로 트리거되는 이벤트 목록입니다. 이러한 이벤트는 on_load 핸들러가 호출된 후 언제든지 트리거될 수 있습니다. 중요: 이러한 이벤트는 이 장면으로 범위가 지정되는 인텐트 집합을 정의하며, 동일한 인텐트 또는 트리거 문구를 가진 전역적으로 정의된 이벤트보다 우선합니다. 인텐트 이름은 장면 내에서 고유해야 합니다. |
conditionalEvents[] |
조건문에 따라 트리거할 이벤트 목록입니다. 이는 양식이 채워진 후 또는 장면에 양식이 없는 경우 on_load 직후 평가됩니다 (평가는 한 번만 수행됨). 처음 일치하는 이벤트만 트리거됩니다. |
slots[] |
순서가 지정된 슬롯 목록입니다. 각 슬롯은 해결할 데이터의 유형과 이 해결의 환경을 맞춤설정하도록 구성 (예: 메시지)을 정의합니다. |
onSlotUpdated |
다른 핸들러 내의 업데이트로 인해 발생하지 않은 슬롯 상태가 변경될 때 호출되는 핸들러입니다. 이를 통해 슬롯이 무효화되거나 장면이 무효화되거나 장면 상태가 변경될 수 있습니다. |
IntentEvent
인텐트 일치의 결과로 트리거되는 이벤트를 등록합니다.
JSON 표현 | |
---|---|
{
"intent": string,
"transitionToScene": string,
"handler": {
object ( |
필드 | |
---|---|
intent |
필수 항목입니다. 이벤트를 트리거하는 인텐트 |
transitionToScene |
선택사항입니다. 대화가 이동해야 하는 대상 장면입니다. 현재 장면의 상태는 전환 시 소멸됩니다. |
handler |
선택사항입니다. 인텐트가 일치할 때 트리거되는 이벤트 핸들러입니다. 대상 장면으로 전환하기 전에 실행해야 합니다. 이벤트에 대한 응답으로 메시지를 생성하는 데 유용합니다. |
ConditionalEvent
true 조건의 결과로 트리거되는 이벤트를 등록합니다.
JSON 표현 | |
---|---|
{
"condition": string,
"transitionToScene": string,
"handler": {
object ( |
필드 | |
---|---|
condition |
필수 항목입니다. 이 이벤트를 트리거할 필터 조건입니다. 조건이 true로 평가되면 연결된 |
transitionToScene |
선택사항입니다. 관련 조건이 true로 평가될 때 대화에서 이동해야 하는 대상 장면입니다. 현재 장면의 상태는 전환 시 소멸됩니다. |
handler |
선택사항입니다. 연결된 조건이 |
슬롯
슬롯의 구성입니다. 슬롯은 자연어 (즉, 인텐트 매개변수), 세션 매개변수, 기타 소스를 통해 채울 수 있는 단일 데이터 단위입니다.
JSON 표현 | |
---|---|
{ "name": string, "type": { object ( |
필드 | |
---|---|
name |
필수 항목입니다. 슬롯의 이름입니다. |
type |
필수 항목입니다. 이 슬롯의 데이터 유형을 선언합니다. |
required |
선택사항입니다. 다음 진행 전에 슬롯을 채워야 하는지 여부를 나타냅니다. 채워지지 않은 필수 슬롯은 사용자에게 맞춤설정 가능한 메시지를 트리거합니다. |
promptSettings |
선택사항입니다. 다양한 슬롯 채우기 단계에 대한 프롬프트를 등록합니다. |
commitBehavior |
선택사항입니다. 슬롯과 관련된 커밋 동작입니다. |
config |
선택사항입니다. 슬롯을 채우는 데 사용되는 슬롯과 연결된 추가 구성입니다. config 형식은 슬롯 유형에 따라 다릅니다. 사용자 또는 세션 매개변수에 대한 리소스 참조를 이 구성에 추가할 수 있습니다. 이 구성은 트랜잭션 및 사용자 참여와 관련된 슬롯을 채우는 데 필요합니다. 예: actions.type.CompletePurchaseValue 유형 슬롯의 경우 다음 구성은 클라이언트가 정의한 세션 매개변수 { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
선택사항입니다. 이 슬롯의 기본값을 채우기 위한 구성입니다. |
PromptSettings
슬롯 프롬프트가 정의된 단일 위치입니다.
JSON 표현 | |
---|---|
{ "initialPrompt": { object ( |
필드 | |
---|---|
initialPrompt |
슬롯 값 자체에 대한 메시지를 표시합니다. 예: "어떤 사이즈를 원하시나요?" |
noMatchPrompt1 |
사용자의 입력이 처음에 슬롯의 예상 값 유형과 일치하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
noMatchPrompt2 |
사용자의 입력이 슬롯의 예상 값 유형과 두 번째로 일치하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
noMatchFinalPrompt |
사용자 입력이 마지막 슬롯의 예상 값 유형과 일치하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
noInputPrompt1 |
사용자가 처음으로 입력을 제공하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
noInputPrompt2 |
사용자가 두 번째로 입력을 제공하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
noInputFinalPrompt |
사용자가 마지막으로 입력을 제공하지 않을 때 메시지를 표시합니다. 예: "죄송합니다. 이해하지 못했습니다." |
CommitBehavior
슬롯이 성공적으로 채워진 후 슬롯과 관련된 커밋 동작을 설명하는 메시지입니다.
JSON 표현 | |
---|---|
{ "writeSessionParam": string } |
필드 | |
---|---|
writeSessionParam |
슬롯 값이 채워진 후 작성할 세션 매개변수입니다. 현재 중첩 경로는 지원되지 않습니다. '$$'는 슬롯과 이름이 같은 세션 매개변수에 슬롯 값을 쓰는 데 사용됩니다. 예: writeSessionParam = "fruit"은 "$session.params.fruit"에 해당합니다. writeSessionParam = "ticket"은 "$session.params.ticket"에 해당합니다. |
DefaultValue
이 슬롯의 기본값을 채우기 위한 구성입니다.
JSON 표현 | |
---|---|
{ "sessionParam": string, "constant": value } |
필드 | |
---|---|
sessionParam |
선택사항입니다. 비어 있지 않은 값이 있는 경우 슬롯 값을 초기화하는 데 사용할 세션 매개변수입니다. 값의 유형은 슬롯의 유형과 일치해야 합니다. 현재 중첩 경로는 지원되지 않습니다. 예를 들어 |
constant |
선택사항입니다. 슬롯의 상수 기본값입니다. 이 슬롯의 값이 |
DataFiles
반복되는 데이터 파일의 래퍼입니다. 반복되는 필드는 한 필드에 존재할 수 없습니다.
JSON 표현 | |
---|---|
{
"dataFiles": [
{
object ( |
필드 | |
---|---|
dataFiles[] |
여러 데이터 파일. |
DataFile
구조화되지 않은 데이터가 포함된 단일 파일을 나타냅니다. 예시 파일, 오디오 파일, Cloud 함수 소스 코드가 있습니다.
JSON 표현 | |
---|---|
{ "filePath": string, "contentType": string, "payload": string } |
필드 | |
---|---|
filePath |
SDK 파일 구조에 있는 프로젝트 루트의 데이터 파일 상대 경로입니다. 허용되는 파일 경로: - 이미지: |
contentType |
필수 항목입니다. 이 저작물의 콘텐츠 유형입니다. 예: |
payload |
데이터 파일의 콘텐츠입니다. 예로는 이미지의 원시 바이트, 오디오 파일, Cloud 함수 ZIP 형식이 있습니다. 페이로드 크기에는 10MB의 엄격한 제한이 있습니다. base64 인코딩 문자열입니다. |