Cards v2

Thẻ

Giao diện thẻ hiển thị trong tin nhắn trên Google Chat hoặc tiện ích bổ sung của Google Workspace.

Thẻ hỗ trợ bố cục đã xác định, các thành phần trên giao diện người dùng có khả năng tương tác như nút và nội dung đa phương tiện như hình ảnh. Sử dụng thẻ để trình bày thông tin chi tiết, thu thập thông tin từ người dùng và hướng dẫn người dùng thực hiện bước tiếp theo.

Thiết kế và xem trước thẻ bằng Trình tạo thẻ.

Mở Trình tạo thẻ

Để tìm hiểu cách tạo thẻ, hãy xem tài liệu sau:

Lưu ý: Bạn có thể thêm tối đa 100 tiện ích cho mỗi thẻ. Mọi tiện ích vượt quá giới hạn này sẽ bị bỏ qua. Giới hạn này áp dụng cho cả thông báo dạng thẻ và hộp thoại trong ứng dụng Google Chat, cũng như cho thẻ trong Tiện ích bổ sung của Google Workspace.

Ví dụ: Tin nhắn dạng thẻ cho ứng dụng Google Chat

Danh thiếp mẫu

Để tạo tin nhắn thẻ mẫu trong Google Chat, hãy sử dụng JSON sau:

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
           "title": "Sasha",
           "subtitle": "Software Engineer",
           "imageUrl":
           "https://developers.google.com/workspace/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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Biểu diễn dưới dạng JSON
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Trường
header

object (CardHeader)

Tiêu đề của thẻ. Tiêu đề thường chứa một hình ảnh ở đầu và một tiêu đề. Tiêu đề luôn xuất hiện ở đầu thẻ.

sections[]

object (Section)

Chứa một bộ sưu tập tiện ích. Mỗi phần có tiêu đề riêng (không bắt buộc). Các phần được phân tách bằng một đường phân chia. Để xem ví dụ trong các ứng dụng Google Chat, hãy xem phần Xác định một phần của thẻ.

sectionDividerStyle

enum (DividerStyle)

Kiểu đường phân cách giữa tiêu đề, các phần và chân trang.

cardActions[]

object (CardAction)

Thao tác của thẻ. Các thao tác được thêm vào trình đơn thanh công cụ của thẻ.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

Ví dụ: JSON sau đây tạo một trình đơn thao tác trên thẻ có các tuỳ chọn SettingsSend Feedback:

"cardActions": [
  {
    "actionLabel": "Settings",
    "onClick": {
      "action": {
        "functionName": "goToView",
        "parameters": [
          {
            "key": "viewType",
            "value": "SETTING"
         }
        ],
        "loadIndicator": "LoadIndicator.SPINNER"
      }
    }
  },
  {
    "actionLabel": "Send Feedback",
    "onClick": {
      "openLink": {
        "url": "https://example.com/feedback"
      }
    }
  }
]
name

string

Tên thẻ. Dùng làm giá trị nhận dạng thẻ trong thao tác điều hướng thẻ.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

displayStyle

enum (DisplayStyle)

Trong Tiện ích bổ sung của Google Workspace, hãy đặt các thuộc tính hiển thị của peekCardHeader.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

peekCardHeader

object (CardHeader)

Khi hiển thị nội dung theo bối cảnh, tiêu đề thẻ xem trước đóng vai trò là phần giữ chỗ để người dùng có thể di chuyển giữa các thẻ trang chủ và thẻ theo bối cảnh.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

CardHeader

Biểu thị tiêu đề thẻ. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm tiêu đề.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Trường
title

string

Bắt buộc. Tiêu đề của tiêu đề thẻ. Tiêu đề có chiều cao cố định: nếu bạn chỉ định cả tiêu đề và phụ đề, thì mỗi tiêu đề sẽ chiếm một dòng. Nếu chỉ chỉ định tiêu đề, tiêu đề sẽ chiếm cả hai dòng.

subtitle

string

Phụ đề của tiêu đề thẻ. Nếu được chỉ định, sẽ xuất hiện trên dòng riêng bên dưới title.

imageType

enum (ImageType)

Hình dạng dùng để cắt hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

imageUrl

string

URL HTTPS của hình ảnh trong tiêu đề thẻ.

imageAltText

string

Văn bản thay thế của hình ảnh này dùng cho mục đích hỗ trợ tiếp cận.

ImageType

Hình dạng dùng để cắt hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
SQUARE Giá trị mặc định. Áp dụng mặt nạ hình vuông cho hình ảnh. Ví dụ: hình ảnh 4x3 sẽ trở thành 3x3.
CIRCLE Áp dụng mặt nạ hình tròn cho hình ảnh. Ví dụ: hình ảnh 4x3 sẽ trở thành hình tròn có đường kính 3.

Phần

Một phần chứa một tập hợp các tiện ích được kết xuất theo chiều dọc theo thứ tự được chỉ định.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer,
  "collapseControl": {
    object (CollapseControl)
  }
}
Trường
header

string

Văn bản xuất hiện ở đầu một mục. Hỗ trợ văn bản có định dạng HTML đơn giản. Để biết thêm thông tin về cách định dạng văn bản, hãy xem bài viết Định dạng văn bản trong ứng dụng Google ChatĐịnh dạng văn bản trong tiện ích bổ sung của Google Workspace.

widgets[]

object (Widget)

Tất cả tiện ích trong phần này. Phải chứa ít nhất một tiện ích.

collapsible

boolean

Cho biết liệu phần này có thể thu gọn hay không.

Các phần có thể thu gọn sẽ ẩn một số hoặc tất cả tiện ích, nhưng người dùng có thể mở rộng phần đó để hiển thị các tiện ích bị ẩn bằng cách nhấp vào Hiện thêm. Người dùng có thể ẩn lại các tiện ích bằng cách nhấp vào Hiển thị ít hơn.

Để xác định các tiện ích nào bị ẩn, hãy chỉ định uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

integer

Số lượng tiện ích không thể thu gọn vẫn hiển thị ngay cả khi một phần bị thu gọn.

Ví dụ: khi một phần chứa 5 tiện ích và uncollapsibleWidgetsCount được đặt thành 2, thì 2 tiện ích đầu tiên sẽ luôn hiển thị và 3 tiện ích cuối cùng sẽ được thu gọn theo mặc định. uncollapsibleWidgetsCount chỉ được tính đến khi collapsibletrue.

collapseControl

object (CollapseControl)

Không bắt buộc. Xác định nút mở rộng và thu gọn của phần. Nút này sẽ chỉ xuất hiện nếu phần đó có thể thu gọn. Nếu bạn không đặt trường này, thì nút mặc định sẽ được sử dụng. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Tiện ích

Mỗi thẻ bao gồm các tiện ích.

Tiện ích là một đối tượng tổng hợp có thể đại diện cho một trong các loại văn bản, hình ảnh, nút và các loại đối tượng khác.

Biểu diễn dưới dạng JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "divider": {
    object (Divider)
  },
  "grid": {
    object (Grid)
  },
  "columns": {
    object (Columns)
  },
  "carousel": {
    object (Carousel)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Trường
horizontalAlignment

enum (HorizontalAlignment)

Chỉ định việc các tiện ích có căn chỉnh sang trái, phải hay giữa cột hay không.

Trường hợp hợp nhất data. Một tiện ích chỉ có thể có một trong các mục sau. Bạn có thể sử dụng nhiều trường tiện ích để hiển thị thêm các mục. data chỉ có thể là một trong những loại sau:
textParagraph

object (TextParagraph)

Hiển thị một đoạn văn bản. Hỗ trợ văn bản có định dạng HTML đơn giản. Để biết thêm thông tin về cách định dạng văn bản, hãy xem bài viết Định dạng văn bản trong ứng dụng Google ChatĐịnh dạng văn bản trong tiện ích bổ sung của Google Workspace.

Ví dụ: JSON sau đây sẽ tạo văn bản in đậm:

"textParagraph": {
  "text": "  <b>bold text</b>"
}
image

object (Image)

Hiển thị hình ảnh.

Ví dụ: JSON sau đây sẽ tạo một hình ảnh có văn bản thay thế:

"image": {
  "imageUrl":
  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  "altText": "Chat app avatar"
}
decoratedText

object (DecoratedText)

Hiển thị một mục văn bản được trang trí.

Ví dụ: JSON sau đây tạo một tiện ích văn bản được trang trí hiển thị địa chỉ email:

"decoratedText": {
  "icon": {
    "knownIcon": "EMAIL"
  },
  "topLabel": "Email Address",
  "text": "sasha@example.com",
  "bottomLabel": "This is a new Email address!",
  "switchControl": {
    "name": "has_send_welcome_email_to_sasha",
    "selected": false,
    "controlType": "CHECKBOX"
  }
}
buttonList

object (ButtonList)

Danh sách các nút.

Ví dụ: JSON sau đây tạo ra hai nút. Nút đầu tiên là nút văn bản màu xanh dương và nút thứ hai là nút hình ảnh mở đường liên kết:

"buttonList": {
  "buttons": [
    {
      "text": "Edit",
      "color": {
        "red": 0,
        "green": 0,
        "blue": 1,
      },
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}
textInput

object (TextInput)

Hiển thị một hộp văn bản mà người dùng có thể nhập vào.

Ví dụ: JSON sau đây tạo một mục nhập văn bản cho địa chỉ email:

"textInput": {
  "name": "mailing_address",
  "label": "Mailing Address"
}

Ví dụ khác: JSON sau đây tạo một dữ liệu nhập văn bản cho một ngôn ngữ lập trình có các đề xuất tĩnh:

"textInput": {
  "name": "preferred_programing_language",
  "label": "Preferred Language",
  "initialSuggestions": {
    "items": [
      {
        "text": "C++"
      },
      {
        "text": "Java"
      },
      {
        "text": "JavaScript"
      },
      {
        "text": "Python"
      }
    ]
  }
}
selectionInput

object (SelectionInput)

Hiển thị một thành phần điều khiển lựa chọn cho phép người dùng chọn các mục. Thành phần điều khiển lựa chọn có thể là hộp đánh dấu, nút chọn, nút chuyển hoặc trình đơn thả xuống.

Ví dụ: JSON sau đây tạo một trình đơn thả xuống cho phép người dùng chọn kích thước:

"selectionInput": {
  "name": "size",
  "label": "Size"
  "type": "DROPDOWN",
  "items": [
    {
      "text": "S",
      "value": "small",
      "selected": false
    },
    {
      "text": "M",
      "value": "medium",
      "selected": true
    },
    {
      "text": "L",
      "value": "large",
      "selected": false
    },
    {
      "text": "XL",
      "value": "extra_large",
      "selected": false
    }
  ]
}
dateTimePicker

object (DateTimePicker)

Hiển thị một tiện ích cho phép người dùng nhập ngày, giờ hoặc ngày và giờ.

Ví dụ: JSON sau đây tạo một bộ chọn ngày giờ để lên lịch hẹn:

"dateTimePicker": {
  "name": "appointment_time",
  "label": "Book your appointment at:",
  "type": "DATE_AND_TIME",
  "valueMsEpoch": "796435200000"
}
divider

object (Divider)

Hiển thị một đường phân chia theo chiều ngang giữa các tiện ích.

Ví dụ: JSON sau đây tạo một đường phân cách:

"divider": {
}
grid

object (Grid)

Hiển thị một lưới có một bộ sưu tập các mục.

Lưới hỗ trợ số lượng cột và mục bất kỳ. Số hàng được xác định bằng cách lấy giới hạn trên của số mục chia cho số cột. Một lưới có 10 mục và 2 cột sẽ có 5 hàng. Một lưới có 11 mục và 2 cột sẽ có 6 hàng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Ví dụ: JSON sau đây tạo một lưới 2 cột với một mục duy nhất:

"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"
    }
  }
}
columns

