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 @mention atau perintah garis miring.
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. |
Aplikasi Chat mengirim pesan orientasi yang menjelaskan fungsinya dan cara pengguna di ruang 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. |
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. |
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 menu multipilih widget `selectionInput`. Aplikasi chat dapat menggunakan objek peristiwa ini untuk mengisi item yang disarankan dari sumber data dinamis. Misalnya, untuk mengisi kasus dukungan dari sumber data eksternal, aplikasi Chat dapat mengkueri sumber data berdasarkan apa yang diketik pengguna ke dalam menu, lalu menampilkan kasus dukungan yang cocok sebagai item yang dapat dipilih.
Objek
|
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. |
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. |
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. |
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 multi-pilihan. | 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 berlangsung.
- 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.