Cards v2

Kartu

Antarmuka kartu yang ditampilkan di pesan Google Chat atau Add-on Google Workspace.

{i>Card<i} mendukung tata letak yang ditentukan, elemen-elemen UI interaktif seperti tombol, dan multimedia seperti gambar. Gunakan kartu untuk menyajikan informasi mendetail, mengumpulkan informasi dari pengguna, dan memandu pengguna untuk mengambil langkah berikutnya.

Desain dan pratinjau kartu dengan Card Builder.

Membuka Card Builder

Untuk mempelajari cara membuat kartu, lihat dokumentasi berikut:

Contoh: Pesan kartu untuk aplikasi Google Chat

Contoh kartu kontak

Untuk membuat contoh pesan kartu di Google Chat, gunakan JSON berikut:

{
  "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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Representasi JSON
{
  "header": {
    object (CardHeader)
  },
  "sections": [
    {
      object (Section)
    }
  ],
  "sectionDividerStyle": enum (DividerStyle),
  "cardActions": [
    {
      object (CardAction)
    }
  ],
  "name": string,
  "fixedFooter": {
    object (CardFixedFooter)
  },
  "displayStyle": enum (DisplayStyle),
  "peekCardHeader": {
    object (CardHeader)
  }
}
Kolom
header

object (CardHeader)

Header kartu. {i>Header<i} biasanya berisi gambar utama dan judul. Header selalu muncul di bagian atas kartu.

sections[]

object (Section)

Berisi kumpulan widget. Setiap bagian memiliki {i>header<i} opsionalnya sendiri. Bagian-bagian secara visual dipisahkan oleh pemisah garis. Untuk contoh di aplikasi Google Chat, lihat Menentukan bagian kartu.

sectionDividerStyle

enum (DividerStyle)

Gaya pemisah antarbagian.

cardActions[]

object (CardAction)

Tindakan kartu. Tindakan ditambahkan ke menu toolbar kartu.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Misalnya, JSON berikut menyusun menu tindakan kartu dengan Settings dan Send Feedback opsi:

"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

Nama kartu. Digunakan sebagai ID kartu dalam navigasi kartu.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

displayStyle

enum (DisplayStyle)

Di Add-on Google Workspace, tetapkan properti tampilan peekCardHeader.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

peekCardHeader

object (CardHeader)

Saat menampilkan konten kontekstual, header kartu cuplikan berfungsi sebagai placeholder sehingga pengguna dapat berpindah maju antara kartu halaman beranda dan kartu kontekstual.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

CardHeader

Mewakili header kartu. Untuk contoh di aplikasi Google Chat, lihat Tambahkan header.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "title": string,
  "subtitle": string,
  "imageType": enum (ImageType),
  "imageUrl": string,
  "imageAltText": string
}
Kolom
title

string

Wajib. Judul header kartu. {i>Header<i} memiliki tinggi tetap: jika judul dan subjudul ditentukan, masing-masing membutuhkan satu baris. Jika hanya judul yang ditentukan, nama tersebut akan menggunakan kedua baris.

subtitle

string

Subtitel header kartu. Jika ditentukan, akan muncul pada barisnya sendiri di bawah title.

imageType

enum (ImageType)

Bentuk yang digunakan untuk memangkas gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

imageUrl

string

URL HTTPS gambar di header kartu.

imageAltText

string

Teks alternatif dari gambar ini yang digunakan untuk aksesibilitas.

ImageType

Bentuk yang digunakan untuk memangkas gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
SQUARE Nilai default. Menerapkan mask persegi ke gambar. Misalnya, gambar 4x3 menjadi 3x3.
CIRCLE Menerapkan mask lingkaran ke gambar. Misalnya, sebuah gambar berukuran 4x3 menjadi lingkaran dengan diameter 3.

Bagian

Bagian berisi kumpulan widget yang dirender secara vertikal dalam urutan yang ditentukan.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "header": string,
  "widgets": [
    {
      object (Widget)
    }
  ],
  "collapsible": boolean,
  "uncollapsibleWidgetsCount": integer
}
Kolom
header

string

Teks yang muncul di atas suatu bagian. Mendukung teks berformat HTML sederhana. Untuk informasi selengkapnya tentang memformat teks, lihat Memformat teks di aplikasi Google Chat dan Memformat teks di Add-on Google Workspace.

widgets[]

object (Widget)

Semua widget di bagian tersebut. Harus berisi minimal satu widget.

collapsible

boolean

Menunjukkan apakah bagian ini dapat diciutkan.

Bagian yang dapat diciutkan menyembunyikan beberapa atau semua widget, tetapi pengguna dapat meluaskan bagian tersebut untuk menampilkan widget tersembunyi dengan mengklik Tampilkan lebih banyak. Pengguna dapat menyembunyikan widget lagi dengan mengklik Tampilkan lebih sedikit.

Untuk menentukan widget mana yang disembunyikan, tentukan uncollapsibleWidgetsCount.

uncollapsibleWidgetsCount

integer

Jumlah widget yang tidak dapat diciutkan yang tetap terlihat meskipun bagian diciutkan.

Misalnya, jika suatu bagian berisi lima widget dan uncollapsibleWidgetsCount disetel ke 2, dua widget pertama selalu ditampilkan dan tiga widget terakhir diciutkan secara default. Tujuan uncollapsibleWidgetsCount hanya diperhitungkan ketika collapsible sesuai dengan true.

Widget

Setiap kartu terdiri dari widget.

Widget adalah objek gabungan yang dapat merepresentasikan salah satu dari teks, gambar, tombol, dan jenis objek lainnya.

Representasi 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)
  }
  // End of list of possible types for union field data.
}
Kolom
horizontalAlignment

enum (HorizontalAlignment)

Menentukan apakah widget diratakan ke kiri, kanan, atau tengah kolom.

Kolom union data. Widget hanya boleh memiliki salah satu dari item berikut. Anda dapat menggunakan beberapa kolom widget untuk menampilkan lebih banyak item. data hanya dapat berupa salah satu dari hal berikut:
textParagraph

object (TextParagraph)

Menampilkan paragraf teks. Mendukung teks berformat HTML sederhana. Untuk informasi selengkapnya tentang memformat teks, lihat Memformat teks di aplikasi Google Chat dan Memformat teks di Add-on Google Workspace.

Misalnya, JSON berikut membuat teks tebal:

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

object (Image)

Menampilkan gambar.

Misalnya, JSON berikut membuat gambar dengan teks alternatif:

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

object (DecoratedText)

Menampilkan item teks dengan dekorasi.

Misalnya, JSON berikut membuat widget teks berdekorasi yang menampilkan alamat 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)

Daftar tombol.

Misalnya, JSON berikut membuat dua tombol. Yang pertama adalah tombol teks biru dan yang kedua adalah tombol gambar untuk membuka link:

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

object (TextInput)

Menampilkan kotak teks tempat pengguna dapat mengetik.

Misalnya, JSON berikut membuat input teks untuk alamat email:

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

Contoh lain, JSON berikut membuat input teks untuk bahasa pemrograman dengan saran statis:

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

object (SelectionInput)

Menampilkan kontrol pilihan yang memungkinkan pengguna memilih item. Kontrol pilihan dapat berupa kotak centang, tombol pilihan, tombol akses, atau menu dropdown.

Misalnya, JSON berikut membuat menu dropdown yang memungkinkan pengguna memilih ukuran:

"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)