object (Columns)

Hiển thị tối đa 2 cột.

Để thêm nhiều cột hơn hoặc sử dụng hàng, hãy sử dụng tiện ích Grid.

Ví dụ: JSON sau đây tạo 2 cột, mỗi cột chứa các đoạn văn bản:

"columns": {
  "columnItems": [
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "First column text paragraph"
          }
        }
      ]
    },
    {
      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
      "horizontalAlignment": "CENTER",
      "verticalAlignment": "CENTER",
      "widgets": [
        {
          "textParagraph": {
            "text": "Second column text paragraph"
          }
        }
      ]
    }
  ]
}
carousel

object (Carousel)

Băng chuyền chứa một tập hợp các tiện ích lồng nhau. Ví dụ: đây là nội dung JSON thể hiện một băng chuyền chứa hai đoạn văn bản.

{
  "widgets": [
    {
      "textParagraph": {
        "text": "First text paragraph in the carousel."
      }
    },
    {
      "textParagraph": {
        "text": "Second text paragraph in the carousel."
      }
    }
  ]
}
chipList

object (ChipList)

Danh sách các khối.

Ví dụ: JSON sau đây sẽ tạo ra hai khối. Thẻ đầu tiên là thẻ văn bản và thẻ thứ hai là thẻ biểu tượng mở đường liên kết:

"chipList": {
  "chips": [
    {
      "text": "Edit",
      "disabled": true,
    },
    {
      "icon": {
        "knownIcon": "INVITE",
        "altText": "check calendar"
      },
      "onClick": {
        "openLink": {
          "url": "https://example.com/calendar"
        }
      }
    }
  ]
}

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

TextParagraph

Một đoạn văn bản hỗ trợ định dạng. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm một đoạn văn bản được định dạng. Để biết thêm thông tin về cách định dạng văn bản, hãy xem bài viết Định dạng văn bản trong ứng dụng Google ChatĐịnh dạng văn bản trong tiện ích bổ sung của Google Workspace.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "text": string,
  "maxLines": integer
}
Trường
text

string

Văn bản hiển thị trong tiện ích.

maxLines

integer

Số dòng văn bản tối đa hiển thị trong tiện ích. Nếu văn bản vượt quá số dòng tối đa đã chỉ định, thì nội dung thừa sẽ được ẩn sau nút hiển thị thêm. Nếu văn bản bằng hoặc ngắn hơn số dòng tối đa đã chỉ định, thì nút hiển thị thêm sẽ không xuất hiện.

Giá trị mặc định là 0, trong trường hợp này, tất cả ngữ cảnh sẽ hiển thị. Giá trị âm sẽ bị bỏ qua. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Hình ảnh

Hình ảnh được chỉ định bằng URL và có thể có thao tác onClick. Để biết ví dụ, hãy xem phần Thêm hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Trường
imageUrl

string

URL HTTPS lưu trữ hình ảnh.

Ví dụ:

https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
onClick

object (OnClick)

Khi người dùng nhấp vào hình ảnh, thao tác nhấp sẽ kích hoạt hành động này.

altText

string

Văn bản thay thế của hình ảnh này dùng cho mục đích hỗ trợ tiếp cận.

OnClick

Biểu thị cách phản hồi khi người dùng nhấp vào một phần tử tương tác trên thẻ, chẳng hạn như nút.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field data can be only one of the following:
  "action": {
    object (Action)
  },
  "openLink": {
    object (OpenLink)
  },
  "openDynamicLinkAction": {
    object (Action)
  },
  "card": {
    object (Card)
  },
  "overflowMenu": {
    object (OverflowMenu)
  }
  // End of list of possible types for union field data.
}
Trường

Trường hợp hợp nhất data.

data chỉ có thể là một trong những loại sau:

action

object (Action)

Nếu được chỉ định, một hành động sẽ được kích hoạt bằng onClick này.

card

object (Card)

Thẻ mới sẽ được đẩy vào ngăn xếp thẻ sau khi nhấp nếu được chỉ định.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

overflowMenu

object (OverflowMenu)

Nếu được chỉ định, onClick này sẽ mở một trình đơn mục bổ sung. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Hành động

Một hành động mô tả hành vi khi biểu mẫu được gửi. Ví dụ: bạn có thể gọi một tập lệnh Apps Script để xử lý biểu mẫu. Nếu hành động được kích hoạt, các giá trị biểu mẫu sẽ được gửi đến máy chủ.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
Trường
function

string

Hàm tuỳ chỉnh để gọi khi phần tử chứa được nhấp hoặc kích hoạt.

Để biết ví dụ về cách sử dụng, hãy xem phần Đọc dữ liệu biểu mẫu.

parameters[]

object (ActionParameter)

Danh sách tham số hành động.

loadIndicator

enum (LoadIndicator)

Chỉ định chỉ báo tải mà thao tác hiển thị trong khi thực hiện lệnh gọi đến thao tác đó.

persistValues

boolean

Cho biết liệu các giá trị biểu mẫu có tồn tại sau hành động hay không. Giá trị mặc định là false.

Nếu là true, các giá trị biểu mẫu sẽ vẫn còn sau khi hành động được kích hoạt. Để cho phép người dùng thực hiện thay đổi trong khi thao tác đang được xử lý, hãy đặt LoadIndicator thành NONE. Đối với thẻ thông báo trong ứng dụng Chat, bạn cũng phải đặt ResponseType của hành động thành UPDATE_MESSAGE và sử dụng cùng một cardId từ thẻ chứa hành động đó.

Nếu là false, các giá trị biểu mẫu sẽ bị xoá khi hành động được kích hoạt. Để ngăn người dùng thực hiện thay đổi trong khi thao tác đang được xử lý, hãy đặt LoadIndicator thành SPINNER.

interaction

enum (Interaction)

Không bắt buộc. Bắt buộc khi mở một hộp thoại.

Việc cần làm để phản hồi một lượt tương tác với người dùng, chẳng hạn như người dùng nhấp vào một nút trong thông báo dạng thẻ.

Nếu không được chỉ định, ứng dụng sẽ phản hồi bằng cách thực thi một action – chẳng hạn như mở đường liên kết hoặc chạy một hàm – như bình thường.

Bằng cách chỉ định một interaction, ứng dụng có thể phản hồi theo những cách tương tác đặc biệt. Ví dụ: bằng cách đặt interaction thành OPEN_DIALOG, ứng dụng có thể mở một hộp thoại. Khi được chỉ định, chỉ báo tải sẽ không hiển thị. Nếu được chỉ định cho một tiện ích bổ sung, toàn bộ thẻ sẽ bị xoá và không có nội dung nào xuất hiện trong ứng dụng.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

requiredWidgets[]

string

Không bắt buộc. Điền tên các tiện ích mà Hành động này cần để gửi một cách hợp lệ vào danh sách này.

Nếu các tiện ích được liệt kê ở đây không có giá trị khi Hành động này được gọi, thì quá trình gửi biểu mẫu sẽ bị huỷ.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

allWidgetsAreRequired

boolean

Không bắt buộc. Nếu đúng, thì tất cả các tiện ích đều được coi là bắt buộc theo hành động này.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

ActionParameter

Danh sách tham số chuỗi cần cung cấp khi phương thức hành động được gọi. Ví dụ: hãy xem xét 3 nút hẹn giờ: hẹn giờ ngay, hẹn giờ một ngày hoặc hẹn giờ vào tuần tới. Bạn có thể sử dụng action method = snooze(), truyền loại báo thức và thời gian báo thức trong danh sách tham số chuỗi.

Để tìm hiểu thêm, hãy xem CommonEventObject.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "key": string,
  "value": string
}
Trường
key

string

Tên của thông số cho tập lệnh hành động.

value

string

Giá trị của tham số.

LoadIndicator

Chỉ định chỉ báo tải mà thao tác hiển thị trong khi thực hiện lệnh gọi đến thao tác đó.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
SPINNER Hiển thị một vòng quay để cho biết nội dung đang tải.
NONE Không có nội dung nào hiển thị.

Tương tác

Không bắt buộc. Bắt buộc khi mở một hộp thoại.

Việc cần làm để phản hồi một lượt tương tác với người dùng, chẳng hạn như người dùng nhấp vào một nút trong thông báo dạng thẻ.

Nếu không được chỉ định, ứng dụng sẽ phản hồi bằng cách thực thi một action – chẳng hạn như mở một đường liên kết hoặc chạy một hàm – như bình thường.

