Package google.apps.card.v1

Indeks

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.

Kolom
function

string

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

Untuk contoh penggunaan, lihat Membaca data formulir.

parameters[]

ActionParameter

Daftar parameter tindakan.

load_indicator

LoadIndicator

Menentukan indikator pemuatan yang ditampilkan tindakan saat melakukan panggilan ke tindakan.

persist_values

bool

Menunjukkan apakah nilai formulir tetap ada setelah tindakan. Nilai default-nya adalah false.

Jika true, nilai formulir tetap ada setelah tindakan dipicu. Untuk mengizinkan pengguna melakukan perubahan saat tindakan sedang diproses, tetapkan LoadIndicator ke NONE. Untuk pesan kartu di aplikasi Chat, Anda juga harus menyetel ResponseType tindakan ke UPDATE_MESSAGE dan menggunakan card_id yang sama 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 ke SPINNER.

interaction

Interaction

Opsional. Wajib diisi saat membuka dialog.

Tindakan yang harus dilakukan sebagai respons terhadap interaksi dengan pengguna, seperti pengguna mengklik tombol dalam pesan kartu.

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

Dengan menentukan interaction, aplikasi dapat merespons dengan cara interaktif khusus. Misalnya, dengan menyetel interaction ke OPEN_DIALOG, aplikasi dapat membuka dialog. Jika ditentukan, indikator pemuatan tidak 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.

required_widgets[]

string

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

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

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

all_widgets_are_required

bool

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

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

ActionParameter

Daftar parameter string yang akan diberikan saat metode tindakan dipanggil. Misalnya, pertimbangkan tiga tombol tunda: tunda sekarang, tunda satu hari, atau tunda minggu depan. Anda dapat menggunakan action method = snooze(), dengan 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.

Kolom
key

string

Nama parameter untuk skrip tindakan.

value

string

Nilai parameter.

Interaksi

Opsional. Wajib diisi saat membuka dialog.

Tindakan yang harus dilakukan sebagai respons terhadap interaksi dengan pengguna, seperti pengguna mengklik tombol dalam pesan kartu.

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

Dengan menentukan interaction, aplikasi dapat merespons dengan cara interaktif khusus. Misalnya, dengan menyetel interaction ke OPEN_DIALOG, aplikasi dapat membuka dialog.

Jika ditentukan, indikator pemuatan tidak 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. action dieksekusi seperti biasa.
OPEN_DIALOG

Membuka dialog, antarmuka berbasis kartu yang berjendela dan 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.

LoadIndicator

Menentukan indikator pemuatan yang ditampilkan tindakan saat melakukan panggilan ke tindakan.

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.

BorderStyle

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

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

Kolom
type

BorderType

Jenis batas.

stroke_color

Color

Warna yang akan digunakan saat jenisnya adalah BORDER_TYPE_STROKE.

Untuk menyetel warna goresan, tentukan nilai untuk kolom red, green, dan blue. Nilainya harus berupa angka floating point antara 0 dan 1 berdasarkan nilai warna RGB, dengan 0 (0/255) mewakili tidak adanya warna dan 1 (255/255) mewakili intensitas warna maksimum.

Misalnya, kode berikut menetapkan warna menjadi merah pada intensitas maksimumnya:

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

Kolom alpha tidak tersedia untuk warna goresan. Jika ditentukan, kolom ini akan diabaikan.

corner_radius

int32

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 Tanpa batas.
STROKE Nilai default. Garis luar.

Tombol

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

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

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

Kolom
text

string

Teks yang ditampilkan di dalam tombol.

icon

Icon

Ikon yang ditampilkan di dalam tombol. Jika icon dan text ditetapkan, ikon akan muncul sebelum teks.

color

Color

Opsional. Warna tombol. Jika disetel, type tombol disetel ke FILLED dan warna kolom text dan icon disetel ke warna yang kontras agar mudah dibaca. Misalnya, jika warna tombol ditetapkan ke biru, teks atau ikon apa pun di tombol akan ditetapkan ke putih.

Untuk menyetel warna tombol, tentukan nilai untuk kolom red, green, dan blue. Nilainya harus berupa angka floating point antara 0 dan 1 berdasarkan nilai warna RGB, dengan 0 (0/255) mewakili tidak adanya warna dan 1 (255/255) mewakili intensitas warna maksimum.

Misalnya, kode berikut menetapkan warna menjadi merah pada intensitas maksimumnya:

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

Kolom alpha tidak tersedia untuk warna tombol. Jika ditentukan, kolom ini akan diabaikan.

on_click

OnClick

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

disabled

bool

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

alt_text

string

Teks alternatif yang digunakan untuk aksesibilitas.

Tetapkan teks deskriptif yang memberi tahu pengguna 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".

type

Type

Opsional. Jenis tombol. Jika tidak disetel, jenis tombol defaultnya adalah OUTLINED. Jika kolom color ditetapkan, jenis tombol akan dipaksa menjadi FILLED dan nilai apa pun yang ditetapkan untuk kolom ini akan diabaikan.