Menampilkan widget yang memungkinkan pengguna memasukkan tanggal, waktu, atau tanggal dan waktu.

Misalnya, JSON berikut membuat pemilih tanggal dan waktu untuk menjadwalkan janji temu:

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

object (Divider)

Menampilkan pemisah garis horizontal di antara widget.

Misalnya, JSON berikut membuat pemisah:

"divider": {
}
grid

object (Grid)

Menampilkan petak dengan kumpulan item.

{i>Grid<i} mendukung sejumlah kolom dan item. Jumlah baris ditentukan oleh batas atas item jumlah dibagi dengan jumlah kolom. Grid dengan 10 item dan 2 kolom memiliki 5 baris. Grid dengan 11 item dan 2 kolom memiliki 6 baris.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Misalnya, JSON berikut membuat petak 2 kolom dengan satu item:

"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)

Menampilkan hingga 2 kolom.

Untuk menyertakan lebih dari 2 kolom, atau menggunakan baris, gunakan Grid .

Misalnya, JSON berikut membuat 2 kolom yang masing-masing berisi paragraf teks:

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

TextParagraph

Paragraf teks yang mendukung pemformatan. Untuk contoh di aplikasi Google Chat, lihat Tambahkan paragraf teks berformat. Untuk informasi selengkapnya tentang memformat teks, lihat Memformat teks di aplikasi Google Chat dan Memformat teks di Add-on Google Workspace.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "text": string
}
Kolom
text

string

Teks yang ditampilkan di widget.

Gambar

Gambar yang ditentukan oleh URL dan dapat memiliki onClick tindakan. Untuk contoh, lihat Tambahkan gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "imageUrl": string,
  "onClick": {
    object (OnClick)
  },
  "altText": string
}
Kolom
imageUrl

string

URL HTTPS yang menghosting gambar.

Contoh:

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

object (OnClick)

Saat pengguna mengklik gambar, klik tersebut akan memicu tindakan ini.

altText

string

Teks alternatif dari gambar ini yang digunakan untuk aksesibilitas.

OnClick

Merepresentasikan cara merespons saat pengguna mengklik elemen interaktif pada kartu, seperti tombol.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{

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

Kolom union data.

data hanya dapat berupa salah satu dari hal berikut:

action

object (Action)

Jika ditentukan, tindakan akan dipicu oleh ini onClick.

card

object (Card)

Kartu baru didorong ke tumpukan kartu setelah diklik jika ditentukan.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Tindakan

Tindakan yang menjelaskan perilaku saat formulir dikirimkan. Misalnya, Anda dapat memanggil skrip Apps Script untuk menangani formulir. Jika tindakan dipicu, nilai formulir akan dikirim ke server.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "function": string,
  "parameters": [
    {
      object (ActionParameter)
    }
  ],
  "loadIndicator": enum (LoadIndicator),
  "persistValues": boolean,
  "interaction": enum (Interaction),
  "requiredWidgets": [
    string
  ],
  "allWidgetsAreRequired": boolean
}
Kolom
function

string

Fungsi kustom yang akan dipanggil saat elemen yang memuatnya diklik atau diaktifkan.

Untuk contoh penggunaan, lihat Baca data formulir.

parameters[]

object (ActionParameter)

Daftar parameter tindakan.

loadIndicator

enum (LoadIndicator)

Menentukan indikator pemuatan yang ditampilkan tindakan saat membuat pesan ajakan (CTA).

persistValues

boolean

Menunjukkan apakah nilai formulir tetap ada setelah tindakan. Nilai defaultnya adalah false.

Jika true, nilai formulir akan tetap ada setelah tindakan dipicu. Untuk memungkinkan pengguna melakukan perubahan saat tindakan sedang diproses, tetapkan LoadIndicator dapat NONE. Sebagai pesan kartu di aplikasi Chat, Anda juga harus menetapkan ResponseType dapat UPDATE_MESSAGE dan menggunakan cardId dari kartu yang berisi tindakan.

Jika false, nilai formulir akan dihapus saat tindakan dipicu. Untuk mencegah pengguna melakukan perubahan saat tindakan sedang diproses, tetapkan LoadIndicator dapat SPINNER.

interaction

enum (Interaction)

Opsional. Wajib ada saat membuka dialog.

Apa yang harus dilakukan sebagai respons atas interaksi dengan pengguna, seperti pengguna mengklik tombol di pesan kartu.

Jika tidak ditentukan, aplikasi akan merespons dengan mengeksekusi action —seperti membuka link atau menjalankan fungsi—seperti biasa.

Dengan menetapkan interaction, aplikasi dapat merespons dengan cara interaktif khusus. Misalnya, dengan menetapkan interaction dapat OPEN_DIALOG, aplikasi dapat membuka dialog. Jika ditentukan, indikator pemuatan tidak akan ditampilkan. Jika ditentukan untuk add-on, seluruh kartu akan dihapus dan tidak ada yang ditampilkan di klien.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

requiredWidgets[]

string

Opsional. Isi daftar ini dengan nama widget yang diperlukan Action ini untuk pengiriman yang valid.

Jika widget yang tercantum di sini tidak memiliki nilai saat Action ini dipanggil, pengiriman formulir akan dibatalkan.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

allWidgetsAreRequired

boolean

Opsional. Jika ini benar, semua widget dianggap diperlukan oleh tindakan ini.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

ActionParameter

Daftar parameter string yang akan disediakan saat metode tindakan dipanggil. Misalnya, pertimbangkan tiga tombol tidur sebentar: penundaan sekarang, tunda satu hari, atau tunda minggu depan. Anda mungkin menggunakan action method = snooze(), yang meneruskan jenis tunda dan waktu tunda dalam daftar parameter string.

Untuk mempelajari lebih lanjut, lihat CommonEventObject

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

Nama parameter untuk skrip tindakan.

value

string

Nilai parameter.

LoadIndicator

Menentukan indikator pemuatan yang ditampilkan tindakan saat membuat pesan ajakan (CTA).

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
SPINNER Menampilkan indikator lingkaran berputar untuk menunjukkan bahwa konten sedang dimuat.
NONE Tidak ada yang ditampilkan.

Interaksi

Opsional. Wajib ada saat membuka dialog.

Apa yang harus dilakukan sebagai respons atas interaksi dengan pengguna, seperti pengguna mengklik tombol di pesan kartu.

Jika tidak ditentukan, aplikasi akan merespons dengan mengeksekusi action —seperti membuka link atau menjalankan fungsi—seperti biasa.

Dengan menetapkan interaction, aplikasi dapat merespons dengan cara interaktif khusus. Misalnya, dengan menetapkan interaction dapat OPEN_DIALOG, aplikasi dapat membuka dialog.

Jika ditentukan, indikator pemuatan tidak akan ditampilkan. Jika ditentukan untuk add-on, seluruh kartu akan dihapus dan tidak ada yang ditampilkan di klien.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Enum
INTERACTION_UNSPECIFIED Nilai default. Tujuan action berjalan seperti biasa.
OPEN_DIALOG

Membuka dialog, antarmuka berbasis kartu dan berjendela yang digunakan aplikasi Chat untuk berinteraksi dengan pengguna.

Hanya didukung oleh aplikasi Chat sebagai respons terhadap klik tombol pada pesan kartu. Jika ditentukan untuk add-on, seluruh kartu akan dihapus dan tidak ada yang ditampilkan di klien.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

OpenAs