Bằng cách chỉ định một interaction, ứng dụng có thể phản hồi theo những cách tương tác đặc biệt. Ví dụ: bằng cách đặt interaction thành OPEN_DIALOG, ứng dụng có thể mở một hộp thoại.

Khi được chỉ định, chỉ báo tải sẽ không hiển thị. Nếu được chỉ định cho một tiện ích bổ sung, toàn bộ thẻ sẽ bị xoá và không có nội dung nào xuất hiện trong ứng dụng.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Enum
INTERACTION_UNSPECIFIED Giá trị mặc định. action thực thi như bình thường.
OPEN_DIALOG

Mở một hộp thoại, một giao diện dựa trên thẻ dạng cửa sổ mà các ứng dụng Chat sử dụng để tương tác với người dùng.

Chỉ các ứng dụng Chat mới hỗ trợ tính năng này để phản hồi các lượt nhấp vào nút trên tin nhắn dạng thẻ. Nếu được chỉ định cho một tiện ích bổ sung, toàn bộ thẻ sẽ bị xoá và không có nội dung nào xuất hiện trong ứng dụng.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

OpenAs

Khi một thao tác OnClick mở một đường liên kết, ứng dụng có thể mở đường liên kết đó dưới dạng cửa sổ kích thước đầy đủ (nếu đó là khung mà ứng dụng sử dụng) hoặc lớp phủ (chẳng hạn như cửa sổ bật lên). Việc triển khai phụ thuộc vào các chức năng của nền tảng ứng dụng và giá trị đã chọn có thể bị bỏ qua nếu ứng dụng không hỗ trợ giá trị đó. FULL_SIZE được tất cả ứng dụng khách hỗ trợ.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

Enum
FULL_SIZE Đường liên kết sẽ mở dưới dạng cửa sổ có kích thước đầy đủ (nếu đó là khung mà ứng dụng sử dụng).
OVERLAY Đường liên kết sẽ mở dưới dạng lớp phủ, chẳng hạn như một cửa sổ bật lên.

OnClose

Thao tác mà ứng dụng thực hiện khi một đường liên kết do thao tác OnClick mở bị đóng.

Việc triển khai phụ thuộc vào các tính năng của nền tảng ứng dụng. Ví dụ: trình duyệt web có thể mở một đường liên kết trong cửa sổ bật lên bằng trình xử lý OnClose.

Nếu bạn đặt cả trình xử lý OnOpenOnClose và nền tảng ứng dụng không thể hỗ trợ cả hai giá trị, thì OnClose sẽ được ưu tiên.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

Enum
NOTHING Giá trị mặc định. Thẻ không tải lại; không có gì xảy ra.
RELOAD

Tải lại thẻ sau khi cửa sổ con đóng.

Nếu được sử dụng cùng với OpenAs.OVERLAY, cửa sổ con sẽ đóng vai trò là hộp thoại phương thức và thẻ mẹ sẽ bị chặn cho đến khi cửa sổ con đóng lại.

OverflowMenu

Một tiện ích hiển thị trình đơn bật lên có một hoặc nhiều thao tác mà người dùng có thể gọi. Ví dụ: hiển thị các thao tác không phải thao tác chính trong thẻ. Bạn có thể sử dụng tiện ích này khi các thao tác không vừa với không gian có sẵn. Để sử dụng, hãy chỉ định tiện ích này trong thao tác OnClick của các tiện ích hỗ trợ tiện ích này. Ví dụ: trong Button.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "items": [
    {
      object (OverflowMenuItem)
    }
  ]
}
Trường
items[]

object (OverflowMenuItem)

Bắt buộc. Danh sách các tuỳ chọn trên trình đơn.

OverflowMenuItem

Một tuỳ chọn mà người dùng có thể gọi trong trình đơn mục bổ sung.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "startIcon": {
    object (Icon)
  },
  "text": string,
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean
}
Trường
startIcon

object (Icon)

Biểu tượng hiển thị trước văn bản.

text

string

Bắt buộc. Văn bản giúp người dùng xác định hoặc mô tả mặt hàng.

onClick

object (OnClick)

Bắt buộc. Thao tác được gọi khi một mục trong trình đơn được chọn. OnClick này không được chứa OverflowMenu, mọi OverflowMenu được chỉ định sẽ bị loại bỏ và mục trong trình đơn sẽ bị vô hiệu hoá.

disabled

boolean

Liệu tuỳ chọn trình đơn có bị tắt hay không. Giá trị mặc định là sai.

Biểu tượng

Biểu tượng hiển thị trong tiện ích trên thẻ. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm biểu tượng.

Hỗ trợ biểu tượng tích hợptuỳ chỉnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "altText": string,
  "imageType": enum (ImageType),

  // Union field icons can be only one of the following:
  "knownIcon": string,
  "iconUrl": string,
  "materialIcon": {
    object (MaterialIcon)
  }
  // End of list of possible types for union field icons.
}
Trường
altText

string

Không bắt buộc. Nội dung mô tả biểu tượng dùng cho tính năng hỗ trợ tiếp cận. Nếu bạn không chỉ định, hệ thống sẽ cung cấp giá trị mặc định là Button. Tốt nhất là bạn nên đặt nội dung mô tả hữu ích cho nội dung hiển thị của biểu tượng và chức năng của biểu tượng (nếu có). Ví dụ: A user's account portrait hoặc Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Nếu biểu tượng được đặt trong Button, thì altText sẽ xuất hiện dưới dạng văn bản trợ giúp khi người dùng di chuột qua nút. Tuy nhiên, nếu nút cũng đặt text, thì altText của biểu tượng sẽ bị bỏ qua.

imageType

enum (ImageType)

Kiểu cắt được áp dụng cho hình ảnh. Trong một số trường hợp, việc áp dụng tính năng cắt CIRCLE sẽ khiến hình ảnh được vẽ lớn hơn biểu tượng tích hợp.

Trường hợp hợp nhất icons. Biểu tượng hiển thị trong tiện ích trên thẻ. icons chỉ có thể là một trong những loại sau:
knownIcon

string

Hiển thị một trong các biểu tượng tích hợp sẵn do Google Workspace cung cấp.

Ví dụ: để hiển thị biểu tượng máy bay, hãy chỉ định AIRPLANE. Đối với xe buýt, hãy chỉ định BUS.

Để biết danh sách đầy đủ các biểu tượng được hỗ trợ, hãy xem phần biểu tượng tích hợp.

iconUrl

string

Hiển thị một biểu tượng tuỳ chỉnh được lưu trữ tại một URL loại HTTPS.

Ví dụ:

"iconUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"

Các loại tệp được hỗ trợ bao gồm .png.jpg.

materialIcon

object (MaterialIcon)

Hiển thị một trong các Biểu tượng Material của Google.

Ví dụ: để hiển thị biểu tượng hộp đánh dấu, hãy sử dụng

"materialIcon": {
  "name": "check_box"
}

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

MaterialIcon

Một Biểu tượng Material của Google, bao gồm hơn 2.500 lựa chọn.

Ví dụ: để hiển thị biểu tượng hộp đánh dấu có trọng số và điểm tuỳ chỉnh, hãy viết như sau:

{
  "name": "check_box",
  "fill": true,
  "weight": 300,
  "grade": -25
}

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
Trường
name

string

Tên biểu tượng được xác định trong Biểu tượng Google Material, ví dụ: check_box. Mọi tên không hợp lệ đều bị bỏ qua và thay thế bằng chuỗi trống, dẫn đến việc biểu tượng không hiển thị.

fill

boolean

Biểu tượng có hiển thị đầy hay không. Giá trị mặc định là sai.

Để xem trước các chế độ cài đặt biểu tượng khác nhau, hãy chuyển đến phần Biểu tượng phông chữ của Google rồi điều chỉnh chế độ cài đặt trong phần Tuỳ chỉnh.

weight

integer

Độ đậm của nét vẽ biểu tượng. Chọn trong số {100, 200, 300, 400, 500, 600, 700}. Nếu không có, giá trị mặc định là 400. Nếu bạn chỉ định giá trị nào khác, giá trị mặc định sẽ được sử dụng.

Để xem trước các chế độ cài đặt biểu tượng khác nhau, hãy chuyển đến phần Biểu tượng phông chữ của Google rồi điều chỉnh chế độ cài đặt trong phần Tuỳ chỉnh.

grade

integer

Độ đậm và độ đậm ảnh hưởng đến độ dày của ký hiệu. Việc điều chỉnh điểm sẽ chi tiết hơn so với việc điều chỉnh trọng số và có tác động nhỏ đến kích thước của ký hiệu. Chọn trong số {-25, 0, 200}. Nếu không có, giá trị mặc định là 0. Nếu bạn chỉ định giá trị nào khác, giá trị mặc định sẽ được sử dụng.

Để xem trước các chế độ cài đặt biểu tượng khác nhau, hãy chuyển đến phần Biểu tượng phông chữ của Google rồi điều chỉnh chế độ cài đặt trong phần Tuỳ chỉnh.

DecoratedText

Một tiện ích hiển thị văn bản có các phần trang trí không bắt buộc, chẳng hạn như nhãn ở phía trên hoặc phía dưới văn bản, biểu tượng ở phía trước văn bản, tiện ích lựa chọn hoặc nút sau văn bản. Để xem ví dụ trong các ứng dụng Google Chat, hãy xem phần Hiển thị văn bản có văn bản trang trí.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "icon": {
    object (Icon)
  },
  "startIcon": {
    object (Icon)
  },
  "topLabel": string,
  "text": string,
  "wrapText": boolean,
  "bottomLabel": string,
  "onClick": {
    object (OnClick)
  },

  // Union field control can be only one of the following:
  "button": {
    object (Button)
  },
  "switchControl": {
    object (SwitchControl)
  },
  "endIcon": {
    object (Icon)
  }
  // End of list of possible types for union field control.
}
Trường
icon
(deprecated)

object (Icon)

Ngừng sử dụng và thay bằng startIcon.

startIcon

object (Icon)

Biểu tượng hiển thị trước văn bản.

topLabel

string

Văn bản xuất hiện phía trên text. Luôn cắt bớt.

text

string

Bắt buộc. Văn bản chính.