Jenis

Opsional. Jenis tombol. Jika kolom color ditetapkan, type akan dipaksa menjadi FILLED.

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

Enum
TYPE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
OUTLINED Tombol bergaris luar adalah tombol penekanan sedang. Tombol ini biasanya berisi tindakan yang penting, tetapi bukan tindakan utama di aplikasi atau add-on Chat.
FILLED Tombol terisi memiliki penampung dengan warna solid. Chip ini memiliki dampak visual paling besar dan direkomendasikan untuk tindakan penting dan utama dalam aplikasi Chat atau add-on.
FILLED_TONAL Tombol tonal yang diisi adalah jalan tengah alternatif antara tombol yang diisi dan tombol yang dibatasi. Tombol ini berguna dalam konteks saat tombol berprioritas lebih rendah memerlukan penekanan yang sedikit lebih besar daripada yang diberikan tombol garis batas.
BORDERLESS Tombol tidak memiliki penampung yang tidak terlihat dalam status defaultnya. Chip ini sering digunakan untuk tindakan dengan prioritas terendah, terutama saat menyajikan beberapa opsi.

ButtonList

Daftar tombol yang disusun secara horizontal. Untuk contoh di aplikasi Google Chat, lihat Menambahkan tombol.

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

Kolom
buttons[]

Button

Array tombol.

Kartu

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

Kartu mendukung tata letak yang ditentukan, elemen UI interaktif seperti tombol, dan media kaya seperti gambar. Gunakan kartu untuk menyajikan informasi mendetail, mengumpulkan informasi dari pengguna, dan memandu pengguna untuk melakukan langkah selanjutnya.

Desain dan pratinjau kartu dengan Pembuat Kartu.

Buka Pembuat Kartu

Untuk mempelajari cara membuat kartu, lihat dokumentasi berikut:

Catatan: Anda dapat menambahkan hingga 100 widget per kartu. Widget apa pun di luar batas ini akan diabaikan. Batas ini berlaku untuk pesan kartu dan dialog di aplikasi Google Chat, serta kartu di add-on Google Workspace.

Contoh: Pesan kartu untuk aplikasi Google Chat

Contoh kartu kontak

Untuk membuat pesan kartu contoh 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"
                             }
                           ]
                         }
                       }
                     }
                   ]
                 }
               }
             ]
           }
         ]
       }
    }
  ]
}
Kolom
header

CardHeader

Header kartu. Header biasanya berisi gambar di awal dan judul. Header selalu muncul di bagian atas kartu.

sections[]

Section

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

section_divider_style

DividerStyle

Gaya pemisah antara header, bagian, dan footer.

card_actions[]

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 membuat menu tindakan kartu dengan opsi Settings dan Send Feedback:

"card_actions": [
  {
    "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.

display_style

DisplayStyle

Di add-on Google Workspace, menetapkan properti tampilan peekCardHeader.

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

peek_card_header

CardHeader

Saat menampilkan konten kontekstual, header kartu intip 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.

CardAction

Tindakan kartu adalah tindakan yang terkait dengan kartu. Misalnya, kartu invoice dapat menyertakan tindakan seperti hapus invoice, kirim invoice melalui email, atau buka invoice di browser.

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

Kolom
action_label

string

Label yang ditampilkan sebagai item menu tindakan.

on_click

OnClick

Tindakan onClick untuk item tindakan ini.

CardFixedFooter

Footer persisten (tetap) yang muncul di bagian bawah kartu.

Menetapkan fixedFooter tanpa menentukan primaryButton atau secondaryButton akan menyebabkan error.

Untuk aplikasi Chat, Anda dapat menggunakan footer tetap dalam dialog, tetapi tidak dalam pesan kartu. Untuk contoh di aplikasi Google Chat, lihat Menambahkan footer persisten.

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

Kolom
primary_button

Button

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

secondary_button

Button

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

CardHeader

Merepresentasikan header kartu. Untuk contoh di aplikasi Google Chat, lihat Menambahkan header.

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

Kolom
title

string

Wajib. Judul header kartu. Header memiliki tinggi tetap: jika judul dan subjudul ditentukan, masing-masing akan menempati satu baris. Jika hanya judul yang ditentukan, judul akan menempati kedua baris.

subtitle

string

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

image_type

ImageType

Bentuk yang digunakan untuk memangkas gambar.

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

image_url

string

URL HTTPS gambar di header kartu.

image_alt_text

string

Teks alternatif gambar ini yang digunakan untuk aksesibilitas.

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 teratas saat ini di stack. Mengklik header akan memunculkan kartu ke dalam tumpukan kartu. Jika kartu tidak memiliki header, header yang dibuat akan digunakan.
REPLACE Nilai default. Kartu ditampilkan dengan mengganti tampilan kartu teratas dalam tumpukan kartu.

DividerStyle

Gaya pemisah kartu. Saat ini hanya digunakan untuk pemisah di antara bagian kartu.

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

Enum
DIVIDER_STYLE_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
SOLID_DIVIDER Opsi default. Merender pemisah solid.
NO_DIVIDER Jika ditetapkan, tidak ada pemisah yang dirender. Gaya ini akan menghapus pemisah sepenuhnya dari tata letak. Hasilnya sama dengan tidak menambahkan pembagi sama sekali.

NestedWidget

Daftar widget yang dapat ditampilkan dalam tata letak yang berisi, seperti CarouselCard. Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk add-on Google Workspace.

Kolom

Kolom union data.

data hanya dapat berupa salah satu dari hal berikut:

text_paragraph

TextParagraph

Widget paragraf teks.

button_list

ButtonList

Widget daftar tombol.

image

Image

Widget gambar.

Bagian

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

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

Kolom
header

string

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

widgets[]

Widget

Semua widget di bagian. Harus berisi minimal satu widget.

collapsible

bool

Menunjukkan apakah bagian ini dapat diciutkan.

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

Untuk menentukan widget mana yang disembunyikan, tentukan uncollapsibleWidgetsCount.

uncollapsible_widgets_count

int32

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

Misalnya, jika bagian berisi lima widget dan uncollapsibleWidgetsCount ditetapkan ke 2, dua widget pertama akan selalu ditampilkan dan tiga widget terakhir akan diciutkan secara default. uncollapsibleWidgetsCount hanya dipertimbangkan jika collapsible adalah true.

collapse_control

CollapseControl

Opsional. Tentukan tombol luaskan dan ciutkan bagian. Tombol ini hanya akan ditampilkan jika bagian dapat diciutkan. Jika kolom ini tidak disetel, tombol default akan digunakan.

Carousel, yang juga dikenal sebagai penggeser, memutar dan menampilkan daftar widget dalam format slide, dengan tombol yang menavigasi ke widget sebelumnya atau berikutnya.

Misalnya, ini adalah representasi JSON dari carousel yang berisi tiga widget paragraf teks.

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

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

Kolom
carousel_cards[]

CarouselCard

Daftar kartu yang disertakan dalam carousel.

CarouselCard

Kartu yang dapat ditampilkan sebagai item carousel. Tersedia untuk aplikasi Google Chat dan tidak tersedia untuk add-on Google Workspace.

Kolom
widgets[]

NestedWidget

Daftar widget yang ditampilkan di kartu carousel. Widget ditampilkan sesuai urutan yang ditentukan.

footer_widgets[]

NestedWidget

Daftar widget yang ditampilkan di bagian bawah kartu carousel. Widget ditampilkan sesuai urutan yang ditentukan.

Chip

Chip teks, ikon, atau teks dan ikon yang dapat diklik pengguna.

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

Kolom
icon

Icon

Gambar ikon. Jika icon dan text ditetapkan, ikon akan muncul sebelum teks.

label

string

Teks yang ditampilkan di dalam chip.

on_click

OnClick

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

enabled
(deprecated)

bool

Apakah chip dalam status aktif dan merespons tindakan pengguna. Default-nya adalah true. Tidak digunakan lagi. Sebagai gantinya, gunakan disabled.

disabled

bool

Apakah chip dalam status tidak aktif dan mengabaikan tindakan pengguna. Default-nya adalah false.

alt_text

string

Teks alternatif yang digunakan untuk aksesibilitas.

Tetapkan teks deskriptif yang memberi tahu pengguna fungsi chip. Misalnya, jika chip membuka hyperlink, tulis: "Membuka tab browser baru dan membuka dokumentasi developer Google Chat di https://developers.google.com/workspace/chat".

ChipList

Daftar chip yang disusun secara horizontal, yang dapat di-scroll secara horizontal atau di-wrap ke baris berikutnya.

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

Kolom
layout

Layout

Tata letak daftar chip yang ditentukan.

chips[]

Chip

Array chip.

Tata Letak

Tata letak daftar chip.

Enum
LAYOUT_UNSPECIFIED Jangan gunakan. Tidak ditentukan.
WRAPPED Nilai default. Daftar chip akan di-wrap ke baris berikutnya jika tidak ada cukup ruang horizontal.
HORIZONTAL_SCROLLABLE Chip di-scroll secara horizontal jika tidak sesuai dengan ruang yang tersedia.

CollapseControl

Menampilkan kontrol perluas dan ciutkan.

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

Kolom
horizontal_alignment

HorizontalAlignment

Perataan horizontal tombol luaskan dan ciutkan.

expand_button

Button

Opsional. Tentukan tombol yang dapat disesuaikan untuk meluaskan bagian. Kolom expand_button dan collapse_button harus ditetapkan. Hanya satu set kolom yang tidak akan berlaku. Jika kolom ini tidak disetel, tombol default akan digunakan.

collapse_button

Button

Opsional. Tentukan tombol yang dapat disesuaikan untuk menciutkan bagian. Kolom expand_button dan collapse_button harus ditetapkan. Hanya satu set kolom yang tidak akan berlaku. Jika kolom ini tidak disetel, tombol default akan digunakan.

Kolom

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

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

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

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

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

Tersedia untuk aplikasi Google Chat dan add-on Google Workspace. UI add-on yang mendukung kolom meliputi:

  • Dialog yang ditampilkan saat pengguna membuka add-on dari draf email.
  • Dialog yang ditampilkan saat pengguna membuka add-on dari menu Tambahkan lampiran di acara Google Kalender.
Kolom
column_items[]

Column

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

Kolom

Kolom.

Add-on Google Workspace dan aplikasi Chat

Kolom
horizontal_size_style

HorizontalSizeStyle

Menentukan cara kolom mengisi lebar kartu.

horizontal_alignment

HorizontalAlignment

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

vertical_alignment

VerticalAlignment

Menentukan apakah widget diratakan ke atas, bawah, atau tengah kolom.

widgets[]

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.

Add-on Google Workspace dan aplikasi Chat

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

VerticalAlignment

Menentukan apakah widget diratakan ke atas, bawah, atau tengah kolom.

Add-on Google Workspace dan aplikasi Chat

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

Widget

Widget yang didukung yang dapat Anda sertakan dalam kolom.

Add-on Google Workspace dan aplikasi Chat

Kolom

Kolom union data.

data hanya dapat berupa salah satu dari hal berikut:

text_paragraph

TextParagraph

Widget TextParagraph.

image

Image

Widget Image.

decorated_text

DecoratedText

Widget DecoratedText.

button_list

ButtonList

Widget ButtonList.

text_input

TextInput

Widget TextInput.

selection_input

SelectionInput

Widget SelectionInput.

date_time_picker

DateTimePicker

Widget DateTimePicker.

chip_list

ChipList

Widget ChipList.

DateTimePicker

Memungkinkan pengguna memasukkan tanggal, waktu, atau keduanya. Mendukung validasi pengiriman formulir. Jika Action.all_widgets_are_required disetel ke true atau widget ini ditentukan di Action.required_widgets, tindakan pengiriman akan diblokir kecuali jika nilai dipilih. Untuk contoh di aplikasi Google Chat, lihat Membiarkan 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.

Kolom
name

string

Nama yang digunakan untuk mengidentifikasi DateTimePicker dalam peristiwa input formulir.

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

label

string

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

type

DateTimePickerType

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

value_ms_epoch

int64

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 merepresentasikan 1 Januari 2023 pukul 12.00 UTC, gunakan 1672574400000.
  • DATE_ONLY: tanggal kalender pada 00.00.00 UTC. Misalnya, untuk menampilkan 1 Januari 2023, gunakan 1672531200000.
  • TIME_ONLY: waktu dalam UTC. Misalnya, untuk menampilkan 12.00 PM, gunakan 43200000 (atau 12 * 60 * 60 * 1000).
timezone_offset_date

int32

Angka yang merepresentasikan selisih zona waktu dari UTC, dalam menit. Jika ditetapkan, value_ms_epoch ditampilkan dalam zona waktu yang ditentukan. Jika tidak disetel, nilai defaultnya adalah setelan zona waktu pengguna.

on_change_action

Action

Dipicu saat pengguna mengklik Simpan atau Hapus dari antarmuka DateTimePicker.

DateTimePickerType

Format untuk tanggal dan waktu di widget DateTimePicker. Menentukan apakah pengguna dapat memasukkan tanggal, waktu, atau keduanya.

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.

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 melihat contoh di aplikasi Google Chat, lihat Menampilkan teks dengan teks dekoratif.

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

Kolom
icon
(deprecated)

Icon

Tidak digunakan lagi dan digantikan dengan startIcon.

start_icon

Icon

Ikon yang ditampilkan di depan teks.

start_icon_vertical_alignment

VerticalAlignment

Opsional. Perataan vertikal ikon mulai. Jika tidak disetel, ikon akan berada di tengah secara vertikal.

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

top_label

string

Teks yang muncul di atas text. Selalu memangkas.

top_label_text

TextParagraph

TextParagraph yang setara dengan top_label. Selalu memangkas. Memungkinkan format yang lebih kompleks daripada top_label.

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

text

string

Wajib. Teks utama.

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

content_text

TextParagraph

TextParagraph yang setara dengan text. Memungkinkan format yang lebih kompleks daripada text.

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

wrap_text

bool

Setelan kemas teks. Jika true, teks akan di-wrap dan ditampilkan dalam beberapa baris. Jika tidak, teks akan terpotong.

Hanya berlaku untuk text, bukan topLabel dan bottomLabel.

bottom_label

string

Teks yang muncul di bawah text. Selalu di-wrap.

bottom_label_text

TextParagraph

TextParagraph yang setara dengan bottom_label. Selalu di-wrap. Memungkinkan format yang lebih kompleks daripada bottom_label.

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

on_click

OnClick

Tindakan ini dipicu saat pengguna mengklik topLabel atau bottomLabel.

Kolom union control. Tombol, pengalih, kotak centang, atau gambar yang muncul di sisi kanan teks dalam widget decoratedText. control hanya dapat berupa salah satu dari hal berikut:
button

Button

Tombol yang dapat diklik pengguna untuk memicu tindakan.

switch_control

SwitchControl

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

end_icon

Icon

Ikon yang ditampilkan setelah teks.

Mendukung ikon bawaan dan kustom.

SwitchControl

Sakelar gaya tombol atau kotak centang di dalam widget decoratedText.

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

Hanya didukung di widget decoratedText.

Kolom
name

string

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

Untuk mengetahui detail tentang cara menggunakan input formulir, lihat Menerima 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 Menerima data formulir.

selected

bool

Saat true, tombol dipilih.

on_change_action

Action

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

control_type

ControlType

Tampilan tombol di antarmuka pengguna.

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

ControlType

Tampilan tombol di antarmuka pengguna.

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

Enum
SWITCH Tombol gaya tombol.
CHECKBOX Tidak digunakan lagi dan digantikan dengan CHECK_BOX.
CHECK_BOX Kotak centang.

Pembatas

Jenis ini tidak memiliki kolom.

Menampilkan pemisah antar-widget sebagai garis horizontal. Untuk contoh di aplikasi Google Chat, lihat Menambahkan pemisah horizontal di antara 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 dapat 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 kumpulan item.

Petak mendukung sejumlah kolom dan item. Jumlah baris ditentukan oleh item dibagi dengan kolom. Petak dengan 10 item dan 2 kolom memiliki 5 baris. Petak 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"
    }
  }
}
Kolom
title