Jika OnClick tindakan membuka tautan, maka klien dapat membukanya sebagai jendela ukuran penuh (jika itu adalah bingkai yang digunakan oleh klien), atau sebuah overlay (misalnya, {i>pop-up).<i} Implementasinya bergantung pada kemampuan platform klien, dan nilai yang dipilih mungkin diabaikan jika klien tidak mendukungnya. FULL_SIZE didukung oleh semua klien.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Enum
FULL_SIZE Link akan terbuka sebagai jendela ukuran penuh (jika itu adalah frame yang digunakan oleh klien).
OVERLAY Tautan akan terbuka sebagai overlay, misalnya sebagai pop-up.

OnClose

Apa yang dilakukan klien ketika tautan dibuka oleh OnClick tindakan ditutup.

Implementasinya bergantung pada kemampuan platform klien. Misalnya, sebuah {i>browser<i} web mungkin membuka tautan di jendela {i>pop-up<i} dengan OnClose sebagai pengendali

Jika keduanya OnOpen dan OnClose ditetapkan, dan platform klien tidak dapat mendukung kedua nilai itu, OnClose akan diprioritaskan.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Enum
NOTHING Nilai default. Kartu tidak dapat dimuat ulang; tidak akan terjadi apa pun.
RELOAD

Memuat ulang kartu setelah jendela turunan ditutup.

Jika digunakan bersamaan dengan OpenAs.OVERLAY, jendela turunan berfungsi sebagai dialog modal dan kartu induk diblokir hingga jendela turunan ditutup.

DecoratedText

Widget yang menampilkan teks dengan dekorasi opsional seperti label di atas atau di bawah teks, ikon di depan teks, widget pilihan, atau tombol setelah teks. Untuk contoh di aplikasi Google Chat, lihat Menampilkan teks dengan teks dekoratif.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi 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.
}
Kolom
icon
(deprecated)

object (Icon)

Tidak berlaku lagi dan digantikan startIcon.

startIcon

object (Icon)

Ikon yang ditampilkan di depan teks.

topLabel

string

Teks yang muncul di atas text. Selalu potong.

text

string

Wajib. Teks utama.

Mendukung pemformatan sederhana. Untuk informasi selengkapnya tentang memformat teks, lihat Memformat teks di aplikasi Google Chat dan Memformat teks di Add-on Google Workspace.

wrapText

boolean

Setelan kemas teks. Jika true, teks akan digabungkan dan ditampilkan dalam beberapa baris. Jika tidak, teks akan terpotong.

Hanya berlaku untuk text, bukan topLabel dan bottomLabel.

bottomLabel

string

Teks yang muncul di bawah text. Selalu dikemas.

onClick

object (OnClick)

Tindakan ini dipicu saat pengguna mengklik topLabel atau bottomLabel.

Kolom union control. Tombol, {i>switch<i}, kotak centang, atau gambar yang muncul di sebelah kanan teks dalam decoratedText . control hanya dapat berupa salah satu dari hal berikut:
button

object (Button)

Tombol yang dapat diklik pengguna untuk memicu tindakan.

switchControl

object (SwitchControl)

Widget tombol akses yang dapat diklik pengguna untuk mengubah statusnya dan memicu tindakan.

endIcon

object (Icon)

Ikon yang ditampilkan setelah teks.

Mendukung bawaan dan kustom ikon.

Ikon

Ikon yang ditampilkan dalam widget pada kartu. Untuk contoh di aplikasi Google Chat, lihat Tambahkan ikon.

Mendukung bawaan dan kustom ikon.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi 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.
}
Kolom
altText

string

Opsional. Deskripsi ikon yang digunakan untuk aksesibilitas. Jika tidak ditentukan, nilai default-nya Button disediakan. Sebagai praktik terbaik, Anda harus menetapkan deskripsi yang bermanfaat untuk apa yang ditampilkan ikon, dan jika memungkinkan, fungsinya. Misalnya, A user's account portrait, atau Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat.

Jika ikon diatur dalam Button, altText muncul sebagai teks bantuan ketika pengguna mengarahkan kursor ke tombol itu. Namun, jika tombol itu juga mengatur text, altText akan diabaikan.

imageType

enum (ImageType)

Gaya pemangkasan yang diterapkan ke gambar. Dalam beberapa kasus, menerapkan CIRCLE akan menyebabkan gambar digambar lebih besar daripada ikon bawaan.

Kolom union icons. Ikon yang ditampilkan di widget pada kartu. icons hanya dapat berupa salah satu dari hal berikut:
knownIcon

string

Menampilkan salah satu ikon bawaan yang disediakan oleh Google Workspace.

Misalnya, untuk menampilkan ikon pesawat, tentukan AIRPLANE. Untuk bus, tentukan BUS.

Untuk daftar lengkap ikon yang didukung, lihat ikon bawaan.

iconUrl

string

Menampilkan ikon kustom yang dihosting di URL HTTPS.

Contoh:

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

Jenis file yang didukung mencakup .png dan .jpg.

materialIcon

object (MaterialIcon)

Tampilkan salah satu Ikon Material Google.

Misalnya, untuk menampilkan ikon kotak centang, gunakan

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

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

MaterialIcon

J Ikon Material Google, yang berisi lebih dari 2.500 opsi.

Misalnya, untuk menampilkan ikon kotak centang dengan bobot dan tingkat yang disesuaikan, tulis hal berikut:

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

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Representasi JSON
{
  "name": string,
  "fill": boolean,
  "weight": integer,
  "grade": integer
}
Kolom
name

string

Nama ikon yang didefinisikan dalam Ikon Material Google, misalnya, check_box. Nama yang tidak valid akan ditinggalkan dan diganti dengan string kosong dan menyebabkan ikon gagal dirender.

fill

boolean

Apakah ikon dirender sebagai terisi. Nilai defaultnya adalah false (salah).

Untuk melihat pratinjau berbagai setelan ikon, buka Ikon Google Font dan sesuaikan pengaturan pada Sesuaikan.

weight

integer

Ketebalan goresan ikon. Pilih dari {100, 200, 300, 400, 500, 600, 700}. Jika tidak ada, nilai defaultnya adalah 400. Jika ada nilai lain yang ditentukan, nilai default akan digunakan.

Untuk melihat pratinjau berbagai setelan ikon, buka Ikon Google Font dan sesuaikan pengaturan pada Sesuaikan.

grade

integer

Bobot dan gradasi memengaruhi ketebalan simbol. Penyesuaian nilai lebih terperinci daripada penyesuaian bobot dan memiliki dampak kecil pada ukuran simbol. Pilih dari {-25, 0, 200}. Jika tidak ada, nilai defaultnya adalah 0. Jika ada nilai lain yang ditentukan, nilai default akan digunakan.

Untuk melihat pratinjau berbagai setelan ikon, buka Ikon Google Font dan sesuaikan pengaturan pada Sesuaikan.

Tombol

Teks, ikon, atau teks dan tombol ikon yang dapat diklik pengguna. Untuk contoh di aplikasi Google Chat, lihat Tambahkan tombol.

Untuk membuat gambar menjadi tombol yang dapat diklik, tentukan Image (bukan ImageComponent) dan setel onClick tindakan.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "text": string,
  "icon": {
    object (Icon)
  },
  "color": {
    object (Color)
  },
  "onClick": {
    object (OnClick)
  },
  "disabled": boolean,
  "altText": string
}
Kolom
text