Hỗ trợ định dạng đơn giản. Để biết thêm thông tin về cách định dạng văn bản, hãy xem bài viết Định dạng văn bản trong ứng dụng Google ChatĐịnh dạng văn bản trong tiện ích bổ sung của Google Workspace.

wrapText

boolean

Chế độ cài đặt xuống dòng tự động. Nếu là true, văn bản sẽ xuống dòng và hiển thị trên nhiều dòng. Nếu không, văn bản sẽ bị cắt bớt.

Chỉ áp dụng cho text, không áp dụng cho topLabelbottomLabel.

bottomLabel

string

Văn bản xuất hiện bên dưới text. Luôn gói.

onClick

object (OnClick)

Thao tác này được kích hoạt khi người dùng nhấp vào topLabel hoặc bottomLabel.

Trường hợp hợp nhất control. Một nút, nút chuyển, hộp đánh dấu hoặc hình ảnh xuất hiện ở bên phải văn bản trong tiện ích decoratedText. control chỉ có thể là một trong những loại sau:
button

object (Button)

Một nút mà người dùng có thể nhấp vào để kích hoạt một hành động.

switchControl

object (SwitchControl)

Một tiện ích nút chuyển mà người dùng có thể nhấp vào để thay đổi trạng thái và kích hoạt một hành động.

endIcon

object (Icon)

Một biểu tượng xuất hiện sau văn bản.

Hỗ trợ biểu tượng tích hợptuỳ chỉnh.

Nút

Nút văn bản, biểu tượng hoặc văn bản và biểu tượng mà người dùng có thể nhấp vào. Để xem ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm nút.

Để biến hình ảnh thành một nút có thể nhấp, hãy chỉ định một Image (không phải ImageComponent) và đặt một thao tác onClick.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string,
  "type": enum (Type)
}
Trường
text

string

Văn bản hiển thị bên trong nút.

icon

object (Icon)

Một biểu tượng hiển thị bên trong nút. Nếu bạn đặt cả icontext, thì biểu tượng sẽ xuất hiện trước văn bản.

color

object (Color)

Không bắt buộc. Màu của nút. Nếu được đặt, nút type sẽ được đặt thành FILLED và màu của các trường texticon sẽ được đặt thành màu tương phản để dễ đọc. Ví dụ: nếu màu nút được đặt thành màu xanh dương, thì mọi văn bản hoặc biểu tượng trong nút đều được đặt thành màu trắng.

Để đặt màu nút, hãy chỉ định giá trị cho các trường red, greenblue. Giá trị này phải là số thực từ 0 đến 1 dựa trên giá trị màu RGB, trong đó 0 (0/255) thể hiện không có màu và 1 (255/255) thể hiện cường độ tối đa của màu.

Ví dụ: đoạn mã sau đây đặt màu thành đỏ ở cường độ tối đa:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Không có trường alpha cho màu nút. Nếu được chỉ định, trường này sẽ bị bỏ qua.

onClick

object (OnClick)

Bắt buộc. Thao tác cần thực hiện khi người dùng nhấp vào nút, chẳng hạn như mở siêu liên kết hoặc chạy một hàm tuỳ chỉnh.

disabled

boolean

Nếu là true, nút sẽ hiển thị ở trạng thái không hoạt động và không phản hồi thao tác của người dùng.

altText

string

Văn bản thay thế dùng cho tính năng hỗ trợ tiếp cận.

Đặt văn bản mô tả để người dùng biết chức năng của nút. Ví dụ: nếu một nút mở một siêu liên kết, bạn có thể viết: "Mở một thẻ trình duyệt mới và chuyển đến tài liệu dành cho nhà phát triển Google Chat tại https://developers.google.com/workspace/chat".

type

enum (Type)

Không bắt buộc. Loại nút. Nếu không được đặt, loại nút sẽ mặc định là OUTLINED. Nếu bạn đặt trường color, thì loại nút sẽ buộc phải là FILLED và mọi giá trị được đặt cho trường này sẽ bị bỏ qua.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Màu

Biểu thị một màu trong không gian màu RGBA. Cách trình bày này được thiết kế để đơn giản hoá việc chuyển đổi sang và từ các cách trình bày màu sắc bằng nhiều ngôn ngữ hơn là tính nhỏ gọn. Ví dụ: các trường của bản trình bày này có thể được cung cấp một cách dễ dàng cho hàm khởi tạo của java.awt.Color trong Java; cũng có thể được cung cấp một cách dễ dàng cho phương thức +colorWithRed:green:blue:alpha của UIColor trong iOS; và chỉ cần một chút thao tác, bạn có thể dễ dàng định dạng thành chuỗi rgba() CSS trong JavaScript.

Trang tham khảo này không có thông tin về không gian màu tuyệt đối cần dùng để diễn giải giá trị RGB, ví dụ: sRGB, Adobe RGB, DCI-P3 và BT.2020. Theo mặc định, các ứng dụng phải giả định không gian màu sRGB.

Khi cần quyết định tính chất bằng nhau của màu sắc, các phương thức triển khai, trừ phi được ghi nhận khác, sẽ coi hai màu là bằng nhau nếu tất cả giá trị đỏ, xanh lục, xanh lam và alpha của chúng khác nhau tối đa là 1e-5.

