색인
Action
(메시지)Action.ActionParameter
(메시지)Action.Interaction
(열거형)Action.LoadIndicator
(열거형)BorderStyle
(메시지)BorderStyle.BorderType
(열거형)Button
(메시지)ButtonList
(메시지)Card
(메시지)Card.CardAction
(메시지)Card.CardFixedFooter
(메시지)Card.CardHeader
(메시지)Card.DisplayStyle
(열거형)Card.Section
(메시지)Columns
(메시지)Columns.Column
(메시지)Columns.Column.HorizontalSizeStyle
(열거형)Columns.Column.VerticalAlignment
(열거형)Columns.Column.Widgets
(메시지)DateTimePicker
(메시지)DateTimePicker.DateTimePickerType
(열거형)DecoratedText
(메시지)DecoratedText.SwitchControl
(메시지)DecoratedText.SwitchControl.ControlType
(열거형)Divider
(메시지)GetAutocompletionResponse
(메시지)Grid
(메시지)Grid.GridItem
(메시지)Grid.GridItem.GridItemLayout
(열거형)Icon
(메시지)Image
(메시지)ImageComponent
(메시지)ImageCropStyle
(메시지)ImageCropStyle.ImageCropType
(열거형)LinkPreview
(메시지)Navigation
(메시지)Notification
(메시지)OnClick
(메시지)OpenLink
(메시지)OpenLink.OnClose
(열거형)OpenLink.OpenAs
(열거형)RenderActions
(메시지)RenderActions.Action
(메시지)SelectionInput
(메시지)SelectionInput.SelectionItem
(메시지)SelectionInput.SelectionType
(열거형)SubmitFormResponse
(메시지)Suggestions
(메시지)Suggestions.SuggestionItem
(메시지)TextInput
(메시지)TextInput.Type
(열거형)TextParagraph
(메시지)Widget
(메시지)Widget.HorizontalAlignment
(열거형)Widget.ImageType
(열거형)
작업
양식 제출 시 동작을 설명하는 작업입니다. 예를 들어 Apps Script를 호출하여 양식을 처리할 수 있습니다. 작업이 트리거되면 양식 값이 서버로 전송됩니다.
필드 | |
---|---|
function |
포함하는 요소가 클릭되거나 부정확하게 활성화된 경우 호출할 맞춤 함수입니다. 사용 예는 양방향 카드 만들기를 참고하세요. |
parameters[] |
작업 매개변수 목록입니다. |
loadIndicator |
작업을 호출하는 동안 작업이 표시하는 로드 표시기를 지정합니다. |
persistValues |
작업 후 양식 값이 지속되는지 여부를 나타냅니다. 기본값은
|
interaction |
선택사항입니다. 대화상자를 열 때 필요합니다. 사용자가 카드 메시지에서 버튼을 클릭하는 등 사용자와의 상호작용에 따른 조치입니다. 지정하지 않으면 앱은 평소와 같이 링크 열기나 함수 실행과 같은
이 플래그를 지정하면 로드 표시기가 표시되지 않습니다. Chat 앱에서는 지원되지만 Google Workspace 부가기능에서는 지원되지 않습니다. 부가기능에 지정된 경우 전체 카드가 제거되고 클라이언트에 아무것도 표시되지 않습니다. |
작업 매개변수
작업 메서드가 호출될 때 제공할 문자열 매개변수의 목록입니다. 예를 들어 다시 알림 버튼 세 개(지금 일시 중지, 하루 다시 알림, 다음 주 다시 알림)를 생각해 보세요. 작업 매개변수 = pause()를 사용하여 문자열 매개변수 목록에 다시 알림 유형 및 일시 중지 시간을 전달할 수 있습니다.
자세한 내용은 CommonEventObject를 참고하세요.
필드 | |
---|---|
key |
액션 스크립트의 매개변수 이름입니다. |
value |
매개변수 값입니다. |
상호작용
선택사항입니다. 대화상자를 열 때 필요합니다.
사용자가 카드 메시지에서 버튼을 클릭하는 등 사용자와의 상호작용에 따른 조치입니다.
지정하지 않으면 앱은 평소와 같이 링크 열기나 함수 실행과 같은 action
를 실행하여 응답합니다.
interaction
를 지정하면 앱이 특별한 대화형 방식으로 응답할 수 있습니다. 예를 들어 interaction
를 OPEN_DIALOG
로 설정하면 앱에서 대화상자를 열 수 있습니다.
이 플래그를 지정하면 로드 표시기가 표시되지 않습니다.
Chat 앱에서는 지원되지만 Google Workspace 부가기능에서는 지원되지 않습니다. 부가기능에 지정된 경우 전체 카드가 제거되고 클라이언트에 아무것도 표시되지 않습니다.
열거형 | |
---|---|
INTERACTION_UNSPECIFIED |
기본값 action 는 정상적으로 실행됩니다. |
OPEN_DIALOG |
채팅 앱이 사용자와 상호작용하는 데 사용하는 창 형식의 카드 기반 인터페이스인 대화상자를 엽니다. 카드 메시지의 버튼 클릭에 대한 응답으로 Chat 앱에서만 지원됩니다. Google Workspace 부가기능에서는 지원되지 않습니다. 부가기능에 지정된 경우 전체 카드가 제거되고 클라이언트에 아무것도 표시되지 않습니다. |
부하 표시기
작업을 호출하는 동안 작업이 표시하는 로드 표시기를 지정합니다.
열거형 | |
---|---|
SPINNER |
콘텐츠가 로드 중임을 나타내는 스피너를 표시합니다. |
NONE |
아무것도 표시되지 않습니다. |
테두리 스타일
테두리 유형 및 색상을 포함하여 카드 또는 위젯의 테두리 스타일 옵션입니다.
필드 | |
---|---|
type |
테두리 유형입니다. |
strokeColor |
유형이 |
cornerRadius |
테두리의 모서리 반경입니다. |
테두리 유형
위젯에 적용되는 테두리 유형을 나타냅니다.
열거형 | |
---|---|
BORDER_TYPE_UNSPECIFIED |
값이 지정되지 않았습니다. |
NO_BORDER |
기본값 테두리가 없어야 합니다. |
STROKE |
Outline |
버튼
사용자가 클릭할 수 있는 텍스트, 아이콘 또는 텍스트 + 아이콘 버튼
이미지를 클릭 가능한 버튼으로 만들려면 ImageComponent
이 아닌 Image
를 지정하고 onClick
작업을 설정합니다.
필드 | |
---|---|
text |
버튼 안에 표시되는 텍스트입니다. |
icon |
아이콘 이미지입니다. |
color |
설정된 경우 버튼이 단색으로 채워지고 배경 색상과 대비를 유지하기 위해 글꼴 색상이 변경됩니다. 예를 들어 파란색 배경을 설정하면 흰색 텍스트로 표시될 가능성이 높습니다. 설정하지 않은 경우 이미지 배경이 흰색이고 글꼴 색상이 파란색입니다. 빨간색, 녹색, 파란색의 경우 각 필드의 값은 0과 255 사이의 숫자를 255 (153/255)로 나누고 0과 1 (0.6) 사이의 값 중 하나로 표현할 수 있는 원하는 경우 알파를 설정합니다. 이 방정식을 사용하여 투명도 수준을 설정합니다.
알파의 경우 값 1은 단색에 해당하며 값 0은 완전 투명 색상에 해당합니다. 예를 들어 다음 색상은 반투명 빨간색을 나타냅니다.
|
onClick |
필수 항목입니다. 버튼을 클릭할 때 실행할 작업(예: 하이퍼링크 열기 또는 맞춤 함수 실행) |
disabled |
|
altText |
접근성에 사용되는 대체 텍스트입니다. 사용자가 버튼의 기능을 알 수 있도록 설명 텍스트를 설정합니다. 예를 들어 버튼을 누르면 하이퍼링크가 열리는 경우 '새 브라우저 탭을 열고 https://developers.google.com/chat'으로 이동하여 Google Chat 개발자 문서로 이동할 수 있습니다. |
버튼 목록
가로로 나열된 버튼 목록
필드 | |
---|---|
buttons[] |
버튼의 배열입니다. |
Card(카드)
카드는 정의된 레이아웃, 버튼과 같은 대화형 UI 요소, 이미지와 같은 리치 미디어를 지원합니다. 카드를 사용하여 자세한 정보를 표시하고, 사용자로부터 정보를 수집하고, 사용자가 다음 단계를 진행하도록 안내합니다.
Google Chat에서 카드는 여러 곳에 표시됩니다.
- 독립형 메시지로 사용합니다.
- SMS와 함께, 문자 메시지 바로 아래에 위치
- 대화상자로
다음 JSON 예에서는 '연락처 카드'를 만듭니다.
- 연락처 이름, 직책, 아바타 사진이 포함된 헤더입니다.
- 서식이 지정된 텍스트를 포함한 연락처 정보가 있는 섹션입니다.
- 사용자가 클릭하여 연락처를 공유하거나 더 많은 정보 또는 더 적은 정보를 볼 수 있는 버튼입니다.
{
"cardsV2": [
{
"cardId": "unique-card-id",
"card": {
"header": {
"title": "Sasha",
"subtitle": "Software Engineer",
"imageUrl":
"https://developers.google.com/chat/images/quickstart-app-avatar.png",
"imageType": "CIRCLE",
"imageAltText": "Avatar for Sasha",
},
"sections": [
{
"header": "Contact Info",
"collapsible": true,
"uncollapsibleWidgetsCount": 1,
"widgets": [
{
"decoratedText": {
"startIcon": {
"knownIcon": "EMAIL",
},
"text": "sasha@example.com",
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PERSON",
},
"text": "<font color=\"#80e27e\">Online</font>",
},
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PHONE",
},
"text": "+1 (555) 555-1234",
}
},
{
"buttonList": {
"buttons": [
{
"text": "Share",
"onClick": {
"openLink": {
"url": "https://example.com/share",
}
}
},
{
"text": "Edit",
"onClick": {
"action": {
"function": "goToView",
"parameters": [
{
"key": "viewType",
"value": "EDIT",
}
],
}
}
},
],
}
},
],
},
],
},
}
],
}
필드 | |
---|---|
header |
카드의 헤더입니다. 헤더에는 일반적으로 선행 이미지와 제목이 포함됩니다. 헤더는 항상 카드 상단에 표시됩니다. |
sections[] |
위젯 컬렉션을 포함합니다. 각 섹션에는 고유한 선택적 헤더가 있습니다. 섹션은 시각적으로 구분선으로 구분됩니다. |
cardActions[] |
카드의 작업입니다. 카드의 툴바 메뉴에 작업이 추가됩니다. Chat 앱 카드에는 툴바가 없으므로 Chat 앱에서는 예를 들어 다음 JSON은 설정 및 의견 보내기 옵션을 사용하여 카드 작업 메뉴를 구성합니다.
|
name |
카드 이름입니다. 카드 탐색에서 카드 식별자로 사용됩니다. Chat 앱은 카드 탐색을 지원하지 않으므로 이 필드는 무시됩니다. |
fixedFooter |
카드 하단에 표시된 고정 바닥글입니다.
Google Workspace 부가기능 및 Chat 앱에서 지원됩니다. Chat 앱의 경우 대화상자에서 고정된 바닥글을 사용할 수 있지만 카드 메시지에서는 사용할 수 없습니다. |
displayStyle |
Google Workspace 부가기능에서 Chat 앱에서는 지원되지 않습니다. |
peekCardHeader |
문맥 콘텐츠를 표시할 때 미리보기 카드 헤더는 자리표시자 역할을 하여 사용자가 홈페이지 카드와 컨텍스트 카드 간에 이동할 수 있도록 합니다. Chat 앱에서는 지원되지 않습니다. |
카드 작업
카드 액션은 카드와 연결된 작업입니다. 예를 들어 인보이스 카드에는 인보이스 삭제, 이메일 인보이스 또는 브라우저에서 인보이스 열기와 같은 작업이 포함될 수 있습니다.
Chat 앱에서는 지원되지 않습니다.
필드 | |
---|---|
actionLabel |
작업 메뉴 항목으로 표시되는 라벨입니다. |
onClick |
이 작업 항목의 |
카드 헤더
카드 헤더를 나타냅니다.
필드 | |
---|---|
title |
필수 항목입니다. 카드 헤더의 제목입니다. 헤더의 높이는 고정되어 있습니다. 제목과 부제목을 모두 지정하면 각 행이 한 줄을 차지합니다. 제목만 지정하면 두 줄이 모두 사용됩니다. |
subtitle |
카드 헤더의 부제목입니다. 지정된 경우 |
imageType |
이미지를 자르는 데 사용되는 도형 |
imageUrl |
카드 헤더에 있는 이미지의 HTTPS URL입니다. |
imageAltText |
접근성에 사용되는 이 이미지의 대체 텍스트입니다. |
디스플레이 스타일
Google Workspace 부가기능에서 카드가 표시되는 방식을 결정합니다.
Chat 앱에서는 지원되지 않습니다.
열거형 | |
---|---|
DISPLAY_STYLE_UNSPECIFIED |
사용하지 마세요. |
PEEK |
카드 헤더는 사이드바 하단에 표시되어 스택의 현재 상단 카드를 부분적으로 덮습니다. 헤더를 클릭하면 카드가 카드 스택에 표시됩니다. 카드에 헤더가 없으면 생성된 헤더가 대신 사용됩니다. |
REPLACE |
기본값 카드 스택의 상단 카드 뷰를 교체하여 카드를 표시합니다. |
섹션
섹션에는 지정된 순서대로 세로로 렌더링되는 위젯 모음이 포함됩니다.
필드 | |
---|---|
header |
섹션 상단에 표시되는 텍스트입니다. 간단한 HTML 형식의 텍스트를 지원합니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱에서 텍스트 서식 지정하기 및 Google Workspace 부가기능에서 텍스트 서식 지정하기를 참고하세요. |
widgets[] |
섹션의 모든 위젯입니다. 위젯을 1개 이상 포함해야 합니다. |
collapsible |
이 섹션을 접을 수 있는지 여부를 나타냅니다. 접을 수 있는 섹션에서는 일부 또는 모든 위젯을 숨길 수 있지만 사용자는 더보기를 클릭하여 섹션을 펼쳐 숨겨진 위젯을 표시할 수 있습니다. 사용자는 간략히 보기를 클릭하여 위젯을 다시 숨길 수 있습니다. 숨겨진 위젯을 확인하려면 |
uncollapsibleWidgetsCount |
섹션을 접을 때도 계속 표시되는 축소 불가능 위젯의 수입니다. 예를 들어 섹션에 5개의 위젯이 있고 |
열
Columns
위젯은 카드 메시지 또는 대화상자에 최대 2개의 열을 표시합니다. 각 열에 위젯을 추가할 수 있습니다. 위젯은 지정된 순서대로 표시됩니다.
각 열의 높이는 더 긴 열에 의해 결정됩니다. 예를 들어 첫 번째 열의 높이가 두 번째 열의 높이보다 높으면 두 열의 첫 번째 열의 높이가 동일합니다. 각 열에는 서로 다른 개수의 위젯이 포함될 수 있으므로 행을 정의하거나 열 사이에 위젯을 정렬할 수 없습니다.
열이 나란히 표시됩니다. HorizontalSizeStyle
필드를 사용하여 각 열의 너비를 맞춤설정할 수 있습니다. 사용자의 화면 너비가 너무 좁으면 두 번째 열이 첫 번째 열 아래로 줄바꿈됩니다.
- 웹에서 두 번째 열은 화면 너비가 480픽셀 이하인 경우에 래핑됩니다.
- iOS 기기에서는 화면 너비가 300pt 이하인 경우 두 번째 열이 래핑됩니다.
- Android 기기에서 화면 너비가 320dp 이하인 경우 두 번째 열이 래핑됩니다.
3개 이상의 열을 포함하거나 행을 사용하려면
위젯을 사용합니다.Grid
Chat 앱에서는 지원되지만 Google Workspace 부가기능에서는 지원되지 않습니다.
필드 | |
---|---|
columnItems[] |
열의 배열입니다. 카드 또는 대화상자에 최대 2개의 열을 포함할 수 있습니다. |
열
열입니다.
필드 | |
---|---|
horizontalSizeStyle |
열이 카드의 너비를 채우는 방식을 지정합니다. |
horizontalAlignment |
위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다. |
verticalAlignment |
위젯이 열의 상단, 하단 또는 가운데에 정렬되는지 지정합니다. |
widgets[] |
열에 포함된 위젯의 배열입니다. 위젯은 지정된 순서대로 표시됩니다. |
가로 크기 스타일
열이 카드의 너비를 채우는 방식을 지정합니다. 각 열의 너비는 HorizontalSizeStyle
및 열 내 위젯의 너비에 따라 달라집니다.
열거형 | |
---|---|
HORIZONTAL_SIZE_STYLE_UNSPECIFIED |
지정되지 않음. 사용하지 마세요. |
FILL_AVAILABLE_SPACE |
기본값 가용 공간이 카드 너비의 최대 70% 로 채워집니다. 두 열이 모두 FILL_AVAILABLE_SPACE 로 설정되면 각 열이 공간의 50% 를 채웁니다. |
FILL_MINIMUM_SPACE |
열은 가능한 공간의 최소 공간을 채우며 카드 너비의 30% 이하입니다. |
세로 정렬
위젯이 열의 상단, 하단 또는 가운데에 정렬되는지 지정합니다.
열거형 | |
---|---|
VERTICAL_ALIGNMENT_UNSPECIFIED |
지정되지 않음. 사용하지 마세요. |
CENTER |
기본값 위젯을 열 가운데에 정렬합니다. |
TOP |
위젯을 열 상단에 정렬합니다. |
BOTTOM |
위젯을 열 하단에 정렬합니다. |
위젯
열에 포함할 수 있는 지원되는 위젯입니다.
필드 | |
---|---|
통합 필드
|
|
textParagraph |
|
image |
|
decoratedText |
|
buttonList |
|
textInput |
|
selectionInput |
|
dateTimePicker |
DateTimePicker
사용자가 날짜, 시간 또는 날짜와 시간을 모두 입력할 수 있습니다.
사용자는 텍스트를 입력하거나 선택 도구를 사용하여 날짜와 시간을 선택할 수 있습니다. 사용자가 잘못된 날짜나 시간을 입력하면 선택 도구에 사용자에게 정보를 올바르게 입력하라는 오류가 표시됩니다.
필드 | |
---|---|
name |
양식 입력 이벤트에서 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
label |
사용자에게 날짜, 시간 또는 날짜 및 시간을 입력하라는 메시지를 표시하는 텍스트입니다. 예를 들어 사용자가 일정을 예약하는 경우 |
type |
위젯에서 날짜, 시간 또는 날짜 및 시간 입력을 지원하는지 여부입니다. |
valueMsEpoch |
위젯에 표시되는 기본값이며, Unix 에포크 시간 이후 밀리초로 표시됩니다. 선택 도구 유형 (
|
timezoneOffsetDate |
UTC 기준 시간대 오프셋(분)을 나타내는 숫자입니다. 설정된 경우 |
onChangeAction |
사용자가 |
DateTimePickerType
DateTimePicker
위젯의 날짜 및 시간 형식입니다. 사용자가 날짜, 시간 또는 날짜와 시간을 모두 입력할 수 있는지 결정합니다.
열거형 | |
---|---|
DATE_AND_TIME |
사용자가 날짜 및 시간을 입력합니다. |
DATE_ONLY |
사용자가 날짜를 입력합니다. |
TIME_ONLY |
사용자가 시간을 입력합니다. |
장식 텍스트
텍스트 위 또는 아래에 있는 라벨, 텍스트 앞에 있는 아이콘, 선택 위젯, 텍스트 뒤의 버튼과 같은 선택적인 장식이 포함된 텍스트를 표시하는 위젯입니다.
필드 | |
---|---|
icon |
지원 중단되고 |
startIcon |
텍스트 앞에 표시되는 아이콘입니다. |
topLabel |
|
text |
필수 항목입니다. 기본 텍스트입니다. 간단한 형식 지원 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱에서 텍스트 서식 지정하기 및 Google Workspace 부가기능에서 텍스트 서식 지정하기를 참고하세요. |
wrapText |
줄바꿈 설정입니다.
|
bottomLabel |
|
onClick |
사용자가 |
통합 필드 control 는 decoratedText 위젯에서 텍스트 오른쪽에 표시되는 버튼, 스위치, 체크박스 또는 이미지입니다. control 은 다음 중 하나여야 합니다. |
|
button |
클릭하여 작업을 트리거할 수 있는 버튼입니다. |
switchControl |
스위치 위젯을 클릭하여 상태를 변경하고 작업을 트리거할 수 있습니다. |
endIcon |
텍스트 뒤에 표시되는 아이콘 |
SwitchControl
전환 버튼 또는 decoratedText
위젯 내 체크박스
decoratedText
위젯에서만 지원됩니다.
필드 | |
---|---|
name |
양식 입력 이벤트에서 스위치 위젯이 식별되는 이름입니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
value |
사용자가 입력한 값으로, 양식 입력 이벤트의 일부로 반환됩니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
selected |
|
onChangeAction |
실행할 함수와 같은 스위치 상태가 변경되면 수행할 작업입니다. |
controlType |
사용자 인터페이스에 스위치가 표시되는 방식입니다. |
컨트롤 유형
사용자 인터페이스에 스위치가 표시되는 방식입니다.
열거형 | |
---|---|
SWITCH |
전환 스타일 스위치 |
CHECKBOX |
지원 중단되고 CHECK_BOX 로 대체되었습니다. |
CHECK_BOX |
체크박스 |
구분선
위젯, 가로선 사이에 구분선을 표시합니다.
예를 들어 다음 JSON은 구분선을 만듭니다.
"divider": {}
GetAutocompletionResponse
텍스트 필드의 자동 완성 항목을 표시하는 데 필요한 요소가 포함된 자동 완성 컨테이너를 가져오는 응답입니다. 예를 들면 다음과 같습니다.
{
"autoComplete": {
"items": [
{
"text": "C++"
},
{
"text": "Java"
},
{
"text": "JavaScript"
},
{
"text": "Python"
}
]
}
}
필드 | |
---|---|
autoComplete |
|
schema |
문법 검사를 위해 마크업에 표시될 수 있는 노옵스(no-ops) 스키마 필드입니다. |
그리드
항목 모음이 있는 그리드를 표시합니다. 항목에는 텍스트 또는 이미지만 포함할 수 있습니다.
그리드는 원하는 수의 열과 항목을 지원합니다. 행 수는 항목을 열로 나눈 값입니다. 항목 10개와 열 2개가 있는 그리드에는 행이 5개 있습니다. 항목 11개와 열 2개가 있는 그리드에는 행이 6개 있습니다.
반응형 열의 경우 또는 텍스트나 이미지보다 많은 것을 포함하려면
를 사용합니다.Columns
예를 들어 다음 JSON은 단일 항목이 있는 2열 그리드를 만듭니다.
"grid": {
"title": "A fine collection of items",
"columnCount": 2,
"borderStyle": {
"type": "STROKE",
"cornerRadius": 4
},
"items": [
{
"image": {
"imageUri": "https://www.example.com/image.png",
"cropStyle": {
"type": "SQUARE"
},
"borderStyle": {
"type": "STROKE"
}
},
"title": "An item",
"textAlignment": "CENTER"
}
],
"onClick": {
"openLink": {
"url": "https://www.example.com"
}
}
}
필드 | |
---|---|
title |
그리드 헤더에 표시되는 텍스트입니다. |
items[] |
그리드에 표시할 항목입니다. |
borderStyle |
각 그리드 항목에 적용할 테두리 스타일 |
columnCount |
그리드에 표시할 열의 개수입니다. 이 필드를 지정하지 않으면 기본값이 사용되며 그리드가 표시되는 위치 (대화상자 및 컴패니언)에 따라 기본값이 달라집니다. |
onClick |
이 콜백은 각 개별 그리드 항목에서 재사용되지만, 항목 식별자와 항목 목록의 색인이 콜백의 매개변수에 추가됩니다. |
그리드 항목
그리드 레이아웃의 항목을 나타냅니다. 항목에는 텍스트, 이미지 또는 텍스트와 이미지가 모두 포함될 수 있습니다.
필드 | |
---|---|
id |
이 그리드 항목에 대해 사용자가 지정한 식별자입니다. 이 식별자는 상위 그리드의 onClick 콜백 매개변수에 반환됩니다. |
image |
그리드 항목에 표시되는 이미지입니다. |
title |
그리드 항목의 제목입니다. |
subtitle |
그리드 항목의 부제목입니다. |
layout |
그리드 항목에 사용할 레이아웃입니다. |
그리드 항목 레이아웃
그리드 항목에 사용할 수 있는 다양한 레이아웃 옵션을 나타냅니다.
열거형 | |
---|---|
GRID_ITEM_LAYOUT_UNSPECIFIED |
레이아웃이 지정되지 않았습니다. |
TEXT_BELOW |
제목 및 부제는 그리드 항목의 이미지 아래에 표시됩니다. |
TEXT_ABOVE |
제목과 부제목이 그리드 항목의 이미지 위에 표시됩니다. |
아이콘
카드의 위젯에 표시되는 아이콘
필드 | |
---|---|
altText |
선택사항입니다. 접근성에 사용되는 아이콘에 관한 설명입니다. 지정하지 않으면 기본값 'Button'이 제공됩니다. 아이콘의 내용과 가능한 경우 아이콘의 기능에 대해 설명하는 것이 좋습니다. 예를 들면 아이콘이 |
imageType |
이미지에 적용되는 자르기 스타일입니다. 경우에 따라 |
통합 필드 icons 는 카드의 위젯에 표시되는 아이콘입니다. icons 은 다음 중 하나여야 합니다. |
|
knownIcon |
Google Workspace에서 제공하는 기본 아이콘 중 하나를 표시합니다. 예를 들어 비행기 아이콘을 표시하려면 지원되는 아이콘의 전체 목록은 내장 아이콘을 참고하세요. |
iconUrl |
HTTPS URL에서 호스팅되는 맞춤 아이콘을 표시합니다. 예를 들면 다음과 같습니다.
지원되는 파일 형식에는 |
이미지
URL로 지정되고 onClick
작업을 포함할 수 있는 이미지입니다.
필드 | |
---|---|
imageUrl |
이미지를 호스팅하는 예를 들면 다음과 같습니다.
|
onClick |
사용자가 이미지를 클릭하면 해당 작업이 실행됩니다. |
altText |
접근성을 위해 사용되는 이 이미지의 대체 텍스트입니다. |
ImageComponent
이미지를 나타냅니다.
필드 | |
---|---|
imageUri |
이미지 URL입니다. |
altText |
이미지의 접근성 라벨입니다. |
cropStyle |
이미지에 적용할 자르기 스타일입니다. |
borderStyle |
이미지에 적용할 테두리 스타일입니다. |
이미지 자르기 스타일
이미지에 적용된 자르기 스타일을 나타냅니다.
예를 들어 16:9 가로세로 비율을 적용하는 방법은 다음과 같습니다.
cropStyle {
"type": "RECTANGLE_CUSTOM",
"aspectRatio": 16/9
}
필드 | |
---|---|
type |
자르기 유형입니다. |
aspectRatio |
자르기 유형이 예를 들어 16:9 가로세로 비율을 적용하는 방법은 다음과 같습니다.
|
이미지 자르기 유형
이미지에 적용된 자르기 스타일을 나타냅니다.
열거형 | |
---|---|
IMAGE_CROP_TYPE_UNSPECIFIED |
값이 지정되지 않았습니다. 사용하지 마세요. |
SQUARE |
기본값 정사각형으로 잘라냅니다. |
CIRCLE |
원형 자르기를 적용합니다. |
RECTANGLE_CUSTOM |
맞춤 가로세로 비율의 직사각형 자르기를 적용합니다. aspectRatio 를 사용하여 맞춤 가로세로 비율을 설정합니다. |
RECTANGLE_4_3 |
가로세로 비율이 4:3인 직사각형 자르기를 적용합니다. |
링크 미리보기
호스트 앱에 링크 미리보기 카드와 스마트 칩이 표시된 카드 작업
필드 | |
---|---|
previewCard |
타사 서비스 또는 Google 이외의 서비스 링크에 대한 정보가 표시되는 카드입니다. |
title |
링크 미리보기를 위해 스마트 칩에 표시되는 제목입니다. 설정하지 않으면 스마트 칩에 |
알림
호스트 앱에 알림을 표시하는 카드 작업
필드 | |
---|---|
text |
HTML 태그 없이 알림에 표시할 일반 텍스트 |
클릭 시
사용자가 카드에서 버튼과 같은 상호작용 요소를 클릭할 때 응답하는 방법을 나타냅니다.
필드 | |
---|---|
통합 필드
|
|
action |
지정하면 이 |
openLink |
지정하면 이 |
openDynamicLinkAction |
부가기능은 작업이 링크를 열어야 할 때 이 작업을 트리거합니다. 위의 |
card |
지정된 경우 클릭 후 새 카드가 카드 스택으로 푸시됩니다. Google Workspace 부가기능에서는 지원되지만 Chat 앱에서는 지원되지 않습니다. |
오픈링크
하이퍼링크를 여는 onClick
이벤트를 나타냅니다.
필드 | |
---|---|
url |
열려는 URL입니다. |
openAs |
링크를 여는 방법 Chat 앱에서는 지원되지 않습니다. |
onClose |
클라이언트가 링크를 연 후 잊어버린 경우 또는 창을 닫을 때까지 관찰하는 경우 Chat 앱에서는 지원되지 않습니다. |
종료 시
OnClick
작업으로 열린 링크가 닫히면 클라이언트가 실행하는 작업
구현은 클라이언트 플랫폼 기능에 따라 다릅니다. 예를 들어 웹브라우저에서 OnClose
핸들러를 사용하여 링크를 팝업 창에서 열 수 있습니다.
OnOpen
및 OnClose
핸들러가 모두 설정되어 있고 클라이언트 플랫폼이 두 값을 모두 지원할 수 없는 경우 OnClose
가 우선 적용됩니다.
Google Workspace 부가기능에서는 지원되지만 Chat 앱에서는 지원되지 않습니다.
열거형 | |
---|---|
NOTHING |
기본값 카드가 다시 로드되지 않고 아무런 변화가 없습니다. |
RELOAD |
하위 창이 닫힌 후 카드를 새로고침합니다. OpenAs.OVERLAY와 함께 사용하면 하위 창이 모달 대화상자 역할을 하며 하위 창이 닫힐 때까지 상위 카드가 차단됩니다. |
OpenAs
OnClick에서 링크가 열리면 클라이언트는 링크를 전체 크기 창 (클라이언트에서 사용하는 프레임인 경우) 또는 오버레이 (예: 팝업)로 열 수 있습니다. 구현은 클라이언트 플랫폼 기능에 따라 달라지며, 클라이언트가 값을 지원하지 않으면 선택한 값이 무시될 수 있습니다. FULL_SIZE
는 모든 클라이언트에서 지원됩니다.
Google Workspace 부가기능에서는 지원되지만 Chat 앱에서는 지원되지 않습니다.
열거형 | |
---|---|
FULL_SIZE |
링크는 전체 크기 창으로 열립니다 (클라이언트에서 사용하는 프레임인 경우). |
OVERLAY |
링크가 팝업처럼 오버레이로 열립니다. |
렌더링 작업
카드에 작업을 실행하라고 알리거나 부가기능 호스트 앱에 앱별 작업을 실행하도록 지시하는 렌더링 안내의 집합입니다.
필드 | |
---|---|
action |
|
hostAppAction |
개별 호스트 앱에서 처리하는 작업 |
schema |
문법 검사를 위해 마크업에 표시될 수 있는 노옵스(no-ops) 스키마 필드입니다. |
작업
필드 | |
---|---|
navigations[] |
표시된 카드를 푸시, 팝, 업데이트합니다. |
link |
새 탭 또는 팝업에서 즉시 대상 링크 열기 |
notification |
최종 사용자에게 알림을 표시합니다. |
linkPreview |
최종 사용자에게 링크 미리보기를 표시합니다. |
선택 입력
사용자가 선택할 수 있는 하나 이상의 UI 항목을 만드는 위젯. 예를 들어 드롭다운 메뉴 또는 체크박스를 선택합니다. 이 위젯을 사용하여 예측하거나 열거할 수 있는 데이터를 수집할 수 있습니다.
채팅 앱은 사용자가 선택하거나 입력하는 항목의 가치를 처리할 수 있습니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.
사용자로부터 정의되지 않은 데이터나 추상적인 데이터를 수집하려면 TextInput
위젯을 사용합니다.
필드 | |
---|---|
name |
양식 입력 이벤트에서 선택 입력을 식별하는 이름입니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
label |
사용자 인터페이스의 선택 입력란 위에 표시되는 텍스트입니다. 사용자가 앱에 필요한 정보를 입력하는 데 도움이 되는 텍스트를 지정합니다. 예를 들어 사용자가 드롭다운 메뉴에서 작업 티켓의 긴급도를 선택하는 경우 라벨은 '긴급' 또는 '긴급 선택'일 수 있습니다. |
type |
|
items[] |
선택 가능한 항목의 배열입니다. 예: 라디오 버튼 또는 체크박스 배열 최대 100개 항목 지원 |
onChangeAction |
지정하면 선택이 변경될 때 양식이 제출됩니다. 지정하지 않으면 양식을 제출하는 별도의 버튼을 지정해야 합니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
선택 항목
사용자가 체크박스나 스위치와 같은 선택 입력에서 선택할 수 있는 항목입니다.
필드 | |
---|---|
text |
상품을 식별하거나 사용자에게 설명하는 텍스트입니다. |
value |
이 항목과 연결된 값입니다. 클라이언트는 이 값을 양식 입력 값으로 사용해야 합니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
selected |
|
선택 유형
사용자가 선택할 수 있는 항목의 형식입니다. 옵션마다 지원하는 상호작용 유형이 다릅니다. 예를 들어 사용자는 여러 개의 체크박스를 선택할 수 있지만 드롭다운 메뉴에서는 하나의 항목만 선택할 수 있습니다.
각 선택 입력은 한 가지 유형의 선택을 지원합니다. 예를 들어 체크박스와 스위치를 함께 사용하는 것은 지원되지 않습니다.
열거형 | |
---|---|
CHECK_BOX |
체크박스 세트 사용자는 체크박스를 하나 이상 선택할 수 있습니다. |
RADIO_BUTTON |
라디오 버튼 모음입니다. 사용자는 하나의 라디오 버튼을 선택할 수 있습니다. |
SWITCH |
스위치 세트 사용자는 하나 이상의 스위치를 사용 설정할 수 있습니다. |
DROPDOWN |
드롭다운 메뉴 사용자는 메뉴에서 하나의 항목을 선택할 수 있습니다. |
제출 양식 응답
자동 완성 컨테이너를 얻는 것 외에 양식 제출에 대한 응답으로, 여기에는 컨테이너에서 실행해야 하는 작업이나 부가기능 호스트 앱에서 실행해야 하는 작업 및 카드 상태가 변경되었는지 여부가 포함됩니다. 예를 들면 다음과 같습니다.
{
"renderActions": {
"action": {
"notification": {
"text": "Email address is added: salam.heba@example.com"
}
},
"hostAppAction": {
"gmailAction": {
"openCreatedDraftAction": {
"draftId": "msg-a:r-79766936926021702",
"threadServerPermId": "thread-f:15700999851086004"
}
}
}
}
}
필드 | |
---|---|
renderActions |
카드에 작업을 실행하도록 명령하거나 부가기능 호스트 앱에 앱별 작업을 실행하도록 지시하는 렌더링 명령의 집합입니다. |
stateChanged |
카드 상태가 변경되었으며 기존 카드의 데이터가 비활성 상태인지 여부 |
schema |
문법 검사를 위해 마크업에 있을 수 있는 노옵스(no-ops) 스키마 필드입니다. |
추천
사용자가 입력할 수 있는 추천 값입니다. 이 값은 사용자가 텍스트 입력란 안을 클릭하면 표시됩니다. 사용자가 값을 입력할 때 추천 값은 사용자가 입력한 내용과 일치하도록 동적으로 필터링됩니다.
예를 들어 프로그래밍 언어의 텍스트 입력란에 자바, 자바스크립트, Python, C++가 제안될 수 있습니다. 사용자가 'Jav'를 입력하기 시작하면 추천 목록에서 자바와 자바스크립트만 표시되도록 필터링합니다.
추천 값은 사용자가 앱에서 이해할 수 있는 값을 입력하는 데 도움이 됩니다. 일부 사용자는 자바스크립트를 입력하고 '자바스크립트'를 입력할 수 있습니다. '자바스크립트'를 사용하면 사용자가 앱과 상호작용하는 방식을 표준화할 수 있습니다.
지정된 경우 TextInput.type
는 MULTIPLE_LINE
로 설정되더라도 항상 SINGLE_LINE
입니다.
필드 | |
---|---|
items[] |
텍스트 입력란의 자동 완성 추천에 사용되는 추천 목록입니다. |
추천 항목
사용자가 텍스트 입력란에 입력할 수 있는 제안 값 중 하나입니다.
필드 | |
---|---|
통합 필드
|
|
text |
텍스트 입력란에 대한 추천 입력 값입니다. 사용자가 직접 입력하는 것과 같습니다. |
TextInput
사용자가 텍스트를 입력할 수 있는 필드입니다. 제안 및 변경 시 작업 지원
채팅 앱은 양식 입력 이벤트 중에 입력된 텍스트의 값을 수신하고 처리할 수 있습니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.
사용자로부터 정의되지 않은 데이터나 추상적인 데이터를 수집해야 하는 경우 텍스트 입력을 사용하세요. 사용자로부터 정의되거나 열거된 데이터를 수집하려면 SelectionInput
위젯을 사용합니다.
필드 | |
---|---|
name |
양식 입력 이벤트에서 텍스트 입력이 식별되는 이름입니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
label |
사용자 인터페이스의 텍스트 입력란 위에 표시되는 텍스트입니다. 사용자가 앱에 필요한 정보를 입력하는 데 도움이 되는 텍스트를 지정합니다. 예를 들어, 다른 사람의 이름을 묻고 있지만 특히 성이 필요한 경우 '이름' 대신 '성'을 입력하세요.
|
hintText |
사용자에게 특정 값을 입력하라는 메시지를 표시하여 사용자를 지원하기 위해 텍스트 입력란 아래에 표시되는 텍스트입니다. 이 텍스트는 항상 표시됩니다.
|
value |
사용자가 입력한 값으로, 양식 입력 이벤트의 일부로 반환됩니다. 양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요. |
type |
사용자 인터페이스에 텍스트 입력란이 표시되는 방식입니다. 예를 들면 필드가 한 줄 또는 여러 줄인지 여부입니다. |
onChangeAction |
텍스트 입력란에 변경사항이 발생하면 해야 할 작업 변경사항에는 사용자가 필드에 추가하거나 텍스트를 삭제하는 경우가 포함됩니다. 수행할 작업으로는 맞춤 함수 실행 또는 Google Chat에서 대화상자 열기 등이 있습니다. |
initialSuggestions |
사용자가 입력할 수 있는 추천 값입니다. 이 값은 사용자가 텍스트 입력란 안을 클릭하면 표시됩니다. 사용자가 값을 입력할 때 추천 값은 사용자가 입력한 내용과 일치하도록 동적으로 필터링됩니다. 예를 들어 프로그래밍 언어의 텍스트 입력란에 자바, 자바스크립트, Python, C++가 제안될 수 있습니다. 사용자가 'Jav'를 입력하기 시작하면 추천 목록에서 자바와 자바스크립트만 표시되도록 필터링합니다. 추천 값은 사용자가 앱에서 이해할 수 있는 값을 입력하는 데 도움이 됩니다. 일부 사용자는 자바스크립트를 입력하고 '자바스크립트'를 입력할 수 있습니다. '자바스크립트'를 사용하면 사용자가 앱과 상호작용하는 방식을 표준화할 수 있습니다. 지정된 경우 |
autoCompleteAction |
선택사항입니다. 텍스트 입력란이 입력란과 상호작용하는 사용자에게 추천 항목을 제공할 때 수행할 작업을 지정합니다. 지정하지 않으면 추천은 지정된 경우 앱은 여기에 지정된 작업(예: 맞춤 함수 실행)을 수행합니다. Google Workspace 부가기능에서는 지원되지만 Chat 앱에서는 지원되지 않습니다. |
유형
사용자 인터페이스에 텍스트 입력란이 표시되는 방식입니다. 예를 들면 단일 입력란 입력란인지 여러 줄 입력란인지 확인할 수 있습니다.
initialSuggestions
가 지정되면 type
는 MULTIPLE_LINE
로 설정되더라도 항상 SINGLE_LINE
입니다.
열거형 | |
---|---|
SINGLE_LINE |
텍스트 입력란의 높이는 한 줄로 고정되어 있습니다. |
MULTIPLE_LINE |
텍스트 입력란의 높이가 여러 줄로 고정되어 있습니다. |
텍스트 단락
서식을 지원하는 텍스트 단락입니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱에서 텍스트 서식 지정하기 및 Google Workspace 부가기능에서 텍스트 서식 지정하기를 참고하세요.
필드 | |
---|---|
text |
위젯에 표시되는 텍스트입니다. |
위젯
각 카드는 위젯으로 구성됩니다.
위젯은 텍스트, 이미지, 버튼 및 기타 객체 유형 중 하나를 나타낼 수 있는 복합 객체입니다.
필드 | |
---|---|
horizontalAlignment |
위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다. |
통합 필드 data 는 위젯에는 다음 항목 중 하나만 포함될 수 있습니다. 여러 위젯 필드를 사용하여 더 많은 항목을 표시할 수 있습니다. data 은 다음 중 하나여야 합니다. |
|
textParagraph |
텍스트 단락을 표시합니다. 간단한 HTML 형식의 텍스트를 지원합니다. 텍스트 서식 지정에 관한 자세한 내용은 Google Chat 앱에서 텍스트 서식 지정하기 및 Google Workspace 부가기능에서 텍스트 서식 지정하기를 참고하세요. 예를 들어 다음 JSON은 굵게 표시된 텍스트를 만듭니다.
|
image |
이미지를 표시합니다. 예를 들어 다음 JSON은 대체 텍스트가 있는 이미지를 만듭니다.
|
decoratedText |
장식된 텍스트 항목을 표시합니다. 예를 들어 다음 JSON은 이메일 주소를 표시하는 장식된 텍스트 위젯을 만듭니다.
|
buttonList |
버튼 목록 예를 들어 다음 JSON은 버튼 두 개를 만듭니다. 첫 번째는 파란색 텍스트 버튼, 두 번째는 링크를 여는 이미지 버튼입니다.
|
textInput |
사용자가 입력할 수 있는 텍스트 상자를 표시합니다. 예를 들어 다음 JSON은 이메일 주소에 대한 텍스트 입력을 만듭니다.
또 다른 예로, 다음 JSON은 정적 제안을 사용하여 프로그래밍 언어에 대한 텍스트 입력을 생성합니다.
|
selectionInput |
사용자가 항목을 선택할 수 있는 선택 컨트롤을 표시합니다. 선택 컨트롤은 체크박스, 라디오 버튼, 스위치 또는 드롭다운 메뉴일 수 있습니다. 예를 들어 다음 JSON은 사용자가 크기를 선택할 수 있는 드롭다운 메뉴를 만듭니다.
|
dateTimePicker |
사용자가 날짜, 시간 또는 날짜 및 시간을 입력할 수 있는 위젯을 표시합니다. 예를 들어 다음 JSON은 약속을 예약하기 위해 날짜 시간 선택 도구를 만듭니다.
|
divider |
위젯 사이에 가로선 구분선을 표시합니다. 예를 들어 다음 JSON은 구분선을 만듭니다.
|
grid |
항목 모음이 있는 그리드를 표시합니다. 그리드는 원하는 수의 열과 항목을 지원합니다. 행 수는 숫자 항목의 상한값을 열 수로 나눈 값에 따라 결정됩니다. 항목 10개와 열 2개가 있는 그리드에는 행이 5개 있습니다. 항목 11개와 열 2개가 있는 그리드에는 행이 6개 있습니다. 예를 들어 다음 JSON은 단일 항목이 있는 2열 그리드를 만듭니다.
|
columns |
최대 2개의 열을 표시합니다. 3개 이상의 열을 포함하거나 행을 사용하려면 예를 들어 다음 JSON은 각각 텍스트 단락을 포함하는 2개의 열을 만듭니다.
|
가로 맞춤
위젯이 열의 왼쪽, 오른쪽 또는 가운데에 정렬되는지 지정합니다.
열거형 | |
---|---|
HORIZONTAL_ALIGNMENT_UNSPECIFIED |
지정되지 않음. 사용하지 마세요. |
START |
기본값 위젯을 열의 시작 위치에 맞춥니다. 왼쪽에서 오른쪽 레이아웃의 경우 왼쪽으로 정렬됩니다. 오른쪽에서 왼쪽 레이아웃의 경우 오른쪽으로 정렬됩니다. |
CENTER |
위젯을 열 가운데에 정렬합니다. |
END |
위젯을 열의 끝 부분에 맞춥니다. 왼쪽에서 오른쪽 레이아웃의 경우 위젯을 오른쪽으로 정렬합니다. 오른쪽에서 왼쪽 레이아웃의 경우 위젯을 왼쪽에 정렬합니다. |
이미지 유형
이미지를 자르는 데 사용되는 도형
열거형 | |
---|---|
SQUARE |
기본값 이미지에 정사각형 마스크를 적용합니다. 예를 들어 4x3 이미지는 3x3이 됩니다. |
CIRCLE |
이미지에 원형 마스크를 적용합니다. 예를 들어 4x3 이미지는 지름이 3인 원이 됩니다. |