string

Teks yang ditampilkan di dalam tombol.

icon

object (Icon)

Gambar ikon. Jika keduanya icon dan text diatur, maka ikon akan muncul sebelum teks.

color

object (Color)

Jika disetel, tombol akan diisi dengan warna latar belakang yang solid dan warna font akan berubah untuk mempertahankan kontras dengan warna latar belakang. Misalnya, menyetel latar belakang biru kemungkinan akan menghasilkan teks putih.

Jika tidak disetel, latar belakang gambar akan berwarna putih dan warna font biru.

Untuk warna merah, hijau, dan biru, nilai dari setiap {i>field<i} adalah float angka yang dapat Anda ekspresikan dengan salah satu dari dua cara berikut: sebagai angka antara 0 dan 255 dibagi 255 (153/255), atau sebagai nilai antara 0 dan 1 (0,6). 0 mewakili tidak adanya warna dan 1 atau 255/255 mewakili kehadiran penuh warna itu pada skala RGB.

Disetel secara opsional alpha, yang menetapkan tingkat transparansi menggunakan persamaan ini:

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

Sebagai alpha, nilai 1 sesuai dengan warna solid, dan nilai 0 sesuai dengan warna yang benar-benar transparan.

Misalnya, warna berikut mewakili setengah transparan merah:

"color": {
   "red": 1,
   "green": 0,
   "blue": 0,
   "alpha": 0.5
}
onClick

object (OnClick)

Wajib. Tindakan yang akan dilakukan saat pengguna mengklik tombol, seperti membuka hyperlink atau menjalankan fungsi kustom.

disabled

boolean

Jika true, tombol ditampilkan dalam keadaan tidak aktif dan tidak merespons tindakan pengguna.

altText

string

Teks alternatif yang digunakan untuk aksesibilitas.

Tetapkan teks deskriptif yang memungkinkan pengguna mengetahui fungsi tombol. Misalnya, jika tombol membuka hyperlink, Anda dapat menulis: "Membuka tab browser baru dan membuka dokumentasi developer Google Chat di https://developers.google.com/workspace/chat&quot;.

Warna

Mewakili warna dalam ruang warna RGBA. Representasi ini dirancang untuk kemudahan konversi ke dan dari representasi warna dalam berbagai bahasa daripada kerapatan. Misalnya, ruang isian dari representasi ini bisa dengan mudah diberikan ke konstruktor java.awt.Color di Java; ini juga dapat dengan mudah diberikan ke antarmuka UIColor +colorWithRed:green:blue:alpha di iOS; dan, hanya dengan sedikit pekerjaan, dapat dengan mudah diformat ke dalam CSS rgba() di JavaScript.

Halaman referensi ini tidak memiliki informasi tentang ruang warna absolut yang harus digunakan untuk menafsirkan nilai RGB—misalnya, sRGB, Adobe RGB, DCI-P3, dan BT.2020. Secara default, aplikasi harus menggunakan ruang warna sRGB.

Ketika kesetaraan warna perlu ditentukan, implementasi, kecuali jika didokumentasikan sebaliknya, memperlakukan dua warna sama jika semua nilai merah, hijau, biru, dan alfa masing-masing paling berbeda 1e-5.

Contoh (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();
 }
 // ...

Contoh (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;
}
// ...

Contoh (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('');
};

// ...
Representasi JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Kolom
red

number

Jumlah merah dalam warna sebagai nilai dalam interval [0, 1].

green

number

Jumlah hijau dalam warna sebagai nilai dalam interval [0, 1].

blue

number

Jumlah biru dalam warna sebagai nilai dalam interval [0, 1].

alpha

number

Fraksi warna ini yang harus diterapkan ke piksel. Yaitu, warna piksel akhir ditentukan oleh persamaan:

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

Ini berarti bahwa nilai 1,0 berarti warna solid, sedangkan nilai 0,0 berarti warna yang sepenuhnya transparan. Kode ini menggunakan pesan wrapper, bukan skalar float sederhana sehingga memungkinkan untuk membedakan antara nilai default dan nilai yang tidak disetel. Jika dihilangkan, objek warna ini dirender sebagai warna solid (seolah-olah nilai alfa secara eksplisit diberi nilai 1,0).

SwitchControl

Tombol gaya beralih atau kotak centang di dalam decoratedText .

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Hanya didukung di decoratedText .

Representasi JSON
{
  "name": string,
  "value": string,
  "selected": boolean,
  "onChangeAction": {
    object (Action)
  },
  "controlType": enum (ControlType)
}
Kolom
name

string

Nama yang digunakan untuk mengidentifikasi widget tombol dalam peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

value

string

Nilai yang dimasukkan oleh pengguna, ditampilkan sebagai bagian dari peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

selected

boolean

Kapan true, tombol akan dipilih.

onChangeAction

object (Action)

Tindakan yang akan dilakukan saat status tombol berubah, seperti fungsi yang akan dijalankan.

controlType

enum (ControlType)

Cara tombol muncul di antarmuka pengguna.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

ControlType

Cara tombol muncul di antarmuka pengguna.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
SWITCH Tombol gaya beralih.
CHECKBOX Tidak berlaku lagi dan digantikan CHECK_BOX.
CHECK_BOX Kotak centang.

ButtonList

Daftar tombol yang ditata secara horizontal. Untuk contoh di aplikasi Google Chat, lihat Tambahkan tombol.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "buttons": [
    {
      object (Button)
    }
  ]
}
Kolom
buttons[]

object (Button)

Array tombol.

TextInput

Kolom tempat pengguna dapat memasukkan teks. Mendukung saran dan tindakan saat perubahan. Untuk contoh di aplikasi Google Chat, lihat Tambahkan kolom tempat pengguna dapat memasukkan teks.

Aplikasi Chat menerima dan dapat memproses nilai teks yang dimasukkan selama peristiwa input formulir. Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

Saat Anda perlu mengumpulkan data yang tidak ditentukan atau abstrak dari pengguna, gunakan input teks. Untuk mengumpulkan data yang ditentukan atau dienumerasi dari pengguna, gunakan SelectionInput .

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi 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
}
Kolom
name

string

Nama yang digunakan untuk mengidentifikasi input teks dalam peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

label

string

Teks yang muncul di atas kolom input teks di antarmuka pengguna.

Tetapkan teks yang membantu pengguna memasukkan informasi yang dibutuhkan aplikasi Anda. Misalnya, jika Anda menanyakan nama seseorang, tetapi secara khusus membutuhkan nama belakangnya, tulis surname bukannya name.

Wajib jika hintText tidak ditentukan. Jika tidak, opsional.

hintText

string

Teks yang muncul di bawah kolom input teks yang dimaksudkan untuk membantu pengguna dengan meminta mereka memasukkan nilai tertentu. Teks ini selalu terlihat.

Wajib jika label tidak ditentukan. Jika tidak, opsional.

value

string

Nilai yang dimasukkan oleh pengguna, ditampilkan sebagai bagian dari peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

type

enum (Type)

Cara kolom input teks muncul di antarmuka pengguna. Misalnya, apakah kolom satu atau beberapa baris.

onChangeAction

object (Action)

Tindakan yang harus dilakukan saat terjadi perubahan dalam kolom input teks. Misalnya, pengguna yang menambahkan ke kolom atau menghapus teks.

Contoh tindakan yang harus dilakukan antara lain menjalankan fungsi kustom atau membuka dialog di Google Chat.