Ví dụ (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Ví dụ (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Ví dụ (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Biểu diễn dưới dạng JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Trường
red

number

Lượng màu đỏ trong màu dưới dạng giá trị trong khoảng [0, 1].

green

number

Lượng màu xanh lục trong màu dưới dạng giá trị trong khoảng [0, 1].

blue

number

Lượng màu xanh dương trong màu dưới dạng giá trị trong khoảng [0, 1].

alpha

number

Phần màu này sẽ được áp dụng cho pixel. Tức là màu pixel cuối cùng được xác định bằng phương trình:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Điều này có nghĩa là giá trị 1.0 tương ứng với màu đồng nhất, trong khi giá trị 0.0 tương ứng với màu hoàn toàn trong suốt. Phương thức này sử dụng thông báo trình bao bọc thay vì một đại lượng vô hướng float đơn giản để có thể phân biệt giữa giá trị mặc định và giá trị chưa được đặt. Nếu bị bỏ qua, đối tượng màu này sẽ được kết xuất dưới dạng màu đồng nhất (như thể giá trị alpha đã được chỉ định rõ ràng là 1.0).

Loại

Không bắt buộc. Loại của nút. Nếu bạn đặt trường color, thì type sẽ buộc phải là FILLED.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Enum
TYPE_UNSPECIFIED Không sử dụng. Không xác định.
OUTLINED Nút có đường viền là nút có mức độ nhấn mạnh trung bình. Các nút này thường chứa các thao tác quan trọng nhưng không phải là thao tác chính trong ứng dụng Chat hoặc tiện ích bổ sung.
FILLED Nút được tô màu có vùng chứa có màu đồng nhất. Kiểu này có tác động trực quan nhất và được đề xuất cho thao tác quan trọng và chính trong ứng dụng Chat hoặc tiện ích bổ sung.
FILLED_TONAL Nút có màu sắc được tô đầy là một giải pháp thay thế trung gian giữa nút được tô màu và nút được viền. Các nút này hữu ích trong bối cảnh mà một nút có mức độ ưu tiên thấp hơn cần được nhấn mạnh hơn một chút so với nút đường viền.
BORDERLESS Nút không có vùng chứa ẩn ở trạng thái mặc định. Thẻ này thường được dùng cho các thao tác có mức độ ưu tiên thấp nhất, đặc biệt là khi trình bày nhiều tuỳ chọn.

SwitchControl

Một nút chuyển kiểu bật/tắt hoặc một hộp đánh dấu bên trong tiện ích decoratedText.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Chỉ được hỗ trợ trong tiện ích decoratedText.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Trường
name

string

Tên dùng để xác định tiện ích nút chuyển trong một sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

value

string

Giá trị do người dùng nhập, được trả về trong một sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

selected

boolean

Khi true, nút chuyển sẽ được chọn.

onChangeAction

object (Action)

Thao tác cần thực hiện khi trạng thái của nút chuyển thay đổi, chẳng hạn như hàm cần chạy.

controlType

enum (ControlType)

Cách nút chuyển xuất hiện trong giao diện người dùng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

ControlType

Cách nút chuyển xuất hiện trong giao diện người dùng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
SWITCH Nút chuyển kiểu bật/tắt.
CHECKBOX Ngừng sử dụng và thay bằng CHECK_BOX.
CHECK_BOX Hộp đánh dấu.

ButtonList

Danh sách các nút được sắp xếp theo chiều ngang. Để xem ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm nút.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Trường
buttons[]

object (Button)

Một mảng các nút.

TextInput

Một trường mà người dùng có thể nhập văn bản. Hỗ trợ các đề xuất và hành động khi thay đổi. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm trường mà người dùng có thể nhập văn bản.

Ứng dụng trò chuyện nhận và có thể xử lý giá trị của văn bản đã nhập trong các sự kiện nhập dữ liệu vào biểu mẫu. Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

Khi bạn cần thu thập dữ liệu chưa xác định hoặc trừu tượng từ người dùng, hãy sử dụng phương thức nhập văn bản. Để thu thập dữ liệu đã xác định hoặc được liệt kê từ người dùng, hãy sử dụng tiện ích SelectionInput.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "label": string,
  "hintText": string,
  "value": string,
  "type": enum (Type),
  "onChangeAction": {
    object (Action)
  },
  "initialSuggestions": {
    object (Suggestions)
  },
  "autoCompleteAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  },
  "placeholderText": string
}
Trường
name

string

Tên dùng để xác định hoạt động nhập văn bản trong một sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

label

string

Văn bản xuất hiện phía trên trường nhập văn bản trong giao diện người dùng.

Chỉ định văn bản giúp người dùng nhập thông tin mà ứng dụng của bạn cần. Ví dụ: nếu bạn đang hỏi tên của một người nhưng cần cụ thể họ của người đó, hãy viết surname thay vì name.

Bắt buộc nếu bạn không chỉ định hintText. Nếu không, không bắt buộc.

hintText

string

Văn bản xuất hiện bên dưới trường nhập văn bản nhằm hỗ trợ người dùng bằng cách nhắc họ nhập một giá trị nhất định. Văn bản này luôn hiển thị.

Bắt buộc nếu bạn không chỉ định label. Nếu không, không bắt buộc.

value

string

Giá trị do người dùng nhập, được trả về trong một sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

type

enum (Type)

Cách trường nhập văn bản xuất hiện trong giao diện người dùng. Ví dụ: trường là một dòng hay nhiều dòng.

onChangeAction

object (Action)

Việc cần làm khi có thay đổi trong trường nhập văn bản. Ví dụ: người dùng thêm vào trường hoặc xoá văn bản.

Ví dụ về các hành động cần thực hiện bao gồm chạy một hàm tuỳ chỉnh hoặc mở một hộp thoại trong Google Chat.

initialSuggestions

object (Suggestions)

Giá trị đề xuất mà người dùng có thể nhập. Các giá trị này xuất hiện khi người dùng nhấp vào bên trong trường nhập văn bản. Khi người dùng nhập, các giá trị đề xuất sẽ tự động lọc để khớp với nội dung mà người dùng đã nhập.

Ví dụ: trường nhập văn bản cho ngôn ngữ lập trình có thể đề xuất Java, JavaScript, Python và C++. Khi người dùng bắt đầu nhập Jav, danh sách đề xuất sẽ lọc để chỉ hiển thị JavaJavaScript.

Giá trị được đề xuất giúp hướng dẫn người dùng nhập những giá trị mà ứng dụng của bạn có thể hiểu được. Khi tham chiếu đến JavaScript, một số người dùng có thể nhập javascript và một số người dùng khác java script. Việc đề xuất JavaScript có thể chuẩn hoá cách người dùng tương tác với ứng dụng của bạn.

Khi được chỉ định, TextInput.type luôn là SINGLE_LINE, ngay cả khi được đặt thành MULTIPLE_LINE.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

autoCompleteAction

object (Action)

Không bắt buộc. Chỉ định hành động cần thực hiện khi trường nhập văn bản đưa ra đề xuất cho những người dùng tương tác với trường đó.

Nếu không chỉ định, các đề xuất sẽ do initialSuggestions đặt và được ứng dụng xử lý.

Nếu được chỉ định, ứng dụng sẽ thực hiện hành động được chỉ định tại đây, chẳng hạn như chạy một hàm tuỳ chỉnh.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

validation

object (Validation)

Chỉ định quy trình xác thực cần thiết cho trường nhập văn bản này.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

placeholderText

string

Văn bản xuất hiện trong trường nhập văn bản khi trường này trống. Sử dụng văn bản này để nhắc người dùng nhập một giá trị. Ví dụ: Enter a number from 0 to 100.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Loại

Cách trường nhập văn bản xuất hiện trong giao diện người dùng. Ví dụ: đó là trường nhập một dòng hay nhiều dòng. Nếu bạn chỉ định initialSuggestions, thì type luôn là SINGLE_LINE, ngay cả khi bạn đặt thành MULTIPLE_LINE.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
SINGLE_LINE Trường nhập văn bản có chiều cao cố định là một dòng.
MULTIPLE_LINE Trường nhập văn bản có chiều cao cố định là nhiều dòng.

RenderActions

Một tập hợp hướng dẫn kết xuất cho thẻ thực hiện một hành động hoặc cho ứng dụng lưu trữ tiện ích bổ sung hoặc ứng dụng Chat thực hiện một hành động dành riêng cho ứng dụng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Trường
action

Action

Hành động

Trường
navigations[]

Navigation

Đẩy, bật lên hoặc cập nhật thẻ.

Bản dùng thử cho nhà phát triển: Tiện ích bổ sung trong Google Chat.

Thêm một thẻ mới vào ngăn xếp (chuyển tiếp). Đối với ứng dụng Chat, chỉ có trên màn hình chính của ứng dụng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

navigations: {
  pushCard: CARD
}

Thay thế thẻ trên cùng bằng một thẻ mới. Đối với ứng dụng Chat, chỉ có trên màn hình chính của ứng dụng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

navigations: {
  updateCard: CARD
}

Nội dung đề xuất

Giá trị đề xuất mà người dùng có thể nhập. Các giá trị này xuất hiện khi người dùng nhấp vào bên trong trường nhập văn bản. Khi người dùng nhập, các giá trị đề xuất sẽ tự động lọc để khớp với nội dung mà người dùng đã nhập.

Ví dụ: trường nhập văn bản cho ngôn ngữ lập trình có thể đề xuất Java, JavaScript, Python và C++. Khi người dùng bắt đầu nhập Jav, danh sách đề xuất sẽ lọc để hiển thị JavaJavaScript.

Giá trị được đề xuất giúp hướng dẫn người dùng nhập những giá trị mà ứng dụng của bạn có thể hiểu được. Khi tham chiếu đến JavaScript, một số người dùng có thể nhập javascript và một số người dùng khác có thể nhập java script. Việc đề xuất JavaScript có thể chuẩn hoá cách người dùng tương tác với ứng dụng của bạn.

Khi được chỉ định, TextInput.type luôn là SINGLE_LINE, ngay cả khi được đặt thành MULTIPLE_LINE.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Trường
items[]

object (SuggestionItem)

Danh sách các đề xuất được dùng cho tính năng đề xuất tự động hoàn thành trong các trường nhập văn bản.

SuggestionItem

Một giá trị đề xuất mà người dùng có thể nhập vào trường nhập văn bản.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field content can be only one of the following:
  "text": string
  // End of list of possible types for union field content.
}
Trường

Trường hợp hợp nhất content.

content chỉ có thể là một trong những loại sau:

text

string

Giá trị của dữ liệu đầu vào được đề xuất cho trường nhập văn bản. Giá trị này tương đương với giá trị mà người dùng tự nhập.

Xác thực

Biểu thị dữ liệu cần thiết để xác thực tiện ích được đính kèm.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
Trường
characterLimit

integer

Chỉ định giới hạn ký tự cho các tiện ích nhập văn bản. Xin lưu ý rằng thuộc tính này chỉ dùng để nhập văn bản và bị bỏ qua đối với các tiện ích khác.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

inputType

enum (InputType)

Chỉ định loại tiện ích đầu vào.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

InputType

Loại tiện ích đầu vào.

Enum
INPUT_TYPE_UNSPECIFIED Loại không xác định. Không được dùng.
TEXT Văn bản thông thường chấp nhận tất cả ký tự.
INTEGER Giá trị số nguyên.
FLOAT Giá trị float.
EMAIL Địa chỉ email.
EMOJI_PICKER Một biểu tượng cảm xúc được chọn trong bộ chọn biểu tượng cảm xúc do hệ thống cung cấp.

SelectionInput

Một tiện ích tạo một hoặc nhiều mục trên giao diện người dùng mà người dùng có thể chọn. Ví dụ: trình đơn thả xuống hoặc hộp đánh dấu. Bạn có thể sử dụng tiện ích này để thu thập dữ liệu có thể dự đoán hoặc liệt kê. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm các thành phần trên giao diện người dùng có thể chọn.

Ứng dụng nhắn tin có thể xử lý giá trị của các mục mà người dùng chọn hoặc nhập. Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

Để thu thập dữ liệu không xác định hoặc trừu tượng từ người dùng, hãy sử dụng tiện ích TextInput.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  },
  "multiSelectMaxSelectedItems": integer,
  "multiSelectMinQueryLength": integer,
  "validation": {
    object (Validation)
  },

  // Union field multi_select_data_source can be only one of the following:
  "externalDataSource": {
    object (Action)
  },
  "platformDataSource": {
    object (PlatformDataSource)
  }
  // End of list of possible types for union field multi_select_data_source.
}
Trường
name

string

Bắt buộc. Tên xác định dữ liệu đầu vào được chọn trong sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

label

string

Văn bản xuất hiện phía trên trường nhập lựa chọn trong giao diện người dùng.

Chỉ định văn bản giúp người dùng nhập thông tin mà ứng dụng của bạn cần. Ví dụ: nếu người dùng đang chọn mức độ khẩn cấp của phiếu yêu cầu hỗ trợ từ trình đơn thả xuống, thì nhãn có thể là "Mức độ khẩn cấp" hoặc "Chọn mức độ khẩn cấp".

type

enum (SelectionType)

Loại mục hiển thị cho người dùng trong tiện ích SelectionInput. Các loại lựa chọn hỗ trợ nhiều loại tương tác. Ví dụ: người dùng có thể chọn một hoặc nhiều hộp đánh dấu, nhưng họ chỉ có thể chọn một giá trị trong trình đơn thả xuống.

items[]

object (SelectionItem)

Một mảng chứa các mục có thể chọn. Ví dụ: một mảng các nút chọn hoặc hộp đánh dấu. Hỗ trợ tối đa 100 mục.

onChangeAction

object (Action)

Nếu được chỉ định, biểu mẫu sẽ được gửi khi lựa chọn thay đổi. Nếu không chỉ định, bạn phải chỉ định một nút riêng để gửi biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

multiSelectMaxSelectedItems

integer

Đối với trình đơn đa lựa chọn, số lượng mục tối đa mà người dùng có thể chọn. Giá trị tối thiểu là 1 mặt hàng. Nếu không được chỉ định, giá trị mặc định là 3 mục.

multiSelectMinQueryLength

integer

Đối với trình đơn đa lựa chọn, số ký tự văn bản mà người dùng nhập trước khi trình đơn trả về các mục lựa chọn được đề xuất.

Nếu bạn không đặt giá trị, trình đơn chọn nhiều mục sẽ sử dụng các giá trị mặc định sau:

  • Nếu trình đơn sử dụng một mảng tĩnh của các mục SelectionInput, thì mặc định là 0 ký tự và điền ngay các mục từ mảng.
  • Nếu trình đơn sử dụng nguồn dữ liệu động (multi_select_data_source), thì mặc định là 3 ký tự trước khi truy vấn nguồn dữ liệu để trả về các mục được đề xuất.
validation

object (Validation)

Đối với trình đơn thả xuống, quy trình xác thực cho trường nhập lựa chọn này.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Trường hợp hợp nhất multi_select_data_source. Đối với trình đơn chọn nhiều mục, nguồn dữ liệu sẽ tự động điền các mục lựa chọn.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace. multi_select_data_source chỉ có thể là một trong những loại sau:

externalDataSource

object (Action)

Nguồn dữ liệu bên ngoài, chẳng hạn như cơ sở dữ liệu quan hệ.

platformDataSource

object (PlatformDataSource)

Nguồn dữ liệu từ Google Workspace.

SelectionType

Định dạng cho các mục mà người dùng có thể chọn. Các tuỳ chọn khác nhau hỗ trợ các loại tương tác khác nhau. Ví dụ: người dùng có thể chọn nhiều hộp đánh dấu, nhưng chỉ có thể chọn một mục trong trình đơn thả xuống.

Mỗi phương thức nhập lựa chọn hỗ trợ một loại lựa chọn. Ví dụ: không hỗ trợ việc kết hợp hộp đánh dấu và nút chuyển.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
CHECK_BOX Một tập hợp hộp đánh dấu. Người dùng có thể chọn một hoặc nhiều hộp đánh dấu.
RADIO_BUTTON Một nhóm nút chọn. Người dùng có thể chọn một nút chọn.
SWITCH Một tập hợp các nút chuyển. Người dùng có thể bật một hoặc nhiều nút chuyển.
DROPDOWN Một trình đơn thả xuống. Người dùng có thể chọn một mục trong trình đơn.
MULTI_SELECT

Một trình đơn có hộp văn bản. Người dùng có thể nhập và chọn một hoặc nhiều mục.

Đối với Tiện ích bổ sung của Google Workspace, bạn phải điền các mục bằng cách sử dụng một mảng tĩnh của các đối tượng SelectionItem.

Đối với ứng dụng Google Chat, bạn cũng có thể điền các mục bằng cách sử dụng nguồn dữ liệu động và các mục gợi ý tự động khi người dùng nhập vào trình đơn. Ví dụ: người dùng có thể bắt đầu nhập tên của một phòng Google Chat và tiện ích sẽ tự động đề xuất phòng đó. Để tự động điền các mục cho trình đơn đa lựa chọn, hãy sử dụng một trong các loại nguồn dữ liệu sau:

  • Dữ liệu Google Workspace: Các mục được điền bằng dữ liệu từ Google Workspace, chẳng hạn như người dùng Google Workspace hoặc không gian Google Chat.
  • Dữ liệu bên ngoài: Các mục được điền từ một nguồn dữ liệu bên ngoài Google Workspace.

Để xem ví dụ về cách triển khai trình đơn chọn nhiều mục cho ứng dụng Chat, hãy xem phần Thêm trình đơn chọn nhiều mục.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

SelectionItem

Một mục mà người dùng có thể chọn trong dữ liệu đầu vào lựa chọn, chẳng hạn như hộp đánh dấu hoặc nút chuyển. Hỗ trợ tối đa 100 mục.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Trường
text

string

Văn bản giúp người dùng xác định hoặc mô tả mặt hàng.

value

string

Giá trị được liên kết với mục này. Ứng dụng khách nên sử dụng giá trị này làm giá trị nhập vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

selected

boolean

Liệu mục đó có được chọn theo mặc định hay không. Nếu dữ liệu đầu vào lựa chọn chỉ chấp nhận một giá trị (chẳng hạn như đối với nút chọn hoặc trình đơn thả xuống), hãy chỉ đặt trường này cho một mục.

startIconUri

string

Đối với trình đơn đa lựa chọn, URL của biểu tượng sẽ hiển thị bên cạnh trường text của mục. Hỗ trợ tệp PNG và JPEG. Phải là một URL HTTPS. Ví dụ: https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

Đối với trình đơn nhiều lựa chọn, một nhãn hoặc nội dung mô tả văn bản sẽ hiển thị bên dưới trường text của mục.

PlatformDataSource

Đối với tiện ích SelectionInput sử dụng trình đơn nhiều lựa chọn, một nguồn dữ liệu từ Google Workspace. Dùng để điền các mục trong trình đơn nhiều lựa chọn.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field data_source can be only one of the following:
  "commonDataSource": enum (CommonDataSource),
  "hostAppDataSource": {
    object (HostAppDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Trường
Trường hợp hợp nhất data_source. Nguồn dữ liệu. data_source chỉ có thể là một trong những loại sau:
commonDataSource

enum (CommonDataSource)

Một nguồn dữ liệu được tất cả ứng dụng Google Workspace dùng chung, chẳng hạn như người dùng trong một tổ chức Google Workspace.

hostAppDataSource

object (HostAppDataSourceMarkup)

Một nguồn dữ liệu dành riêng cho ứng dụng lưu trữ Google Workspace, chẳng hạn như các không gian trong Google Chat.

Trường này hỗ trợ Thư viện ứng dụng API của Google nhưng không có trong Thư viện ứng dụng trên đám mây. Để tìm hiểu thêm, hãy xem phần Cài đặt thư viện ứng dụng.

CommonDataSource

Một nguồn dữ liệu được tất cả ứng dụng Google Workspace chia sẻ.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Enum
UNKNOWN Giá trị mặc định. Không sử dụng.
USER Người dùng Google Workspace. Người dùng chỉ có thể xem và chọn người dùng trong tổ chức Google Workspace của họ.

HostAppDataSourceMarkup

Đối với tiện ích SelectionInput sử dụng trình đơn nhiều lựa chọn, nguồn dữ liệu từ một ứng dụng Google Workspace. Nguồn dữ liệu sẽ điền các mục lựa chọn cho trình đơn nhiều lựa chọn.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field data_source can be only one of the following:
  "chatDataSource": {
    object (ChatClientDataSourceMarkup)
  }
  // End of list of possible types for union field data_source.
}
Trường
Trường hợp hợp nhất data_source. Ứng dụng Google Workspace điền sẵn các mục cho trình đơn nhiều lựa chọn. data_source chỉ có thể là một trong những loại sau:
chatDataSource

object (ChatClientDataSourceMarkup)

Nguồn dữ liệu từ Google Chat.

ChatClientDataSourceMarkup

Đối với tiện ích SelectionInput sử dụng trình đơn nhiều lựa chọn, một nguồn dữ liệu từ Google Chat. Nguồn dữ liệu sẽ điền các mục lựa chọn cho trình đơn nhiều lựa chọn. Ví dụ: người dùng có thể chọn những không gian Google Chat mà họ là thành viên.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Trường
Trường hợp hợp nhất source. Nguồn dữ liệu Google Chat. source chỉ có thể là một trong những loại sau:
spaceDataSource

object (SpaceDataSource)

Các không gian trên Google Chat mà người dùng là thành viên.

SpaceDataSource

Nguồn dữ liệu điền sẵn các không gian trên Google Chat làm mục lựa chọn cho trình đơn nhiều lựa chọn. Chỉ điền những không gian mà người dùng là thành viên.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "defaultToCurrentSpace": boolean
}
Trường
defaultToCurrentSpace

boolean

Nếu được đặt thành true, trình đơn chọn nhiều mục sẽ chọn không gian Google Chat hiện tại làm một mục theo mặc định.

DateTimePicker

Cho phép người dùng nhập ngày, giờ hoặc cả ngày và giờ. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Cho phép người dùng chọn ngày và giờ.

Người dùng có thể nhập văn bản hoặc sử dụng bộ chọn để chọn ngày và giờ. Nếu người dùng nhập ngày hoặc giờ không hợp lệ, bộ chọn sẽ hiển thị lỗi nhắc người dùng nhập thông tin chính xác.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  }
}
Trường
name

string

Tên nhận dạng DateTimePicker trong sự kiện nhập dữ liệu vào biểu mẫu.

Để biết thông tin chi tiết về cách xử lý dữ liệu đầu vào của biểu mẫu, hãy xem phần Nhận dữ liệu biểu mẫu.

label

string

Văn bản nhắc người dùng nhập ngày, giờ hoặc ngày và giờ. Ví dụ: nếu người dùng đang lên lịch hẹn, hãy sử dụng nhãn như Appointment date hoặc Appointment date and time.

type

enum (DateTimePickerType)

Tiện ích có hỗ trợ nhập ngày, giờ hoặc ngày và giờ hay không.

valueMsEpoch

string (int64 format)

Giá trị mặc định hiển thị trong tiện ích, tính bằng mili giây kể từ thời gian bắt đầu của hệ thống Unix.

Chỉ định giá trị dựa trên loại bộ chọn (DateTimePickerType):

  • DATE_AND_TIME: ngày và giờ theo lịch theo giờ UTC. Ví dụ: để biểu thị ngày 1 tháng 1 năm 2023 lúc 12:00 trưa theo giờ UTC, hãy sử dụng 1672574400000.
  • DATE_ONLY: ngày theo lịch lúc 00:00:00 (giờ UTC). Ví dụ: để biểu thị ngày 1 tháng 1 năm 2023, hãy sử dụng 1672531200000.
  • TIME_ONLY: thời gian theo giờ UTC. Ví dụ: để biểu thị 12:00 trưa, hãy sử dụng 43200000 (hoặc 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Số biểu thị độ lệch múi giờ so với giờ UTC, tính bằng phút. Nếu được đặt, valueMsEpoch sẽ hiển thị theo múi giờ đã chỉ định. Nếu bạn không đặt giá trị này, giá trị mặc định sẽ là chế độ cài đặt múi giờ của người dùng.

onChangeAction

object (Action)

Được kích hoạt khi người dùng nhấp vào Lưu hoặc Xoá trên giao diện DateTimePicker.

validation

object (Validation)

Không bắt buộc. Chỉ định quy trình xác thực bắt buộc cho bộ chọn ngày giờ này.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

DateTimePickerType

Định dạng ngày và giờ trong tiện ích DateTimePicker. Xác định xem người dùng có thể nhập ngày, giờ hay cả ngày và giờ hay không.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
DATE_AND_TIME Người dùng nhập ngày và giờ.
DATE_ONLY Người dùng nhập một ngày.
TIME_ONLY Người dùng nhập thời gian.

Dải phân cách

Loại này không có trường nào.

Hiển thị một đường phân chia giữa các tiện ích dưới dạng một đường ngang. Để xem ví dụ trong ứng dụng Google Chat, hãy xem phần Thêm đường phân chia ngang giữa các tiện ích.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Ví dụ: JSON sau đây tạo một đường phân cách:

"divider": {}

Lưới

Hiển thị một lưới có một bộ sưu tập các mục. Mục chỉ có thể chứa văn bản hoặc hình ảnh. Đối với các cột thích ứng hoặc để thêm nhiều nội dung hơn là văn bản hoặc hình ảnh, hãy sử dụng Columns. Để xem ví dụ trong ứng dụng Google Chat, hãy xem phần Hiển thị Lưới có một tập hợp các mục.

Lưới hỗ trợ số lượng cột và mục bất kỳ. Số hàng được xác định bằng cách lấy số mục chia cho số cột. Một lưới có 10 mục và 2 cột sẽ có 5 hàng. Một lưới có 11 mục và 2 cột sẽ có 6 hàng.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Ví dụ: JSON sau đây tạo một lưới 2 cột với một mục duy nhất:

"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"
    }
  }
}
Biểu diễn dưới dạng JSON
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Trường
title

