Halaman ini memberikan ringkasan tentang cara mem-build antarmuka pengguna (UI) untuk add-on Google Workspace yang memperluas Google Chat.
Di Google Chat, add-on akan muncul kepada pengguna sebagai aplikasi Google Chat. Untuk mempelajari lebih lanjut, lihat Ringkasan memperluas Google Chat.
Untuk mem-build antarmuka aplikasi Chat, Anda menggunakan komponen add-on berikut:
- Pemicu: Cara pengguna Google Chat dapat memanggil aplikasi Chat, seperti menambahkannya ke ruang atau mengirim pesan ke aplikasi tersebut.
- Objek peristiwa: Data yang diterima aplikasi Chat dari pemicu atau interaksi UI.
- Tindakan: Cara aplikasi Chat dapat merespons interaksi, seperti mengirim pesan atau menampilkan antarmuka pengguna berbasis kartu.
Aplikasi Chat dapat membuat dan menampilkan kartu di antarmuka berikut:
- Pesan yang dapat berisi teks, kartu statis atau interaktif, dan tombol.
- Dialog yang merupakan kartu yang terbuka di jendela baru dan biasanya meminta pengguna untuk mengirimkan informasi.
- Pratinjau link yang merupakan kartu yang menampilkan pratinjau informasi tentang layanan eksternal.
Pemicu
Bagian ini menjelaskan pemicu yang digunakan add-on Google Workspace di Chat.
Pemicu adalah cara spesifik pengguna memanggil aplikasi Chat menggunakan UI Chat, seperti menggunakan @sebutan atau perintah aplikasi.
Tabel berikut menunjukkan pemicu Chat, deskripsi, dan cara aplikasi Chat biasanya merespons:
Pemicu | Deskripsi | Respons umum |
---|---|---|
Ditambahkan ke ruang |
Pengguna menambahkan aplikasi Chat ke ruang, atau administrator Google Workspace menginstal aplikasi Chat di ruang pesan langsung untuk pengguna di organisasi mereka. Untuk mempelajari aplikasi Chat yang diinstal oleh administrator, lihat Menginstal aplikasi Marketplace di domain Anda dalam dokumentasi Bantuan Admin Google Workspace. |
Aplikasi Chat mengirim pesan orientasi yang menjelaskan fungsinya dan cara pengguna di ruang tersebut berinteraksi dengannya. |
Kirim pesan |
Pengguna berinteraksi dengan aplikasi Chat dalam pesan dengan salah satu cara berikut:
|
Aplikasi Chat merespons berdasarkan konten pesan. Misalnya, aplikasi Chat membalas
perintah /about dengan pesan yang menjelaskan tugas yang
dapat dilakukan aplikasi Chat.
|
Dihapus dari ruang |
Pengguna menghapus aplikasi Chat dari ruang, atau administrator Google Workspace meng-uninstal aplikasi Chat untuk pengguna di organisasinya. Pengguna tidak dapat menghapus aplikasi Chat yang diinstal oleh administrator mereka. Jika pengguna sebelumnya telah menginstal aplikasi Chat, aplikasi Chat akan tetap diinstal terlepas dari apakah administrator Google Workspace mencoba meng-uninstalnya. |
Aplikasi Chat akan menghapus notifikasi masuk yang dikonfigurasi untuk ruang (seperti menghapus webhook) dan mengosongkan penyimpanan internal. Aplikasi chat tidak dapat merespons dengan pesan ke pemicu ini, karena pengguna tidak lagi menjadi anggota ruang. |
Perintah aplikasi |
Pengguna menggunakan perintah cepat atau perintah garis miring dari aplikasi Chat. |
Aplikasi Chat merespons perintah. Misalnya, membalas dengan pesan atau membuka dialog. |
Tidak seperti add-on Google Workspace lainnya, Anda harus mengonfigurasi fungsi callback apa pun untuk pemicu ini menggunakan Google Chat API. Untuk panduan, lihat Mengonfigurasi aplikasi Google Chat.
Untuk merespons pemicu, lihat panduan berikut:
Objek peristiwa
Bagian ini menentukan dan menjelaskan semua elemen objek peristiwa Chat. Untuk mempelajari lebih lanjut, lihat Objek peristiwa.
Objek peristiwa | |
---|---|
commonEventObject |
object
(CommonEventObject)
Objek yang berisi informasi yang umum untuk semua objek peristiwa, terlepas dari aplikasi host. |
chat |
object
(Chat)
Objek yang berisi semua informasi tentang interaksi Chat. |
Chat
Chat | |
---|---|
chat.user |
object
(User)
Pengguna Chat yang berinteraksi dengan aplikasi Chat. |
chat.space |
object
(Space)
Ruang Chat tempat pengguna berinteraksi dengan aplikasi Chat. |
chat.eventTime |
|
Kolom union
|
|
chat.messagePayload |
Payload yang diterima aplikasi Chat dari pemicu Pesan. |
chat.addedToSpacePayload |
Payload yang diterima aplikasi Chat dari pemicu Ditambahkan ke ruang. |
chat.removedFromSpacePayload |
Payload yang diterima aplikasi Chat dari pemicu Dihapus dari ruang. |
chat.buttonClickedPayload |
Payload yang diterima aplikasi Chat saat pengguna mengklik
tombol dari pesan atau kartu. Jika pengguna mengklik tombol untuk mengirimkan
informasi, objek |
chat.widgetUpdatedPayload |
Payload yang diterima aplikasi Chat saat pengguna
mengetik teks ke dalam menu multipilih
widget
Objek
|
chat.appCommandPayload |
Payload yang diterima aplikasi Chat saat pengguna menggunakan perintah dari aplikasi Chat. |
Payload
Bergantung pada jenis interaksi, peristiwa ini berisi payload dengan satu atau beberapa resource Chat API.
Payload pesan
MessagePayload | |
---|---|
chat.messagePayload.message |
object
(Message)
Pesan Chat yang memicu peristiwa. |
chat.messagePayload.space |
object
(Space)
Ruang Chat tempat pengguna mengirim pesan yang memanggil aplikasi Chat. |
Ditambahkan ke payload ruang
AddedToSpacePayload | |
---|---|
chat.addedToSpacePayload.space |
object
(Space)
Ruang Chat tempat pengguna menambahkan atau menginstal aplikasi Chat. Saat administrator menginstal aplikasi Chat, kolom
|
chat.addedToSpacePayload.interactionAdd |
boolean Apakah pengguna menambahkan aplikasi Chat ke ruang menggunakan pesan. Misalnya, @mention aplikasi Chat atau menggunakan perintah garis miring. Jika true , Chat akan mengirim objek peristiwa lain dengan
messagePayload yang berisi informasi tentang pesan.
|
Dihapus dari payload ruang
RemovedFromSpacePayload | |
---|---|
chat.removedFromSpacePayload.space |
object
(Space)
Ruang Chat tempat pengguna menghapus atau meng-uninstal aplikasi Chat. Saat administrator meng-uninstal aplikasi Chat, kolom |
Payload tombol diklik
ButtonClickedPayload | |
---|---|
chat.buttonClickedPayload.message |
object
(Message)
Pesan Chat yang berisi tombol yang diklik pengguna. |
chat.buttonClickedPayload.space |
object
(Space)
Ruang Chat tempat pengguna mengklik tombol dari pesan aplikasi Chat. |
chat.buttonClickedPayload.isDialogEvent |
boolean Apakah pengguna mengklik tombol untuk berinteraksi dengan dialog. |
chat.buttonClickedPayload.dialogEventType |
enum (DialogEventType) Jika isDialogEvent adalah true , jenis
interaksi dalam dialog.
|
Enum Nilai |
|
TYPE_UNSPECIFIED |
Nilai default. Tidak ditentukan. |
REQUEST_DIALOG |
Pengguna meminta dialog. Misalnya, mereka menggunakan perintah garis miring atau mengklik tombol dari pesan. |
SUBMIT_DIALOG |
Pengguna mengklik elemen interaktif dalam dialog. Misalnya, pengguna mengisi informasi dalam dialog dan mengklik tombol untuk mengirimkan informasi. |
Payload widget yang diperbarui
WidgetUpdatedPayload | |
---|---|
chat.widgetUpdatedPayload.space |
object
(Space)
Ruang Chat tempat interaksi terjadi. |
Payload perintah aplikasi
AppCommandPayload | |
---|---|
chat.appCommandPayload.appCommandMetadata |
object
(AppCommandMetadata)
Metadata tentang perintah yang digunakan pengguna, dan cara mereka memicu perintah. |
chat.appCommandPayload.space |
object
(Space)
Ruang Chat tempat pengguna menggunakan perintah. |
chat.appCommandPayload.thread |
object
(Thread)
Jika interaksi terjadi dalam rangkaian pesan, rangkaian pesan Chat tempat pengguna menggunakan perintah. |
chat.appCommandPayload.message |
object
(Message)
Pesan yang dikirim pengguna dengan perintah garis miring. |
chat.appCommandPayload.configCompleteRedirectUri |
string Jika otorisasi atau konfigurasi diperlukan untuk perintah, URL yang akan dialihkan pengguna setelah mereka menyelesaikan proses di luar Google Chat. |
chat.appCommandPayload.isDialogEvent |
boolean Apakah perintah membuka dialog. |
chat.appCommandPayload.dialogEventType |
enum (DialogEventType) Jenis interaksi dengan dialog. |
Enum Nilai |
|
TYPE_UNSPECIFIED |
Nilai default. Tidak ditentukan. |
REQUEST_DIALOG |
Pengguna meminta dialog. Misalnya, mereka menggunakan perintah garis miring atau mengklik tombol dari pesan. |
SUBMIT_DIALOG |
Pengguna mengklik elemen interaktif dalam dialog. Misalnya, pengguna mengisi informasi dalam dialog dan mengklik tombol untuk mengirimkan informasi. |
Metadata Perintah Aplikasi
AppCommandMetadata | |
---|---|
chat.appCommandPayload.appCommandMetadata.appCommandId |
ID perintah. |
chat.appCommandPayload.appCommandMetadata.appCommandType |
enum (AppCommandType) Jenis perintah. |
Enum Nilai |
|
APP_COMMAND_TYPE_UNSPECIFIED |
Nilai default. Tidak ditentukan. |
SLASH_COMMAND |
Pengguna menggunakan perintah dengan mengirim pesan yang diawali dengan garis miring / . |
Tindakan chat
Bagian ini menjelaskan cara aplikasi Chat dapat menggunakan tindakan add-on untuk merespons interaksi pengguna.
Untuk merespons dengan tindakan add-on, aplikasi Chat harus merespons dalam waktu 30 detik, dan respons harus diposting di ruang tempat interaksi terjadi. Jika tidak, aplikasi Chat harus menyiapkan autentikasi dan memanggil Google Chat API untuk merespons.
Aplikasi chat dapat menangani dan merespons interaksi dengan banyak cara. Dalam banyak kasus, aplikasi Chat akan membalas dengan pesan. Aplikasi chat juga dapat mencari beberapa informasi dari sumber data, mencatat informasi objek peristiwa, atau apa pun. Perilaku pemrosesan ini pada dasarnya adalah yang menentukan aplikasi Google Chat.
Untuk merespons interaksi pengguna, aplikasi Chat harus menangani objek peristiwa yang sesuai dan menampilkan salah satu objek JSON berikut:
DataActions
: Membuat atau memperbarui data Google Workspace. Untuk mengirim atau memperbarui pesan Chat, objek harus berisi markup yang menentukan perubahan pada dataMessage
, yang direpresentasikan sebagaichatDataActionMarkup
.RenderActions
: Menampilkan atau menavigasi antar-kartu dalam pesan dan dialog.basic_authorization_prompt
: Meminta pengguna dengan kartu otorisasi untuk login atau mengautentikasi ke layanan yang bersifat eksternal terhadap Google. Untuk mengetahui detailnya, lihat Menghubungkan add-on Google Workspace ke layanan pihak ketiga.
Respons yang diinginkan aplikasi Chat | Tindakan yang diperlukan untuk kembali |
---|---|
Mengirim atau memperbarui pesan. | DataActions |
Membuka, memperbarui, atau menutup dialog. | RenderActions |
Untuk mengumpulkan informasi dari kartu atau dialog, sarankan item pilihan berdasarkan apa yang diketik pengguna ke dalam menu multipilih. | RenderActions |
Pratinjau link dalam pesan yang dikirim pengguna Chat di ruang. | DataActions |
Merespons menggunakan Google Chat API
Daripada menampilkan tindakan add-on, aplikasi Chat mungkin perlu menggunakan Google Chat API untuk merespons interaksi. Misalnya, aplikasi Chat harus memanggil Google Chat API untuk melakukan salah satu hal berikut:
- Merespons interaksi setelah 30 detik.
- Melakukan tugas di luar ruang tempat interaksi terjadi.
- Melakukan tugas di Chat yang tidak tersedia sebagai tindakan add-on. Misalnya, cantumkan ruang yang menjadi anggota pengguna atau aplikasi Chat, atau tambahkan pengguna ke ruang.
- Melakukan tugas atas nama pengguna Chat (yang memerlukan autentikasi pengguna).
Untuk mempelajari cara mengautentikasi dan memanggil Chat API, lihat ringkasan Chat API.