initialSuggestions

object (Suggestions)

Nilai yang disarankan yang dapat dimasukkan pengguna. Nilai ini muncul saat pengguna mengklik di dalam kolom input teks. Saat pengguna mengetik, nilai yang disarankan akan memfilter secara dinamis agar sesuai dengan yang diketik pengguna.

Misalnya, kolom input teks untuk bahasa pemrograman dapat menyarankan Java, JavaScript, Python, dan C++. Saat pengguna mulai mengetik Jav, daftar filter saran yang hanya akan ditampilkan Java dan JavaScript.

Nilai yang disarankan akan membantu memandu pengguna untuk memasukkan nilai yang dapat dipahami oleh aplikasi Anda. Saat merujuk ke JavaScript, beberapa pengguna mungkin memasukkan javascript dan lainnya java script. Menyarankan JavaScript bisa menstandarkan cara pengguna berinteraksi dengan aplikasi Anda.

Bila ditentukan, TextInput.type selalu SINGLE_LINE, meskipun disetel ke MULTIPLE_LINE.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

autoCompleteAction

object (Action)

Opsional. Menentukan tindakan yang akan diambil saat kolom input teks memberikan saran kepada pengguna yang berinteraksi dengannya.

Jika tidak ditentukan, saran akan ditetapkan oleh initialSuggestions dan diproses oleh klien.

Jika ditentukan, aplikasi akan mengambil tindakan yang ditentukan di sini, seperti menjalankan fungsi kustom.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

validation

object (Validation)

Tentukan validasi yang diperlukan untuk kolom input teks ini.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

placeholderText

string

Teks yang muncul di kolom input teks saat kolom kosong. Gunakan teks ini untuk meminta pengguna memasukkan nilai. Misalnya, Enter a number from 0 to 100.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Jenis

Cara kolom input teks muncul di antarmuka pengguna. Misalnya, baik berupa kolom input baris tunggal atau input multibaris. Jika initialSuggestions ditentukan, type selalu SINGLE_LINE, meskipun disetel ke MULTIPLE_LINE.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
SINGLE_LINE Kolom input teks memiliki tinggi tetap satu baris.
MULTIPLE_LINE Kolom input teks memiliki tinggi tetap beberapa baris.

RenderActions

Sekumpulan instruksi {i>render<i} yang memberi tahu kartu untuk melakukan tindakan, atau memberi tahu aplikasi host add-on atau aplikasi Chat untuk melakukan tindakan khusus aplikasi.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Kolom
action

Action

Tindakan

Kolom
navigations[]

Navigation

Kirim atau perbarui kartu yang ditampilkan.

Tambahkan kartu baru ke tumpukan (navigasi ke depan). Untuk aplikasi Chat, hanya tersedia untuk beranda aplikasi.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

navigations: {
  pushCard: CARD
}

Ganti kartu teratas dengan kartu baru. Untuk aplikasi Chat, hanya tersedia untuk beranda aplikasi.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

navigations: {
  updateCard: CARD
}

Saran

Nilai yang disarankan yang dapat dimasukkan pengguna. Nilai ini muncul saat pengguna mengklik di dalam kolom input teks. Saat pengguna mengetik, nilai yang disarankan akan memfilter secara dinamis agar sesuai dengan yang diketik pengguna.

Misalnya, kolom input teks untuk bahasa pemrograman dapat menyarankan Java, JavaScript, Python, dan C++. Saat pengguna mulai mengetik Jav, daftar filter saran yang ditampilkan Java dan JavaScript.

Nilai yang disarankan akan membantu memandu pengguna untuk memasukkan nilai yang dapat dipahami oleh aplikasi Anda. Saat merujuk ke JavaScript, beberapa pengguna mungkin memasukkan javascript dan lainnya java script. Menyarankan JavaScript bisa menstandarkan cara pengguna berinteraksi dengan aplikasi Anda.

Bila ditentukan, TextInput.type selalu SINGLE_LINE, meskipun disetel ke MULTIPLE_LINE.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "items": [
    {
      object (SuggestionItem)
    }
  ]
}
Kolom
items[]

object (SuggestionItem)

Daftar saran yang digunakan untuk rekomendasi pelengkapan otomatis di kolom input teks.

SuggestionItem

Satu nilai yang disarankan yang dapat dimasukkan pengguna dalam kolom input teks.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{

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

Kolom union content.

content hanya dapat berupa salah satu dari hal berikut:

text

string

Nilai input yang disarankan ke kolom input teks. Ini sama dengan apa yang dimasukkan pengguna.

Validasi

Mewakili data yang diperlukan untuk memvalidasi widget yang dilampirkan.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "characterLimit": integer,
  "inputType": enum (InputType)
}
Kolom
characterLimit

integer

Tentukan batas karakter untuk widget input teks. Perhatikan bahwa ini hanya digunakan untuk input teks dan diabaikan untuk widget lainnya.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

inputType

enum (InputType)

Tentukan jenis widget input.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

InputType

Jenis widget input.

Enum
INPUT_TYPE_UNSPECIFIED Jenis tidak ditentukan. Jangan gunakan.
TEXT Teks biasa yang menerima semua karakter.
INTEGER Nilai bilangan bulat.
FLOAT Nilai float.
EMAIL Alamat email.
EMOJI_PICKER Emoji yang dipilih dari pemilih emoji yang disediakan sistem.

SelectionInput

Widget yang membuat satu atau beberapa item UI yang dapat dipilih pengguna. Misalnya, menu dropdown atau kotak centang. Anda dapat menggunakan widget ini untuk mengumpulkan data yang dapat diprediksi atau dienumerasi. Untuk contoh di aplikasi Google Chat, lihat Menambahkan elemen UI yang dapat dipilih.

Aplikasi Chat dapat memproses nilai item yang dipilih atau dimasukkan pengguna. Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

Untuk mengumpulkan data yang tidak didefinisikan atau abstrak dari pengguna, gunakan TextInput .

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi 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.
}
Kolom
name

string

Wajib. Nama yang mengidentifikasi input pilihan dalam peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

label

string

Teks yang muncul di atas kolom input pilihan di antarmuka pengguna.

Tetapkan teks yang membantu pengguna memasukkan informasi yang dibutuhkan aplikasi Anda. Misalnya, jika pengguna memilih urgensi tiket kerja dari menu drop-down, labelnya mungkin adalah "Urgensi" atau "Pilih urgensi".

type

enum (SelectionType)

Jenis item yang ditampilkan kepada pengguna di SelectionInput . Jenis pilihan mendukung berbagai jenis interaksi. Misalnya, pengguna dapat memilih satu atau beberapa kotak centang, tetapi mereka hanya dapat memilih satu nilai dari menu dropdown.

items[]

object (SelectionItem)

Array item yang dapat dipilih. Misalnya, array tombol pilihan atau kotak centang. Mendukung hingga 100 item.

onChangeAction

object (Action)

Jika ditentukan, formulir akan dikirim saat pilihan berubah. Jika tidak ditentukan, Anda harus menentukan tombol terpisah yang mengirimkan formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

multiSelectMaxSelectedItems

integer

Untuk menu multi-pilihan, jumlah item maksimum yang dapat dipilih pengguna. Nilai minimumnya adalah 1 item. Jika tidak ditentukan, setelan defaultnya adalah 3 item.

multiSelectMinQueryLength

integer