string

Teks yang ditampilkan di header petak.

items[]

GridItem

Item yang akan ditampilkan dalam petak.

border_style

BorderStyle

Gaya batas yang akan diterapkan ke setiap item petak.

column_count

int32

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

on_click

OnClick

Callback ini digunakan kembali oleh setiap item petak individual, 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.

Kolom
id

string

ID yang ditentukan pengguna untuk item petak ini. ID ini ditampilkan dalam parameter callback onClick petak induk.

image

ImageComponent

Gambar yang ditampilkan di item petak.

title

string

Judul item petak.

subtitle

string

Subtitel item petak.

layout

GridItemLayout

Tata letak yang akan digunakan untuk item petak.

GridItemLayout

Mewakili 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 subtitel ditampilkan di atas gambar item petak.

Ikon

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

Mendukung ikon bawaan dan kustom.

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

Kolom
alt_text

string

Opsional. Deskripsi ikon yang digunakan untuk aksesibilitas. Jika tidak ditentukan, nilai default Button akan diberikan. Sebagai praktik terbaik, Anda harus menetapkan deskripsi yang berguna untuk apa yang ditampilkan ikon, dan jika berlaku, apa yang dilakukannya. 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 disetel di Button, altText akan muncul sebagai teks bantuan saat pengguna mengarahkan kursor ke tombol. Namun, jika tombol juga menetapkan text, altText ikon akan diabaikan.

