Halaman ini menjelaskan perbedaan antara pesan teks dan kartu.
Saat aplikasi Chat mengirim pesan teks untuk menyampaikan informasi dasar, pesan akan muncul secara inline, seperti cara orang di Google Chat menulis pesan. Untuk membuat pesan yang berisi lebih dari sekadar teks, atau untuk membuat pesan yang dapat berinteraksi dengan pengguna, aplikasi Chat dapat menggunakan kartu. Aplikasi chat juga dapat menambahkan pesan teks dengan kartu. Untuk meminta pengguna menyelesaikan proses multi-langkah seperti mengisi formulir, aplikasi Chat juga dapat membuat kartu yang terbuka di jendela baru sebagai dialog.
Anatomi pesan teks
Di Google Chat API, pesan direpresentasikan sebagai objek JSON. Dalam pesan, pesan teks direpresentasikan sebagai objek text
.
Pada contoh berikut, aplikasi Chat membuat pesan teks di ruang untuk tim developer software yang mendekati pembekuan kode:
{
"text": "Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."
}
JSON akan menampilkan pesan berikut:
Anatomi pesan kartu
Di Google Chat API, pesan direpresentasikan sebagai objek JSON. Dalam pesan, kartu direpresentasikan sebagai array cardsV2
dan terdiri dari hal berikut:
- Satu atau beberapa
objek
CardWithId
. cardId
, digunakan untuk mengidentifikasi kartu dan dicakupkan dalam pesan tertentu. (Kartu dalam pesan yang berbeda dapat memiliki ID yang sama.)Objek
card
, yang terdiri dari hal berikut:- Objek
header
yang menentukan hal-hal seperti judul, subtitel, dan gambar bergaya avatar. - Satu atau beberapa objek
section
yang masing-masing berisi setidaknya satu widget. - Satu atau beberapa
objek
widget
. Setiap widget adalah objek gabungan yang dapat merepresentasikan teks, gambar, tombol, dan jenis objek lainnya.
- Objek
Contohnya, pesan kartu berikut berisi objek
header
,
section
, dan
widget
:
Kode berikut mewakili JSON pesan kartu:
JSON
{
"cardsV2": [
{
"cardId": "unique-card-id",
"card": {
"header": {
"title": "Sasha",
"subtitle": "Software Engineer",
"imageUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png",
"imageType": "CIRCLE",
"imageAltText": "Avatar for Sasha"
},
"sections": [
{
"header": "Contact Info",
"collapsible": true,
"uncollapsibleWidgetsCount": 1,
"widgets": [
{
"decoratedText": {
"startIcon": {
"knownIcon": "EMAIL"
},
"text": "sasha@example.com"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PERSON"
},
"text": "<font color=\"#80e27e\">Online</font>"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PHONE"
},
"text": "+1 (555) 555-1234"
}
},
{
"buttonList": {
"buttons": [
{
"text": "Share",
"onClick": {
"openLink": {
"url": "https://example.com/share"
}
}
},
{
"text": "Edit",
"onClick": {
"action": {
"function": "goToView",
"parameters": [
{
"key": "viewType",
"value": "EDIT"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}