Untuk menu multi-pilihan, jumlah karakter teks yang dimasukkan pengguna sebelum kueri aplikasi akan dilengkapi secara otomatis dan menampilkan item yang disarankan dalam menu.

Jika tidak ditentukan, defaultnya adalah 0 karakter untuk sumber data statis dan 3 karakter untuk sumber data eksternal.

validation

object (Validation)

Untuk menu dropdown, validasi untuk kolom input pilihan ini.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Kolom union multi_select_data_source. Untuk menu multi-pilihan, sumber data yang mengisi item pilihan.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace. multi_select_data_source hanya dapat berupa salah satu dari hal berikut:

externalDataSource

object (Action)

Sumber data eksternal, seperti basis data relasional.

platformDataSource

object (PlatformDataSource)

Sumber data dari Google Workspace.

SelectionType

Format untuk item yang dapat dipilih pengguna. Opsi yang berbeda mendukung jenis interaksi yang berbeda. Misalnya, pengguna dapat memilih beberapa kotak centang, tetapi hanya dapat memilih satu item dari menu dropdown.

Setiap input pilihan mendukung satu jenis pilihan. Mencampur kotak centang dan tombol, misalnya, tidak didukung.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
CHECK_BOX Sekumpulan kotak centang. Pengguna dapat memilih satu atau beberapa kotak centang.
RADIO_BUTTON Serangkaian tombol pilihan. Pengguna dapat memilih satu tombol pilihan.
SWITCH Sekumpulan tombol. Pengguna dapat mengaktifkan satu atau beberapa tombol.
DROPDOWN Menu dropdown. Pengguna dapat memilih satu item dari menu.
MULTI_SELECT

Menu multi-pilihan untuk data statis atau dinamis. Dari panel menu, pengguna memilih satu atau beberapa item. Pengguna juga dapat memasukkan nilai untuk mengisi data dinamis. Misalnya, pengguna dapat mulai mengetik nama ruang Google Chat dan widget akan menyarankan ruang tersebut secara otomatis.

Untuk mengisi item pada menu multi-pilihan, Anda dapat menggunakan salah satu jenis sumber data berikut:

  • Data statis: Item ditentukan sebagai SelectionItem dalam widget. Hingga 100 item.
  • Data Google Workspace: Item diisi menggunakan data dari Google Workspace, seperti pengguna Google Workspace atau ruang Google Chat.
  • Data eksternal: Item diisi dari sumber data eksternal di luar Google Workspace.

Untuk contoh cara menerapkan menu multi-pilihan, lihat Tambahkan menu multi-pilihan.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Opsi multi-pilihan untuk Add-on Google Workspace sedang dalam Pratinjau Developer.

SelectionItem

Item yang dapat dipilih pengguna dalam input pilihan, seperti kotak centang atau tombol.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "text": string,
  "value": string,
  "selected": boolean,
  "startIconUri": string,
  "bottomText": string
}
Kolom
text

string

Teks yang mengidentifikasi atau menjelaskan item kepada pengguna.

value

string

Nilai yang terkait dengan item ini. Klien harus menggunakan ini sebagai nilai input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

selected

boolean

Apakah item dipilih secara default. Jika input pilihan hanya menerima satu nilai (seperti untuk tombol pilihan atau menu dropdown), hanya setel kolom ini untuk satu item.

startIconUri

string

Untuk menu multi-pilihan, URL untuk ikon yang ditampilkan di samping text kolom tersebut. Mendukung file PNG dan JPEG. Harus merupakan HTTPS . Misalnya, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.

bottomText

string

Untuk menu pilihan banyak, deskripsi teks atau label yang ditampilkan di bawah item text kolom tersebut.

PlatformDataSource

Untuk SelectionInput yang menggunakan menu multi-pilihan, yaitu sumber data dari Google Workspace. Digunakan untuk mengisi item dalam menu multi-pilihan.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Representasi 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.
}
Kolom
Kolom union data_source. Sumber data. data_source hanya dapat berupa salah satu dari hal berikut:
commonDataSource

enum (CommonDataSource)

Sumber data yang digunakan bersama oleh semua aplikasi Google Workspace, seperti pengguna di organisasi Google Workspace.

hostAppDataSource

object (HostAppDataSourceMarkup)

Sumber data yang unik untuk aplikasi host Google Workspace, seperti ruang di Google Chat.

CommonDataSource

Sumber data yang dibagikan oleh semua Aplikasi Google Workspace.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Enum
UNKNOWN Nilai default. Jangan gunakan.
USER pengguna Google Workspace. Pengguna hanya dapat melihat dan memilih pengguna dari organisasi Google Workspace miliknya.

HostAppDataSourceMarkup

Untuk SelectionInput widget yang menggunakan menu multi-pilihan, yaitu sumber data dari aplikasi Google Workspace. Sumber data mengisi item pilihan untuk menu multi-pilihan.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Representasi 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.
}
Kolom
Kolom union data_source. Aplikasi Google Workspace yang mengisi item untuk menu multi-pilihan. data_source hanya dapat berupa salah satu dari hal berikut:
chatDataSource

object (ChatClientDataSourceMarkup)

Sumber data dari Google Chat.

ChatClientDataSourceMarkup

Untuk SelectionInput yang menggunakan menu multi-pilihan, yaitu sumber data dari Google Chat. Sumber data mengisi item pilihan untuk menu multi-pilihan. Misalnya, pengguna dapat memilih ruang Google Chat tempat mereka menjadi anggota.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Representasi JSON
{

  // Union field source can be only one of the following:
  "spaceDataSource": {
    object (SpaceDataSource)
  }
  // End of list of possible types for union field source.
}
Kolom
Kolom union source. Sumber data Google Chat. source hanya dapat berupa salah satu dari hal berikut:
spaceDataSource

object (SpaceDataSource)

Ruang Google Chat tempat pengguna menjadi anggota.

SpaceDataSource

Sumber data yang mengisi ruang Google Chat sebagai item pilihan untuk menu multi-pilihan. Hanya mengisi ruang tempat pengguna menjadi anggota.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Representasi JSON
{
  "defaultToCurrentSpace": boolean
}
Kolom
defaultToCurrentSpace

boolean

Jika ditetapkan ke true, menu multi-pilihan akan memilih ruang Google Chat saat ini sebagai item secara default.

DateTimePicker

Memungkinkan pengguna memasukkan tanggal, waktu, atau tanggal dan waktu. Untuk contoh di aplikasi Google Chat, lihat Izinkan pengguna memilih tanggal dan waktu.

Pengguna dapat memasukkan teks atau menggunakan pemilih untuk memilih tanggal dan waktu. Jika pengguna memasukkan tanggal atau waktu yang tidak valid, pemilih akan menampilkan error yang meminta pengguna untuk memasukkan informasi dengan benar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "name": string,
  "label": string,
  "type": enum (DateTimePickerType),
  "valueMsEpoch": string,
  "timezoneOffsetDate": integer,
  "onChangeAction": {
    object (Action)
  },
  "validation": {
    object (Validation)
  }
}
Kolom
name

string

Nama yang digunakan DateTimePicker diidentifikasi dalam peristiwa input formulir.

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Terima data formulir.

label

string

Teks yang meminta pengguna untuk memasukkan tanggal, waktu, atau tanggal dan waktu. Misalnya, jika pengguna menjadwalkan janji temu, gunakan label seperti Appointment date atau Appointment date and time.

type

enum (DateTimePickerType)