image_type

ImageType

Gaya pangkas yang diterapkan pada gambar. Dalam beberapa kasus, menerapkan pemangkasan CIRCLE 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 berikut:
known_icon

string

Menampilkan salah satu ikon bawaan yang disediakan oleh Google Workspace.

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

Untuk mengetahui daftar lengkap ikon yang didukung, lihat ikon bawaan.

icon_url

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.

material_icon

MaterialIcon

Menampilkan salah satu Ikon Material Google.

Misalnya, untuk menampilkan ikon kotak centang, gunakan

"material_icon": {
  "name": "check_box"
}

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

Gambar

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

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

Kolom
image_url

string

URL HTTPS yang menghosting gambar.

Contoh:

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

OnClick

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

alt_text

string

Teks alternatif gambar ini yang digunakan untuk aksesibilitas.

ImageComponent

Mewakili gambar.

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

Kolom
image_uri

string

URL gambar.

alt_text

string

Label aksesibilitas untuk gambar.

crop_style

ImageCropStyle

Gaya pangkas yang akan diterapkan pada gambar.

border_style

BorderStyle

Gaya bingkai yang akan diterapkan pada gambar.

ImageCropStyle

Mewakili gaya pangkas 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
}
Kolom
type

ImageCropType

Jenis pemangkasan.

aspect_ratio

double

Rasio aspek yang akan digunakan jika jenis pangkas adalah RECTANGLE_CUSTOM.

Misalnya, berikut cara menerapkan rasio aspek 16:9:

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

ImageCropType

Mewakili gaya pangkas 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 pangkas persegi.
CIRCLE Menerapkan pangkasan melingkar.
RECTANGLE_CUSTOM Menerapkan pangkasan persegi panjang dengan rasio aspek kustom. Tetapkan rasio aspek kustom dengan aspectRatio.
RECTANGLE_4_3 Menerapkan pemangkasan persegi panjang dengan rasio aspek 4:3.

MaterialIcon

Ikon Material Google, yang mencakup lebih dari 2.500+ opsi.

Misalnya, untuk menampilkan ikon kotak centang dengan ketebalan dan tingkat yang disesuaikan, tulis kode berikut:

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

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

Kolom
name

string