string

Văn bản hiển thị trong tiêu đề lưới.

items[]

object (GridItem)

Các mục sẽ hiển thị trong lưới.

borderStyle

object (BorderStyle)

Kiểu đường viền để áp dụng cho từng mục trong lưới.

columnCount

integer

Số lượng cột cần hiển thị trong lưới. Giá trị mặc định sẽ được sử dụng nếu bạn không chỉ định trường này và giá trị mặc định đó sẽ khác nhau tuỳ thuộc vào vị trí hiển thị lưới (hộp thoại so với đồng hành).

onClick

object (OnClick)

Mỗi mục lưới riêng lẻ sẽ sử dụng lại lệnh gọi lại này, nhưng với giá trị nhận dạng và chỉ mục của mục trong danh sách mục được thêm vào các tham số của lệnh gọi lại.

GridItem

Biểu thị một mục trong bố cục lưới. Mục có thể chứa văn bản, hình ảnh hoặc cả văn bản và hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Trường
id

string

Giá trị nhận dạng do người dùng chỉ định cho mục lưới này. Giá trị nhận dạng này được trả về trong các tham số gọi lại onClick của lưới mẹ.

image

object (ImageComponent)

Hình ảnh hiển thị trong mục lưới.

title

string

Tiêu đề của mục lưới.

subtitle

string

Phụ đề của mục lưới.

layout

enum (GridItemLayout)

Bố cục để sử dụng cho mục trong lưới.

ImageComponent

Đại diện cho một hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Trường
imageUri

string

URL của hình ảnh.

altText

string

Nhãn hỗ trợ tiếp cận cho hình ảnh.

cropStyle

object (ImageCropStyle)

Kiểu cắt sẽ áp dụng cho hình ảnh.

borderStyle

object (BorderStyle)

Kiểu đường viền để áp dụng cho hình ảnh.

ImageCropStyle

Đại diện cho kiểu cắt được áp dụng cho hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Ví dụ: sau đây là cách áp dụng tỷ lệ khung hình 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Biểu diễn dưới dạng JSON
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Trường
type

enum (ImageCropType)

Loại cắt.

aspectRatio

number

Tỷ lệ khung hình cần sử dụng nếu loại ảnh cắt là RECTANGLE_CUSTOM.

Ví dụ: sau đây là cách áp dụng tỷ lệ khung hình 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}

ImageCropType

Đại diện cho kiểu cắt được áp dụng cho hình ảnh.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
IMAGE_CROP_TYPE_UNSPECIFIED Không sử dụng. Không xác định.
SQUARE Giá trị mặc định. Áp dụng kiểu cắt hình vuông.
CIRCLE Áp dụng thao tác cắt hình tròn.
RECTANGLE_CUSTOM Áp dụng kiểu cắt hình chữ nhật có tỷ lệ khung hình tuỳ chỉnh. Đặt tỷ lệ khung hình tuỳ chỉnh bằng aspectRatio.
RECTANGLE_4_3 Áp dụng kiểu cắt hình chữ nhật theo tỷ lệ khung hình 4:3.

BorderStyle

Các tuỳ chọn kiểu cho đường viền của thẻ hoặc tiện ích, bao gồm cả loại đường viền và màu sắc.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Trường
type

enum (BorderType)

Loại đường viền.

strokeColor

object (Color)

Màu sắc cần sử dụng khi loại là BORDER_TYPE_STROKE.

Để đặt màu nét vẽ, hãy chỉ định giá trị cho các trường red, greenblue. Giá trị này phải là số thực từ 0 đến 1 dựa trên giá trị màu RGB, trong đó 0 (0/255) thể hiện không có màu và 1 (255/255) thể hiện cường độ tối đa của màu.

Ví dụ: đoạn mã sau đây đặt màu thành đỏ ở cường độ tối đa:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
}

Trường alpha không dùng được cho màu nét vẽ. Nếu được chỉ định, trường này sẽ bị bỏ qua.

cornerRadius

integer

Bán kính góc cho đường viền.

BorderType

Biểu thị các loại đường viền áp dụng cho tiện ích.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
BORDER_TYPE_UNSPECIFIED Không sử dụng. Không xác định.
NO_BORDER Giá trị mặc định. Không có đường viền.
STROKE Đường viền.

GridItemLayout

Biểu thị nhiều tuỳ chọn bố cục có sẵn cho một mục lưới.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
GRID_ITEM_LAYOUT_UNSPECIFIED Không sử dụng. Không xác định.
TEXT_BELOW Tiêu đề và phụ đề xuất hiện bên dưới hình ảnh của mục trong lưới.
TEXT_ABOVE Tiêu đề và phụ đề xuất hiện phía trên hình ảnh của mục lưới.

Cột

Tiện ích Columns hiển thị tối đa 2 cột trong một thẻ hoặc hộp thoại. Bạn có thể thêm tiện ích vào từng cột; các tiện ích sẽ xuất hiện theo thứ tự được chỉ định. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Hiển thị thẻ và hộp thoại trong cột.

Chiều cao của mỗi cột được xác định bởi cột cao hơn. Ví dụ: nếu cột đầu tiên cao hơn cột thứ hai, thì cả hai cột đều có chiều cao bằng cột đầu tiên. Vì mỗi cột có thể chứa số lượng tiện ích khác nhau, nên bạn không thể xác định hàng hoặc căn chỉnh tiện ích giữa các cột.

Các cột hiển thị cạnh nhau. Bạn có thể tuỳ chỉnh chiều rộng của từng cột bằng cách sử dụng trường HorizontalSizeStyle. Nếu chiều rộng màn hình của người dùng quá hẹp, cột thứ hai sẽ cuộn xuống bên dưới cột đầu tiên:

  • Trên web, cột thứ hai sẽ tự ngắt dòng nếu chiều rộng màn hình nhỏ hơn hoặc bằng 480 pixel.
  • Trên thiết bị iOS, cột thứ hai sẽ tự động xuống dòng nếu chiều rộng màn hình nhỏ hơn hoặc bằng 300 pt.
  • Trên thiết bị Android, cột thứ hai sẽ cuộn nếu chiều rộng màn hình nhỏ hơn hoặc bằng 320 dp.

Để thêm nhiều cột hoặc sử dụng hàng, hãy sử dụng tiện ích Grid.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace. Các giao diện người dùng bổ sung hỗ trợ cột bao gồm:

  • Hộp thoại hiển thị khi người dùng mở tiện ích bổ sung từ một email nháp.
  • Hộp thoại hiển thị khi người dùng mở tiện ích bổ sung từ trình đơn Thêm tệp đính kèm trong một sự kiện trên Lịch Google.
Biểu diễn dưới dạng JSON
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Trường
columnItems[]

object (Column)

Một mảng cột. Bạn có thể thêm tối đa 2 cột trong một thẻ hoặc hộp thoại.

Cột

Một cột.

Tiện ích bổ sung và ứng dụng Chat của Google Workspace

Biểu diễn dưới dạng JSON
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Trường
horizontalSizeStyle

enum (HorizontalSizeStyle)

Chỉ định cách một cột lấp đầy chiều rộng của thẻ.

horizontalAlignment

enum (HorizontalAlignment)

Chỉ định việc các tiện ích có căn chỉnh sang trái, phải hay giữa cột hay không.

verticalAlignment

enum (VerticalAlignment)

Chỉ định xem các tiện ích có căn chỉnh với đầu, cuối hay giữa cột hay không.

widgets[]

object (Widgets)

Một mảng các tiện ích có trong một cột. Các tiện ích sẽ xuất hiện theo thứ tự được chỉ định.

HorizontalSizeStyle

Chỉ định cách một cột lấp đầy chiều rộng của thẻ. Chiều rộng của mỗi cột phụ thuộc vào cả HorizontalSizeStyle và chiều rộng của các tiện ích trong cột.

Tiện ích bổ sung và ứng dụng Chat của Google Workspace

Enum
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Không sử dụng. Không xác định.
FILL_AVAILABLE_SPACE Giá trị mặc định. Cột lấp đầy không gian có sẵn, tối đa 70% chiều rộng của thẻ. Nếu cả hai cột đều được đặt thành FILL_AVAILABLE_SPACE, thì mỗi cột sẽ lấp đầy 50% không gian.
FILL_MINIMUM_SPACE Cột lấp đầy ít không gian nhất có thể và không quá 30% chiều rộng của thẻ.

HorizontalAlignment

Chỉ định việc các tiện ích có căn chỉnh sang trái, phải hay giữa cột hay không.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Enum
HORIZONTAL_ALIGNMENT_UNSPECIFIED Không sử dụng. Không xác định.
START Giá trị mặc định. Căn chỉnh các tiện ích với vị trí bắt đầu của cột. Đối với bố cục từ trái sang phải, hãy căn chỉnh sang trái. Đối với bố cục từ phải sang trái, hãy căn chỉnh sang phải.
CENTER Căn chỉnh các tiện ích vào chính giữa cột.
END Căn chỉnh các tiện ích với vị trí cuối cột. Đối với bố cục từ trái sang phải, hãy căn chỉnh các tiện ích về bên phải. Đối với bố cục từ phải sang trái, hãy căn chỉnh các tiện ích sang trái.

VerticalAlignment