Apakah widget mendukung memasukkan tanggal, waktu, atau tanggal dan waktu.

valueMsEpoch

string (int64 format)

Nilai default yang ditampilkan di widget, dalam milidetik sejak Waktu epoch Unix.

Tentukan nilai berdasarkan jenis pemilih ( DateTimePickerType):

  • DATE_AND_TIME : tanggal dan waktu kalender dalam UTC. Misalnya, untuk menunjukkan 1 Januari 2023 pukul 12.00 UTC, gunakan 1672574400000.
  • DATE_ONLY : tanggal kalender pada pukul 00:00:00 UTC. Misalnya, untuk merepresentasikan 1 Januari 2023, gunakan 1672531200000.
  • TIME_ONLY : waktu dalam UTC. Misalnya, untuk menunjukkan pukul 12.00, gunakan 43200000 (atau 12 * 60 * 60 * 1000).
timezoneOffsetDate

integer

Angka yang mewakili selisih zona waktu dari UTC, dalam menit. Jika disetel, valueMsEpoch ditampilkan dalam zona waktu yang ditentukan. Jika tidak disetel, nilai akan disetel secara default ke setelan zona waktu pengguna.

onChangeAction

object (Action)

Dipicu saat pengguna mengklik Simpan atau Hapus dari DateTimePicker dalam antarmuka berbasis web yang sederhana.

validation

object (Validation)

Opsional. Tentukan validasi yang diperlukan untuk pemilih datetime ini.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

DateTimePickerType

Format untuk tanggal dan waktu dalam DateTimePicker . Menentukan apakah pengguna dapat memasukkan tanggal, waktu, atau tanggal dan waktu.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
DATE_AND_TIME Pengguna memasukkan tanggal dan waktu.
DATE_ONLY Pengguna memasukkan tanggal.
TIME_ONLY Pengguna memasukkan waktu.

Pembatas

Jenis ini tidak memiliki kolom.

Menampilkan pemisah antar-widget sebagai garis horizontal. Untuk contoh di aplikasi Google Chat, lihat Tambahkan pemisah horizontal antar-widget.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Misalnya, JSON berikut membuat pemisah:

"divider": {}

Petak

Menampilkan petak dengan kumpulan item. Item hanya boleh menyertakan teks atau gambar. Untuk kolom responsif, atau untuk menyertakan lebih dari sekadar teks atau gambar, gunakan Columns. Untuk contoh di aplikasi Google Chat, lihat Menampilkan Petak dengan koleksi item.

{i>Grid<i} mendukung sejumlah kolom dan item. Jumlah baris ditentukan dengan item dibagi dengan kolom. Grid dengan 10 item dan 2 kolom memiliki 5 baris. Grid dengan 11 item dan 2 kolom memiliki 6 baris.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Misalnya, JSON berikut membuat petak 2 kolom dengan satu item:

"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"
    }
  }
}
Representasi JSON
{
  "title": string,
  "items": [
    {
      object (GridItem)
    }
  ],
  "borderStyle": {
    object (BorderStyle)
  },
  "columnCount": integer,
  "onClick": {
    object (OnClick)
  }
}
Kolom
title

string

Teks yang ditampilkan di header grid.

items[]

object (GridItem)

Item yang akan ditampilkan dalam petak.

borderStyle

object (BorderStyle)

Gaya batas yang akan diterapkan ke setiap item petak.

columnCount

integer

Jumlah kolom yang akan ditampilkan di petak. Nilai default digunakan jika kolom ini tidak ditentukan, dan nilai default tersebut berbeda-beda bergantung pada tempat petak ditampilkan (dialog versus pengiring).

onClick

object (OnClick)

Callback ini digunakan kembali oleh setiap item petak, tetapi dengan ID dan indeks item dalam daftar item yang ditambahkan ke parameter callback.

GridItem

Mewakili item dalam tata letak petak. Item dapat berisi teks, gambar, atau teks dan gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "id": string,
  "image": {
    object (ImageComponent)
  },
  "title": string,
  "subtitle": string,
  "layout": enum (GridItemLayout)
}
Kolom
id

string

ID yang ditentukan pengguna untuk item petak ini. ID ini ditampilkan di petak induk onClick .

image

object (ImageComponent)

Gambar yang ditampilkan dalam item petak.

title

string

Judul item petak.

subtitle

string

Subtitel item petak.

layout

enum (GridItemLayout)

Tata letak yang akan digunakan untuk item petak.

ImageComponent

Menampilkan gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "imageUri": string,
  "altText": string,
  "cropStyle": {
    object (ImageCropStyle)
  },
  "borderStyle": {
    object (BorderStyle)
  }
}
Kolom
imageUri

string

URL gambar.

altText

string

Label aksesibilitas untuk gambar.

cropStyle

object (ImageCropStyle)

Gaya pemangkasan yang akan diterapkan ke gambar.

borderStyle

object (BorderStyle)

Gaya batas yang akan diterapkan pada gambar.

ImageCropStyle

Mewakili gaya pemangkasan yang diterapkan pada gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Misalnya, berikut cara menerapkan rasio aspek 16:9:

cropStyle {
 "type": "RECTANGLE_CUSTOM",
 "aspectRatio": 16/9
}
Representasi JSON
{
  "type": enum (ImageCropType),
  "aspectRatio": number
}
Kolom
type

enum (ImageCropType)

Jenis pemangkasan.

aspectRatio

number

Rasio aspek yang akan digunakan jika jenis pemangkasan RECTANGLE_CUSTOM.

Misalnya, berikut cara menerapkan rasio aspek 16:9:

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

ImageCropType

Mewakili gaya pemangkasan yang diterapkan pada gambar.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
IMAGE_CROP_TYPE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
SQUARE Nilai default. Menerapkan pemangkasan persegi.
CIRCLE Menerapkan pemangkasan lingkaran.
RECTANGLE_CUSTOM Menerapkan pemangkasan persegi panjang dengan rasio aspek kustom. Tetapkan rasio aspek kustom dengan aspectRatio.
RECTANGLE_4_3 Menerapkan pangkas persegi panjang dengan rasio aspek 4:3.

BorderStyle

Opsi gaya untuk batas kartu atau widget, termasuk jenis dan warna batas.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "type": enum (BorderType),
  "strokeColor": {
    object (Color)
  },
  "cornerRadius": integer
}
Kolom
type

enum (BorderType)

Jenis batas.

strokeColor

object (Color)

Warna yang akan digunakan ketika jenis BORDER_TYPE_STROKE.

cornerRadius

integer

Radius sudut untuk batas.

BorderType

Mewakili jenis batas yang diterapkan ke widget.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
BORDER_TYPE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
NO_BORDER Nilai default. Tidak ada batas.
STROKE {i>Outline<i}.

GridItemLayout

Menampilkan berbagai opsi tata letak yang tersedia untuk item petak.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
GRID_ITEM_LAYOUT_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
TEXT_BELOW Judul dan subjudul ditampilkan di bawah gambar item petak.
TEXT_ABOVE Judul dan subjudul ditampilkan di atas gambar item petak.

Kolom

Tujuan Columns menampilkan hingga 2 kolom dalam kartu atau dialog. Anda dapat menambahkan widget ke setiap kolom; widget muncul sesuai urutan yang ditentukan. Untuk contoh di aplikasi Google Chat, lihat Menampilkan kartu dan dialog dalam kolom.