Nama ikon yang ditentukan di Ikon Material Google, misalnya, check_box. Nama yang tidak valid akan dibatalkan dan diganti dengan string kosong, sehingga ikon gagal dirender.

fill

bool

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

Untuk melihat pratinjau setelan ikon yang berbeda, buka Ikon Font Google dan sesuaikan setelan di bagian Sesuaikan.

weight

int32

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

Untuk melihat pratinjau setelan ikon yang berbeda, buka Ikon Font Google dan sesuaikan setelan di bagian Sesuaikan.

grade

int32

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

Untuk melihat pratinjau setelan ikon yang berbeda, buka Ikon Font Google dan sesuaikan setelan di bagian Sesuaikan.

OnClick

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

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

Kolom

Kolom union data.

data hanya dapat berupa salah satu dari hal berikut:

action

Action

Jika ditentukan, tindakan dipicu oleh onClick ini.

card

Card

Kartu baru didorong ke tumpukan kartu setelah diklik jika ditentukan.

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

overflow_menu

OverflowMenu

Jika ditentukan, onClick ini akan membuka menu tambahan.

OnClose

Tindakan klien saat link yang dibuka oleh tindakan OnClick ditutup.

Implementasi bergantung pada kemampuan platform klien. Misalnya, browser web dapat membuka link di jendela pop-up dengan handler OnClose.

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

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

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

Memuat ulang kartu setelah jendela anak ditutup.

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

OpenAs

Saat tindakan OnClick membuka link, klien dapat membukanya sebagai jendela berukuran penuh (jika itu adalah frame yang digunakan oleh klien), atau overlay (seperti pop-up). 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 berukuran penuh (jika itu adalah frame yang digunakan oleh klien).
OVERLAY Link akan terbuka sebagai overlay, seperti pop-up.

OverflowMenu

Widget yang menampilkan menu pop-up dengan satu atau beberapa tindakan yang dapat dipicu pengguna. Misalnya, menampilkan tindakan non-utama dalam kartu. Anda dapat menggunakan widget ini saat tindakan tidak sesuai dengan ruang yang tersedia. Untuk menggunakannya, tentukan widget ini dalam tindakan OnClick widget yang mendukungnya. Misalnya, dalam Button.

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

Kolom
items[]

OverflowMenuItem

Wajib. Daftar opsi menu.

OverflowMenuItem

Opsi yang dapat dipanggil pengguna di menu tambahan.

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

Kolom
start_icon

Icon

Ikon yang ditampilkan di depan teks.

text

string

Wajib. Teks yang mengidentifikasi atau menjelaskan item kepada pengguna.

on_click

OnClick

Wajib. Tindakan yang dipanggil saat opsi menu dipilih. OnClick ini tidak boleh berisi OverflowMenu, OverflowMenu yang ditentukan akan dihilangkan dan item menu dinonaktifkan.

disabled

bool

Apakah opsi menu dinonaktifkan. Nilai defaultnya adalah false (salah).

SelectionInput

Widget yang membuat satu atau beberapa item UI yang dapat dipilih pengguna. Mendukung validasi pengiriman formulir untuk menu dropdown dan multiselect saja. Jika Action.all_widgets_are_required disetel ke true atau widget ini ditentukan di Action.required_widgets, tindakan pengiriman akan diblokir kecuali jika nilai dipilih. Misalnya, menu dropdown atau kotak centang. Anda dapat menggunakan widget ini untuk mengumpulkan data yang dapat diprediksi atau dihitung. 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 Menerima data formulir.

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

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

Kolom
name

string

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

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

label

string

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

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

type

SelectionType

Jenis item yang ditampilkan kepada pengguna di widget 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[]

SelectionItem

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

on_change_action

Action

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

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

multi_select_min_query_length

int32

Untuk menu pilihan ganda, jumlah karakter teks yang dimasukkan pengguna sebelum menu menampilkan item pilihan yang disarankan.

Jika tidak disetel, menu pilihan ganda akan menggunakan nilai default berikut:

  • Jika menu menggunakan array statis item SelectionInput, defaultnya adalah 0 karakter dan langsung mengisi item dari array.
  • Jika menu menggunakan sumber data dinamis (multi_select_data_source), defaultnya adalah 3 karakter sebelum membuat kueri sumber data untuk menampilkan item yang disarankan.
multi_select_max_selected_items

int32

Untuk menu pilihan ganda, jumlah maksimum item yang dapat dipilih pengguna. Nilai minimum adalah 1 item. Jika tidak ditentukan, defaultnya adalah 3 item.

Kolom union multi_select_data_source. Untuk menu pilihan ganda, sumber data yang mengisi item pilihan secara dinamis.

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

external_data_source

Action

Sumber data eksternal, seperti database relasional.

platform_data_source

PlatformDataSource

Sumber data dari Google Workspace.

PlatformDataSource

Untuk widget SelectionInput yang menggunakan menu pilihan ganda, sumber data dari Google Workspace. Digunakan untuk mengisi item di menu pilihan ganda.

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

