Halaman ini menjelaskan cara aplikasi Google Chat Anda dapat menerima dan merespons interaksi pengguna, yang juga dikenal sebagai aplikasi Google Chat peristiwa interaksi.
Halaman ini menjelaskan cara melakukan tindakan berikut:
- Mengonfigurasi aplikasi Chat Anda untuk menerima interaksi peristiwa.
- Memproses peristiwa interaksi di infrastruktur Anda.
- Jika memungkinkan, respons peristiwa interaksi.
Prasyarat
Aplikasi Google Chat yang diaktifkan untuk fitur interaktif. Untuk membuat aplikasi Chat interaktif, selesaikan salah satu panduan memulai berikut berdasarkan pada arsitektur aplikasi yang ingin Anda gunakan:
- Layanan HTTP dengan Google Cloud Functions
- Skrip Google Apps
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Cara kerja peristiwa interaksi
Peristiwa interaksi aplikasi Google Chat mewakili tindakan apa pun yang yang dibutuhkan pengguna untuk memanggil atau berinteraksi dengan aplikasi Chat, seperti seperti @menyebut aplikasi Chat atau menambahkannya ke spasi. Saat pengguna berinteraksi dengan aplikasi Chat, Google Chat mengirimkan peristiwa interaksi ke aplikasi Chat. Aplikasi Chat dapat menggunakan peristiwa tersebut untuk memproses berinteraksi dan menciptakan suatu respons.
Misalnya, aplikasi Chat menggunakan peristiwa interaksi untuk melakukan salah satu tindakan berikut ini:
Contoh peristiwa interaksi | Respons umum dari aplikasi Chat |
---|---|
Pengguna memanggil aplikasi Chat dengan @menyebutnya atau menggunakan perintah garis miring. | Tujuan
Aplikasi Chat memproses isi pesan
membuat pesan. Misalnya, aplikasi Chat membalas
perintah /about dengan pesan yang menjelaskan tugas yang
bisa dilakukan aplikasi Chat. |
Pengguna menambahkan aplikasi Chat ke spasi. | Aplikasi Chat mengirimkan orientasi pesan yang menjelaskan fungsinya dan cara pengguna dalam ruang dapat berinteraksi dengannya anotasi. |
Pengguna menghapus Aplikasi Chat dari ruang. | Tujuan Aplikasi Chat menghapus semua notifikasi masuk yang dikonfigurasikan untuk ruang (seperti menghapus webhook) dan menghapus semua dan penyimpanan internal. |
Pengguna mengklik tombol pada kartu atau dialog yang dikirim oleh Aplikasi Chat. | Aplikasi Chat memproses dan menyimpan setiap data yang dikirimkan pengguna, atau menampilkan kartu maupun dialog lain. |
Untuk setiap jenis interaksi pengguna, Google Chat mengirimkan jenis interaksi yang berbeda
peristiwa interaksi yang membantu aplikasi Chat Anda menangani setiap peristiwa
jenis peristiwa yang sesuai. Misalnya, Google Chat menggunakan jenis peristiwa
ADDED_TO_SPACE
untuk interaksi apa pun tempat pengguna menambahkan
aplikasi Chat ke ruang, sehingga
Aplikasi chat dapat menangani respons, seperti memposting
pesan selamat datang ke ruang. Untuk melihat semua peristiwa interaksi yang didukung, lihat metode
Referensi EventType
dokumentasi.
Menerima peristiwa interaksi aplikasi Chat
Bagian ini menjelaskan cara menerima dan memproses peristiwa interaksi untuk Aplikasi Chat.
Mengonfigurasi aplikasi Chat Anda untuk menerima peristiwa interaksi
Tidak semua aplikasi Chat bersifat interaktif. Misalnya, web webhook masuk hanya dapat mengirim pesan keluar dan tidak dapat merespons pengguna. Jika Anda membuat aplikasi Chat, Anda harus memilih endpoint yang memungkinkan Aplikasi Chat menerima, memproses, dan merespons interaksi peristiwa. Untuk mempelajari lebih lanjut cara mendesain aplikasi Chat, lihat Arsitektur implementasi aplikasi Chat.
Untuk setiap fitur interaktif yang ingin dibangun, Anda harus memperbarui konfigurasi Anda di Chat API sehingga Google Chat dapat mengirim peristiwa interaksi terkait ke aplikasi Chat Anda:
Di konsol Google Cloud, buka halaman Chat API dan klik Halaman Konfigurasi:
Di bagian Interactive Features, tinjau setelan dan perbarui berdasarkan fitur yang ingin Anda bangun:
Kolom Deskripsi Fungsi Wajib diisi. Kumpulan kolom yang menentukan cara aplikasi Chat berinteraksi dengan pengguna: - Menerima pesan 1:1: Pengguna dapat menemukan dan mengirim pesan ke aplikasi Chat langsung di Google Chat.
- Bergabung ke ruang dan percakapan grup: Pengguna dapat menambahkan aplikasi Chat ke ruang dan percakapan grup.
Setelan koneksi Wajib diisi. Endpoint untuk aplikasi Chat, yang merupakan salah satu dari hal berikut: - URL aplikasi: Endpoint HTTPS yang menghosting implementasi aplikasi Chat.
- Project Apps Script: ID deployment untuk project Apps Script yang menerapkan aplikasi Chat.
- Nama topik Cloud Pub/Sub: Topik Pub/Sub yang menjadi langganan aplikasi Chat sebagai endpoint.
- Dialogflow: Mendaftarkan aplikasi Chat dengan integrasi Dialogflow. Untuk mengetahui informasi selengkapnya, lihat Membangun aplikasi Google Chat Dialogflow yang memahami natural language.
Perintah garis miring Opsional. Perintah yang dapat ditampilkan kepada pengguna dalam Google Chat. Memungkinkan pengguna melihat tindakan inti untuk aplikasi Chat Anda dalam Google Chat, dan memilih tindakan tertentu yang ingin mereka gunakan. Untuk mengetahui informasi selengkapnya, lihat Merespons perintah garis miring sebagai aplikasi Chat. Pratinjau link Opsional. Pola URL yang dikenali aplikasi Chat dan menyediakan konten tambahan saat pengguna mengirim link. Untuk informasi selengkapnya, lihat Pratinjau link. Visibilitas Opsional. Maksimal lima orang, atau satu atau beberapa Google Grup yang dapat melihat dan menginstal aplikasi Chat Anda. Gunakan kolom ini untuk menguji aplikasi Chat Anda, atau untuk berbagi aplikasi Chat dengan tim Anda. Untuk informasi selengkapnya, lihat Menguji fitur interaktif. Klik Simpan. Saat Anda menyimpan aplikasi Chat aplikasi Chat Anda tersedia untuk pengguna tertentu di organisasi Google Workspace Anda.
Aplikasi Chat Anda kini dikonfigurasi untuk menerima interaksi peristiwa dari Google Chat.
Menangani percobaan ulang panggilan HTTP ke layanan
Jika permintaan HTTPS ke layanan Anda gagal (seperti waktu tunggu habis, permintaan jaringan sementara gagal, atau kode status HTTPS non-2xx), Google Chat mungkin mencoba mengirimkan kembali beberapa kali dalam beberapa menit (tetapi ini tidak dijamin). Hasilnya, Aplikasi Chat mungkin menerima pesan yang sama beberapa kali di situasi tertentu. Jika permintaan berhasil diselesaikan, tetapi menampilkan nilai yang tidak valid payload pesan, Google Chat tidak akan mencoba lagi permintaan tersebut.
Memproses atau merespons peristiwa interaksi
Bagian ini menjelaskan cara aplikasi Google Chat memproses dan merespons peristiwa interaksi.
Setelah aplikasi Chat Anda menerima peristiwa interaksi dari Google Chat, mereka dapat merespons dengan banyak cara. Dalam banyak kasus, alat yang interaktif Aplikasi Chat membalas pengguna dengan pesan. Aplikasi Google Chat juga dapat mencari beberapa informasi dari data sumber, catat informasi peristiwa interaksi, atau hampir semua hal lainnya. Perilaku pemrosesan ini pada dasarnya adalah hal yang menentukan Aplikasi Google Chat.
Untuk merespons secara sinkron, aplikasi Chat harus merespons dalam waktu 30 detik, dan responsnya harus diposting di ruang tempat terjadi interaksi. Jika tidak, aplikasi Chat dapat merespons secara asinkron.
Untuk setiap peristiwa interaksi, aplikasi Chat menerima isi permintaan, yaitu payload JSON yang mewakili peristiwa tersebut. Anda dapat menggunakan informasi untuk memproses respons. Untuk contoh payload peristiwa, lihat Jenis peristiwa interaksi aplikasi Chat.
Diagram berikut menunjukkan bagaimana Aplikasi Google Chat biasanya memproses atau merespons berbagai jenis peristiwa interaksi:
Tampilkan respons secara real time
Peristiwa interaksi memungkinkan aplikasi Chat merespons secara real time, atau secara sinkron. Respons sinkron tidak memerlukan autentikasi.
Merespons untuk bergabung ke ruang
Dalam contoh ini, aplikasi Chat Anda membuat dan mengirim teks setiap kali ditambahkan ke ruang. Untuk mempelajari tentang praktik baik untuk proses orientasi pengguna, lihat Memperkenalkan pengguna ke aplikasi Chat Anda.
Untuk mengirim pesan teks saat pengguna menambahkan aplikasi Chat Anda
ke ruang, aplikasi Chat Anda
merespons ADDED_TO_SPACE
peristiwa interaksi. Untuk menanggapi
Peristiwa interaksi ADDED_TO_SPACE
dengan pesan teks, gunakan kode berikut:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The event object from Chat API.
* @param {Object} res The response object from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if (req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Cymbal at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
Contoh kode ini menampilkan pesan teks berikut:
Contoh lain untuk merespons interaksi
Untuk membuat respons sinkron terhadap peristiwa interaksi, lihat referensi berikut panduan:
- Menyiapkan perintah garis miring
- Membuka dialog interaktif
- Pratinjau link
- Memproses informasi yang dikirimkan oleh pengguna
Berikan respons secara asinkron
Terkadang aplikasi Chat harus merespons peristiwa interaksi setelah 30 detik atau melakukan tugas di luar ruang tempat peristiwa interaksi dibuat. Misalnya, aplikasi Chat mungkin perlu merespons pengguna setelah menyelesaikan tugas yang berjalan lama. Dalam kasus ini, Aplikasi Chat dapat merespons secara asinkron dengan memanggil Google Chat API.
Untuk membuat pesan menggunakan Chat API, lihat Buat pesan. Untuk panduan penggunaan metode Chat API tambahan, lihat metode Ringkasan Chat API.
Topik terkait
- Mengirim pesan
- Membuka dialog interaktif
- Pratinjau link
- Membaca input data formulir oleh pengguna di kartu
- Merespons perintah garis miring
- Membuat halaman beranda untuk aplikasi Chat
- Memverifikasi permintaan dari Chat
- Menguji fitur interaktif untuk aplikasi Google Chat