Chỉ định xem các tiện ích có căn chỉnh với đầu, cuối hay giữa cột hay không.

Tiện ích bổ sung và ứng dụng Chat của Google Workspace

Enum
VERTICAL_ALIGNMENT_UNSPECIFIED Không sử dụng. Không xác định.
CENTER Giá trị mặc định. Căn chỉnh các tiện ích vào chính giữa cột.
TOP Căn chỉnh các tiện ích ở đầu cột.
BOTTOM Căn chỉnh các tiện ích ở cuối cột.

Tiện ích

Các tiện ích được hỗ trợ mà bạn có thể đưa vào một cột.

Tiện ích bổ sung và ứng dụng Chat của Google Workspace

Biểu diễn dưới dạng JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "image": {
    object (Image)
  },
  "decoratedText": {
    object (DecoratedText)
  },
  "buttonList": {
    object (ButtonList)
  },
  "textInput": {
    object (TextInput)
  },
  "selectionInput": {
    object (SelectionInput)
  },
  "dateTimePicker": {
    object (DateTimePicker)
  },
  "chipList": {
    object (ChipList)
  }
  // End of list of possible types for union field data.
}
Trường

Trường hợp hợp nhất data.

data chỉ có thể là một trong những loại sau:

textParagraph

object (TextParagraph)

Tiện ích TextParagraph.

image

object (Image)

Tiện ích Image.

decoratedText

object (DecoratedText)

Tiện ích DecoratedText.

buttonList

object (ButtonList)

Tiện ích ButtonList.

textInput

object (TextInput)

Tiện ích TextInput.

selectionInput

object (SelectionInput)

Tiện ích SelectionInput.

dateTimePicker

object (DateTimePicker)

Tiện ích DateTimePicker.

chipList

object (ChipList)

Tiện ích ChipList. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

ChipList

Danh sách các khối được bố trí theo chiều ngang, có thể cuộn theo chiều ngang hoặc chuyển sang dòng tiếp theo.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "layout": enum (Layout),
  "chips": [
    {
      object (Chip)
    }
  ]
}
Trường
layout

enum (Layout)

Bố cục danh sách khối đã chỉ định.

chips[]

object (Chip)

Một mảng khối.

Bố cục

Bố cục danh sách khối.

Enum
LAYOUT_UNSPECIFIED Không sử dụng. Không xác định.
WRAPPED Giá trị mặc định. Danh sách khối sẽ chuyển xuống dòng tiếp theo nếu không có đủ không gian theo chiều ngang.
HORIZONTAL_SCROLLABLE Các khối sẽ cuộn theo chiều ngang nếu không vừa với không gian có sẵn.

Khối

Văn bản, biểu tượng hoặc khối văn bản và biểu tượng mà người dùng có thể nhấp vào.

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "icon": {
    object (Icon)
  },
  "label": string,
  "onClick": {
    object (OnClick)
  },
  "enabled": boolean,
  "disabled": boolean,
  "altText": string
}
Trường
icon

object (Icon)

Hình ảnh biểu tượng. Nếu bạn đặt cả icontext, thì biểu tượng sẽ xuất hiện trước văn bản.

label

string

Văn bản hiển thị bên trong khối.

onClick

object (OnClick)

Không bắt buộc. Thao tác cần thực hiện khi người dùng nhấp vào khối, chẳng hạn như mở siêu liên kết hoặc chạy hàm tuỳ chỉnh.

enabled
(deprecated)

boolean

Liệu khối có ở trạng thái đang hoạt động và phản hồi các thao tác của người dùng hay không. Giá trị mặc định là true. Không dùng nữa. Thay vào đó, hãy sử dụng disabled.

disabled

boolean

Liệu khối này có ở trạng thái không hoạt động và bỏ qua các thao tác của người dùng hay không. Giá trị mặc định là false.

altText

string

Văn bản thay thế dùng cho tính năng hỗ trợ tiếp cận.

Đặt văn bản mô tả để người dùng biết chức năng của khối. Ví dụ: nếu một khối mở một siêu liên kết, hãy viết: "Mở một thẻ trình duyệt mới và chuyển đến tài liệu dành cho nhà phát triển Google Chat tại https://developers.google.com/workspace/chat".

Băng chuyền (còn gọi là thanh trượt) xoay và hiển thị danh sách các tiện ích ở định dạng trình chiếu, với các nút điều hướng đến tiện ích trước hoặc tiếp theo.

Ví dụ: đây là nội dung JSON thể hiện một băng chuyền chứa ba tiện ích đoạn văn bản.

{
  "carouselCards": [
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "First text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Second text paragraph in carousel",
          }
        }
      ]
    },
    {
      "widgets": [
        {
          "textParagraph": {
            "text": "Third text paragraph in carousel",
          }
        }
      ]
    }
  ]
}

Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "carouselCards": [
    {
      object (CarouselCard)
    }
  ]
}
Trường
carouselCards[]

object (CarouselCard)

Danh sách các thẻ có trong băng chuyền.

CarouselCard

Thẻ có thể hiển thị dưới dạng mục băng chuyền. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "widgets": [
    {
      object (NestedWidget)
    }
  ],
  "footerWidgets": [
    {
      object (NestedWidget)
    }
  ]
}
Trường
widgets[]

object (NestedWidget)

Danh sách các tiện ích hiển thị trong thẻ băng chuyền. Các tiện ích hiển thị theo thứ tự được chỉ định.

footerWidgets[]

object (NestedWidget)

Danh sách các tiện ích hiển thị ở cuối thẻ băng chuyền. Các tiện ích hiển thị theo thứ tự được chỉ định.

NestedWidget

Danh sách các tiện ích có thể hiển thị trong một bố cục chứa, chẳng hạn như CarouselCard. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{

  // Union field data can be only one of the following:
  "textParagraph": {
    object (TextParagraph)
  },
  "buttonList": {
    object (ButtonList)
  },
  "image": {
    object (Image)
  }
  // End of list of possible types for union field data.
}
Trường

Trường hợp hợp nhất data.

data chỉ có thể là một trong những loại sau:

textParagraph

object (TextParagraph)

Tiện ích đoạn văn bản.

buttonList

object (ButtonList)

Tiện ích danh sách nút.

image

object (Image)

Một tiện ích hình ảnh.

CollapseControl

Biểu thị một nút điều khiển mở rộng và thu gọn. Có sẵn cho các ứng dụng Google Chat và không có sẵn cho các tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "horizontalAlignment": enum (HorizontalAlignment),
  "expandButton": {
    object (Button)
  },
  "collapseButton": {
    object (Button)
  }
}
Trường
horizontalAlignment

enum (HorizontalAlignment)

Căn chỉnh theo chiều ngang của nút mở rộng và thu gọn.

expandButton

object (Button)

Không bắt buộc. Xác định một nút có thể tuỳ chỉnh để mở rộng phần này. Bạn phải đặt cả trường expandButton và collapseButton. Chỉ một nhóm trường sẽ không có hiệu lực. Nếu bạn không đặt trường này, thì nút mặc định sẽ được sử dụng.

collapseButton

object (Button)

Không bắt buộc. Xác định một nút có thể tuỳ chỉnh để thu gọn phần này. Bạn phải đặt cả trường expandButton và collapseButton. Chỉ một nhóm trường sẽ không có hiệu lực. Nếu bạn không đặt trường này, thì nút mặc định sẽ được sử dụng.

DividerStyle

Kiểu đường phân cách của thẻ. Hiện chỉ dùng để phân chia các phần của thẻ.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Enum
DIVIDER_STYLE_UNSPECIFIED Không sử dụng. Không xác định.
SOLID_DIVIDER Tuỳ chọn mặc định. Kết xuất một đường phân chia liền mạch.
NO_DIVIDER Nếu bạn đặt giá trị này, hệ thống sẽ không hiển thị đường phân chia nào. Kiểu này sẽ xoá hoàn toàn đường phân chia khỏi bố cục. Kết quả tương đương với việc không thêm đường phân cách nào cả.

CardAction

Hành động trên thẻ là hành động được liên kết với thẻ. Ví dụ: thẻ hoá đơn có thể bao gồm các thao tác như xoá hoá đơn, gửi hoá đơn qua email hoặc mở hoá đơn trong trình duyệt.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

Biểu diễn dưới dạng JSON
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Trường
actionLabel

string

Nhãn hiển thị dưới dạng mục trong trình đơn thao tác.

onClick

object (OnClick)

Thao tác onClick cho mục hành động này.

CardFixedFooter

Chân trang cố định (bám) xuất hiện ở cuối thẻ.

Việc đặt fixedFooter mà không chỉ định primaryButton hoặc secondaryButton sẽ gây ra lỗi.

Đối với ứng dụng Chat, bạn có thể sử dụng chân trang cố định trong hộp thoại, nhưng không thể sử dụng trong tin nhắn dạng thẻ. Để biết ví dụ trong các ứng dụng Google Chat, hãy xem phần Thêm chân trang cố định.

Có sẵn cho các ứng dụng Google Chat và tiện ích bổ sung của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Trường
primaryButton

object (Button)

Nút chính của chân trang cố định. Nút phải là nút văn bản có văn bản và màu được đặt.

secondaryButton

object (Button)

Nút phụ của chân trang cố định. Nút phải là nút văn bản có văn bản và màu được đặt. Nếu đặt secondaryButton, bạn cũng phải đặt primaryButton.

DisplayStyle

Trong Tiện ích bổ sung của Google Workspace, xác định cách hiển thị thẻ.

Có sẵn cho các tiện ích bổ sung của Google Workspace và không có sẵn cho các ứng dụng Google Chat.

Enum
DISPLAY_STYLE_UNSPECIFIED Không sử dụng. Không xác định.
PEEK Tiêu đề của thẻ xuất hiện ở cuối thanh bên, che một phần thẻ trên cùng hiện tại của ngăn xếp. Khi nhấp vào tiêu đề, thẻ sẽ bật lên trong ngăn xếp thẻ. Nếu thẻ không có tiêu đề, thì tiêu đề được tạo sẽ được sử dụng.
REPLACE Giá trị mặc định. Thẻ này hiển thị bằng cách thay thế chế độ xem của thẻ trên cùng trong ngăn xếp thẻ.