Kolom
Kolom union data_source. Sumber data. data_source hanya dapat berupa salah satu dari berikut:
common_data_source

CommonDataSource

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

host_app_data_source

HostAppDataSourceMarkup

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

Kolom ini mendukung Library Klien Google API, tetapi tidak tersedia di Library Klien Cloud. Untuk mempelajari lebih lanjut, lihat Menginstal library klien.

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 mereka.

SelectionItem

Item yang dapat dipilih pengguna dalam input pilihan, seperti kotak centang atau tombol. Mendukung hingga 100 item.

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

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 Menerima data formulir.

selected

bool

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

bottom_text

string

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

Kolom union start_icon. Untuk menu pilihan ganda, URL ikon yang ditampilkan di samping kolom text item. Mendukung file PNG dan JPEG. Harus berupa URL HTTPS. Contohnya, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png start_icon hanya dapat berupa salah satu dari hal berikut:
start_icon_uri

string

SelectionType

Format untuk item yang dapat dipilih pengguna. Opsi yang berbeda mendukung berbagai jenis interaksi. 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 Kumpulan kotak centang. Pengguna dapat memilih satu atau beberapa kotak centang.
RADIO_BUTTON Kumpulan tombol pilihan. Pengguna dapat memilih satu tombol pilihan.
SWITCH Kumpulan tombol. Pengguna dapat mengaktifkan satu atau beberapa sakelar.
DROPDOWN Menu dropdown. Pengguna dapat memilih satu item dari menu.
MULTI_SELECT

Menu dengan kotak teks. Pengguna dapat mengetik dan memilih satu atau beberapa item. Untuk add-on Google Workspace, Anda harus mengisi item menggunakan array statis objek SelectionItem.

Untuk aplikasi Google Chat, Anda juga dapat mengisi item menggunakan sumber data dinamis dan menyarankan item secara otomatis saat pengguna mengetik di menu. Misalnya, pengguna dapat mulai mengetik nama ruang Google Chat dan widget akan menyarankan ruang secara otomatis. Untuk mengisi item secara dinamis untuk menu pilihan ganda, gunakan salah satu jenis sumber data berikut:

  • 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 pilihan ganda untuk aplikasi Chat, lihat Menambahkan menu pilihan ganda.

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

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 difilter secara dinamis agar cocok dengan apa yang telah diketik pengguna.

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

Nilai yang disarankan membantu memandu pengguna memasukkan nilai yang dapat dipahami aplikasi Anda. Saat merujuk ke JavaScript, beberapa pengguna mungkin memasukkan javascript dan yang lain java script. Menyarankan JavaScript dapat menstandardisasi cara pengguna berinteraksi dengan aplikasi Anda.

Jika ditentukan, TextInput.type selalu SINGLE_LINE, meskipun ditetapkan ke MULTIPLE_LINE.

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

Kolom
items[]

SuggestionItem

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

SuggestionItem

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

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

Kolom

Kolom union content.

content hanya dapat berupa salah satu dari hal berikut:

text

string

Nilai input yang disarankan ke kolom input teks. Hal ini setara dengan apa yang dimasukkan pengguna sendiri.

TextInput

Kolom tempat pengguna dapat memasukkan teks. Mendukung saran dan tindakan saat perubahan. Mendukung validasi pengiriman formulir. Jika Action.all_widgets_are_required disetel ke true atau widget ini ditentukan dalam Action.required_widgets, tindakan pengiriman akan diblokir kecuali jika nilai dimasukkan. Untuk contoh di aplikasi Google Chat, lihat Menambahkan 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 Menerima data formulir.

Jika Anda perlu mengumpulkan data yang tidak ditentukan atau abstrak dari pengguna, gunakan input teks. Untuk mengumpulkan data yang ditentukan atau di-enum dari pengguna, gunakan widget SelectionInput.

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

Kolom
name

string

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

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

label

string

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

Tentukan teks yang membantu pengguna memasukkan informasi yang dibutuhkan aplikasi Anda. Misalnya, jika Anda menanyakan nama seseorang, tetapi secara khusus memerlukan nama belakangnya, tulis surname, bukan name.

Wajib jika hintText tidak ditentukan. Jika tidak, bersifat opsional.

hint_text

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, bersifat opsional.

value

string

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

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

type

Type

Tampilan kolom input teks di antarmuka pengguna. Misalnya, apakah kolom berupa satu baris atau beberapa baris.

on_change_action

Action

Yang harus dilakukan saat terjadi perubahan di kolom input teks. Misalnya, pengguna menambahkan ke kolom atau menghapus teks.

Contoh tindakan yang dapat dilakukan termasuk menjalankan fungsi kustom atau membuka dialog di Google Chat.

initial_suggestions

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 difilter secara dinamis agar cocok dengan apa yang telah diketik pengguna.

Misalnya, kolom input teks untuk bahasa pemrograman dapat menyarankan Java, JavaScript, Python, dan C++. Saat pengguna mulai mengetik Jav, daftar saran akan difilter untuk menampilkan Java dan JavaScript saja.