Ketinggian setiap kolom ditentukan oleh kolom yang lebih tinggi. Misalnya, jika kolom pertama lebih tinggi daripada kolom kedua, kedua kolom memiliki tinggi kolom pertama. Karena setiap kolom dapat berisi jumlah widget yang berbeda, Anda tidak dapat menentukan baris atau meratakan widget di antara kolom.

Kolom ditampilkan secara berdampingan. Anda dapat menyesuaikan lebar setiap kolom menggunakan HorizontalSizeStyle kolom tersebut. Jika lebar layar pengguna terlalu sempit, kolom kedua akan digabungkan di bawah yang pertama:

  • Di web, kolom kedua akan digabungkan jika lebar layar kurang dari atau sama dengan 480 piksel.
  • Pada perangkat iOS, kolom kedua akan digabungkan jika lebar layar kurang dari atau sama dengan 300 pt.
  • Pada perangkat Android, kolom kedua akan digabungkan jika lebar layar kurang dari atau sama dengan 320 dp.

Untuk menyertakan lebih dari 2 kolom, atau menggunakan baris, gunakan Grid .

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Kolom untuk Add-on Google Workspace ada di Pratinjau Developer.

Representasi JSON
{
  "columnItems": [
    {
      object (Column)
    }
  ]
}
Kolom
columnItems[]

object (Column)

Array kolom. Anda dapat menyertakan hingga 2 kolom dalam kartu atau dialog.

Kolom

Kolom.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Kolom untuk Add-on Google Workspace ada di Pratinjau Developer.

Representasi JSON
{
  "horizontalSizeStyle": enum (HorizontalSizeStyle),
  "horizontalAlignment": enum (HorizontalAlignment),
  "verticalAlignment": enum (VerticalAlignment),
  "widgets": [
    {
      object (Widgets)
    }
  ]
}
Kolom
horizontalSizeStyle

enum (HorizontalSizeStyle)

Menentukan cara kolom mengisi lebar kartu.

horizontalAlignment

enum (HorizontalAlignment)

Menentukan apakah widget diratakan ke kiri, kanan, atau tengah kolom.

verticalAlignment

enum (VerticalAlignment)

Menentukan apakah widget diratakan dengan bagian atas, bawah, atau tengah kolom.

widgets[]

object (Widgets)

Array widget yang disertakan dalam kolom. Widget muncul sesuai urutan yang ditentukan.

HorizontalSizeStyle

Menentukan cara kolom mengisi lebar kartu. Lebar setiap kolom bergantung pada HorizontalSizeStyle dan lebar widget dalam kolom.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Kolom untuk Add-on Google Workspace ada di Pratinjau Developer.

Enum
HORIZONTAL_SIZE_STYLE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
FILL_AVAILABLE_SPACE Nilai default. Kolom mengisi ruang yang tersedia, hingga 70% dari lebar kartu. Jika kedua kolom ditetapkan ke FILL_AVAILABLE_SPACE, setiap kolom mengisi 50% ruang.
FILL_MINIMUM_SPACE Kolom mengisi ruang seminimal mungkin dan tidak lebih dari 30% dari lebar kartu.

HorizontalAlignment

Menentukan apakah widget diratakan ke kiri, kanan, atau tengah kolom.

Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk Add-on Google Workspace.

Enum
HORIZONTAL_ALIGNMENT_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
START Nilai default. Meratakan widget ke posisi awal kolom. Untuk tata letak kiri-ke-kanan, ratakan ke kiri. Untuk tata letak kanan-ke-kiri, sejajarkan ke kanan.
CENTER Meratakan widget ke bagian tengah kolom.
END Meratakan widget ke posisi akhir kolom. Untuk tata letak kiri-ke-kanan, sejajarkan widget ke kanan. Untuk tata letak kanan-ke-kiri, sejajarkan widget ke kiri.

VerticalAlignment

Menentukan apakah widget diratakan dengan bagian atas, bawah, atau tengah kolom.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Kolom untuk Add-on Google Workspace ada di Pratinjau Developer.

Enum
VERTICAL_ALIGNMENT_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
CENTER Nilai default. Meratakan widget ke tengah kolom.
TOP Meratakan widget ke bagian atas kolom.
BOTTOM Meratakan widget ke bagian bawah kolom.

Widget

Widget yang didukung yang dapat Anda sertakan dalam kolom.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace. Kolom untuk Add-on Google Workspace ada di Pratinjau Developer.

Representasi 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)
  }
  // End of list of possible types for union field data.
}
Kolom

Kolom union data.

data hanya dapat berupa salah satu dari hal berikut:

textParagraph

object (TextParagraph)

TextParagraph .

image

object (Image)

Image .

decoratedText

object (DecoratedText)

DecoratedText .

buttonList

object (ButtonList)

ButtonList .

textInput

object (TextInput)

TextInput .

selectionInput

object (SelectionInput)

SelectionInput .

dateTimePicker

object (DateTimePicker)

DateTimePicker .

DividerStyle

Gaya pembagi kartu. Saat ini hanya digunakan untuk pemisah antarbagian kartu.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Enum
DIVIDER_STYLE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
SOLID_DIVIDER Opsi default. Tampilkan pemisah yang solid di antara bagian.
NO_DIVIDER Jika ditetapkan, tidak ada pemisah yang akan dirender di antara bagian.

CardAction

Tindakan kartu adalah tindakan yang terkait dengan kartu. Misalnya, kartu invoice dapat berisi tindakan seperti menghapus invoice, mengirim invoice melalui email, atau membuka invoice di browser.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Representasi JSON
{
  "actionLabel": string,
  "onClick": {
    object (OnClick)
  }
}
Kolom
actionLabel

string

Label yang ditampilkan sebagai item menu tindakan.

onClick

object (OnClick)

Tujuan onClick untuk item tindakan ini.

CardFixedFooter

Footer (melekat) yang muncul di bagian bawah kartu.

Latar (Setting) fixedFooter tanpa menentukan primaryButton atau secondaryButton yang menyebabkan error.

Untuk aplikasi Chat, Anda dapat menggunakan footer tetap di dialog, tetapi jangan pesan kartu. Untuk contoh di aplikasi Google Chat, lihat Tambahkan footer persisten.

Tersedia untuk aplikasi Google Chat dan Add-on Google Workspace.

Representasi JSON
{
  "primaryButton": {
    object (Button)
  },
  "secondaryButton": {
    object (Button)
  }
}
Kolom
primaryButton

object (Button)

Tombol utama footer tetap. Tombol harus berupa tombol teks dengan teks dan warna yang disetel.

secondaryButton

object (Button)

Tombol sekunder dari footer tetap. Tombol harus berupa tombol teks dengan teks dan warna yang disetel. Jika secondaryButton ditetapkan, Anda juga harus menentukan primaryButton.

DisplayStyle

Di Add-on Google Workspace, menentukan cara kartu ditampilkan.

Tersedia untuk Add-on Google Workspace dan tidak tersedia untuk aplikasi Google Chat.

Enum
DISPLAY_STYLE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
PEEK Header kartu muncul di bagian bawah sidebar, yang sebagian menutupi kartu atas tumpukan saat ini. Mengklik header akan memunculkan kartu ke dalam tumpukan kartu. Jika kartu tidak memiliki header, header yang dihasilkan akan digunakan.
REPLACE Nilai default. Kartu ditampilkan dengan mengganti tampilan kartu teratas di tumpukan kartu.