Nilai yang disarankan membantu memandu pengguna memasukkan nilai yang dapat dipahami aplikasi Anda. Saat merujuk ke JavaScript, beberapa pengguna mungkin memasukkan javascript dan yang lain java script. Menyarankan JavaScript dapat menstandardisasi cara pengguna berinteraksi dengan aplikasi Anda.

Jika ditentukan, TextInput.type selalu SINGLE_LINE, meskipun ditetapkan ke MULTIPLE_LINE.

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

auto_complete_action

Action

Opsional. Tentukan tindakan yang harus dilakukan saat kolom input teks memberikan saran kepada pengguna yang berinteraksi dengannya.

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

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

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

validation

Validation

Tentukan validasi format input yang diperlukan untuk kolom teks ini.

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

placeholder_text

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

Tampilan kolom input teks di antarmuka pengguna. Misalnya, apakah berupa kolom input satu baris, atau input multi-baris. Jika initialSuggestions ditentukan, type selalu SINGLE_LINE, meskipun ditetapkan 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.

TextParagraph

Paragraf teks yang mendukung pemformatan. Untuk contoh di aplikasi Google Chat, lihat Menambahkan paragraf teks yang diformat. Untuk mengetahui 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.

Kolom
text

string

Teks yang ditampilkan di widget.

max_lines

int32

Jumlah maksimum baris teks yang ditampilkan di widget. Jika teks melebihi jumlah baris maksimum yang ditentukan, konten yang berlebih akan disembunyikan di balik tombol tampilkan lebih banyak. Jika teks sama dengan atau lebih pendek dari jumlah baris maksimum yang ditentukan, tombol tampilkan lebih banyak tidak akan ditampilkan.

Nilai defaultnya adalah 0, yang dalam hal ini semua konteks ditampilkan. Nilai negatif akan diabaikan.

text_syntax

TextSyntax

Sintaksis teks. Jika tidak ditetapkan, teks akan dirender sebagai HTML.

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

TextSyntax

Sintaksis yang digunakan untuk memformat teks.

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

Enum
TEXT_SYNTAX_UNSPECIFIED Teks dirender sebagai HTML jika tidak ditentukan.
HTML Teks dirender sebagai HTML. Nilai ini merupakan default.
MARKDOWN Teks dirender sebagai Markdown.

Validasi

Menampilkan data yang diperlukan untuk memvalidasi widget yang terlampir.

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

Kolom
character_limit

int32

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.

input_type

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.

Widget

Setiap kartu terdiri dari widget.

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

Kolom
horizontal_alignment

HorizontalAlignment

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

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

TextParagraph

Menampilkan paragraf teks. Mendukung teks berformat HTML sederhana. Untuk mengetahui 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

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

DecoratedText

Menampilkan item teks yang dihias.

Misalnya, JSON berikut membuat widget teks berhias 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"
  }
}
button_list

ButtonList

Daftar tombol.

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

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

TextInput

Menampilkan kotak teks yang dapat digunakan pengguna untuk mengetik.

Misalnya, JSON berikut membuat input teks untuk alamat email:

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

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

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

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

Divider

Menampilkan pembagi garis horizontal di antara widget.

Misalnya, JSON berikut membuat pemisah:

"divider": {
}
grid

Grid

Menampilkan petak dengan kumpulan item.

Petak mendukung sejumlah kolom dan item. Jumlah baris ditentukan oleh batas atas jumlah item dibagi dengan jumlah kolom. Petak dengan 10 item dan 2 kolom memiliki 5 baris. Petak 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

Columns

Menampilkan hingga 2 kolom.

Untuk menyertakan lebih dari 2 kolom, atau untuk menggunakan baris, gunakan widget 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"
          }
        }
      ]
    }
  ]
}
carousel

Carousel

Carousel berisi kumpulan widget bertingkat. Misalnya, ini adalah representasi JSON dari carousel yang berisi dua paragraf teks.

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

ChipList

Daftar chip.

Misalnya, JSON berikut membuat dua chip. Yang pertama adalah chip teks dan yang kedua adalah chip ikon yang membuka link:

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

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. Menyejajarkan widget ke posisi awal kolom. Untuk tata letak kiri-ke-kanan, sejajar ke kiri. Untuk tata letak kanan-ke-kiri, sejajarkan ke kanan.
CENTER Menyejajarkan widget ke tengah kolom.
END Menyejajarkan widget ke posisi akhir kolom. Untuk tata letak kiri-ke-kanan, menyelaraskan widget ke kanan. Untuk tata letak kanan-ke-kiri, menyelaraskan widget ke kiri.

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 melingkar ke gambar. Misalnya, gambar 4x3 menjadi lingkaran dengan diameter 3.

VerticalAlignment

Mewakili atribut perataan vertikal.

Enum
VERTICAL_ALIGNMENT_UNSPECIFIED Jenis tidak ditentukan. Jangan gunakan.
TOP Perataan ke posisi atas.
MIDDLE Penyejajaran ke posisi tengah.
BOTTOM Penyejajaran ke posisi bawah.