Halaman ini menjelaskan cara membuat aplikasi Chat menggunakan Pub/Sub. Jenis arsitektur untuk aplikasi Chat ini berguna jika organisasi Anda memiliki firewall, yang dapat mencegah Chat mengirim pesan ke aplikasi Chat Anda, atau jika aplikasi Chat menggunakan Google Workspace Events API. Namun, arsitektur ini memiliki batasan berikut karena aplikasi Chat ini hanya dapat mengirim dan menerima pesan asinkron:
- Tidak dapat menggunakan dialog dalam pesan. Sebagai gantinya, gunakan pesan kartu.
- Tidak dapat memperbarui kartu satu per satu dengan respons sinkron. Sebagai gantinya, perbarui
seluruh pesan dengan memanggil
metode
patch
.
Diagram berikut menunjukkan arsitektur aplikasi Chat yang dibangun dengan Pub/Sub:
Dalam diagram sebelumnya, pengguna yang berinteraksi dengan aplikasi Chat Pub/Sub memiliki alur informasi berikut:
Pengguna mengirim pesan di Chat ke aplikasi Chat, baik di pesan langsung maupun di ruang Chat, atau peristiwa terjadi di ruang Chat yang aplikasi Chat-nya memiliki langganan aktif.
Chat mengirim pesan ke topik Pub/Sub.
Server aplikasi, yaitu sistem cloud atau lokal yang berisi logika aplikasi Chat, berlangganan topik Pub/Sub untuk menerima pesan melalui firewall.
Secara opsional, aplikasi Chat dapat memanggil Chat API untuk memposting pesan secara asinkron atau melakukan operasi lainnya.
Prasyarat
Java
- Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
- Project Google Cloud yang mengaktifkan penagihan. Untuk memeriksa apakah penagihan diaktifkan untuk project yang ada, lihat Memverifikasi status penagihan project Anda. Untuk membuat project dan menyiapkan penagihan, lihat Membuat project Google Cloud.
- Java 11 atau yang lebih baru
- Alat pengelolaan paket Maven
Python
- Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
- Project Google Cloud yang mengaktifkan penagihan. Untuk memeriksa apakah penagihan diaktifkan untuk project yang ada, lihat Memverifikasi status penagihan project Anda. Untuk membuat project dan menyiapkan penagihan, lihat Membuat project Google Cloud.
- Python 3.6 atau yang lebih baru
- Alat pengelolaan paket pip
Node.js
- Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
- Project Google Cloud yang mengaktifkan penagihan. Untuk memeriksa apakah penagihan diaktifkan untuk project yang ada, lihat Memverifikasi status penagihan project Anda. Untuk membuat project dan menyiapkan penagihan, lihat Membuat project Google Cloud.
- Node.js 14 atau yang lebih baru
- Alat pengelolaan paket npm
-
Project Node.js yang telah diinisialisasi. Untuk menginisialisasi project baru, buat dan
beralih ke folder baru, lalu jalankan perintah berikut di antarmuka command line Anda:
npm init
Menyiapkan lingkungan
Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud.Di konsol Google Cloud, aktifkan Google Chat API dan Pub/Sub API.
Menyiapkan Pub/Sub
Buat topik Pub/Sub yang dapat digunakan Chat API untuk mengirim pesan. Sebaiknya gunakan satu topik per aplikasi Chat.
Berikan izin Chat untuk memublikasikan ke topik dengan menetapkan peran Pub/Sub Publisher ke akun layanan berikut:
chat-api-push@system.gserviceaccount.com
Buat akun layanan untuk aplikasi Chat agar dapat melakukan otorisasi dengan Pub/Sub dan Chat, lalu simpan file kunci pribadi ke direktori kerja Anda.
Buat langganan pull ke topik.
Tetapkan Peran Pelanggan Pub/Sub pada langganan untuk akun layanan yang Anda buat sebelumnya.
Tulis skrip
Java
Di CLI, berikan kredensial akun layanan:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Di CLI, berikan ID project Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang sebelumnya Anda buat:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja Anda, buat file bernama
pom.xml
.Di file
pom.xml
, tempelkan kode berikut:Di direktori kerja Anda, buat struktur direktori
src/main/java
.Di direktori
src/main/java
, buat file bernamaMain.java
.Di
Main.java
, tempelkan kode berikut:
Python
Di CLI, berikan kredensial akun layanan:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Di CLI, berikan ID project Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang sebelumnya Anda buat:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja Anda, buat file bernama
requirements.txt
.Di file
requirements.txt
, tempelkan kode berikut:Di direktori kerja Anda, buat file bernama
app.py
.Di
app.py
, tempelkan kode berikut:
Node.js
Di CLI, berikan kredensial akun layanan:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Di CLI, berikan ID project Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang sebelumnya Anda buat:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja Anda, buat file bernama
package.json
.Di file
package.json
, tempelkan kode berikut:Di direktori kerja Anda, buat file bernama
index.js
.Di
index.js
, tempelkan kode berikut:
Memublikasikan aplikasi ke Chat
Di konsol Google Cloud, buka Menu > APIs & Services > Enabled APIs & Services > Google Chat API > Configuration.
Konfigurasi aplikasi Chat untuk Pub/Sub:
- Di Nama aplikasi, masukkan
Quickstart App
. - Di Avatar URL, masukkan
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - Di Deskripsi, masukkan
Quickstart app
. - Di bagian Functionality, pilih Join spaces and group conversations.
- Di bagian Setelan koneksi, pilih Cloud Pub/Sub dan tempel nama topik Pub/Sub yang Anda buat sebelumnya.
- Di bagian Visibilitas, pilih Jadikan aplikasi Google Chat ini tersedia untuk orang dan grup tertentu di domain Anda, lalu masukkan alamat email Anda.
- Di bagian Logs, pilih Log errors to Logging.
- Di Nama aplikasi, masukkan
Klik Simpan.
Aplikasi siap menerima dan membalas pesan di Chat.
Jalankan skrip:
Di CLI, beralihlah ke direktori kerja Anda dan jalankan skrip:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Saat Anda menjalankan kode, aplikasi mulai memproses pesan yang dipublikasikan ke topik Pub/Sub.
Menguji aplikasi Chat Anda
Untuk menguji aplikasi Chat Anda, buka ruang pesan langsung dengan aplikasi Chat dan kirim pesan:
Buka Google Chat menggunakan akun Google Workspace yang Anda berikan saat menambahkan diri Anda sebagai penguji tepercaya.
- Klik Percakapan baru.
- Di kolom Tambahkan 1 orang atau lebih, ketik nama aplikasi Chat Anda.
Pilih aplikasi Chat Anda dari hasil. Pesan langsung akan terbuka.
- Di pesan langsung baru dengan aplikasi, ketik
Hello
, lalu tekanenter
.
Untuk menambahkan penguji tepercaya dan mempelajari lebih lanjut pengujian fitur interaktif, lihat Menguji fitur interaktif untuk aplikasi Google Chat.
Memecahkan masalah
Saat aplikasi atau kartu Google Chat menampilkan error, antarmuka Chat akan menampilkan pesan yang mengatakan "Terjadi masalah". atau "Tidak dapat memproses permintaan Anda". Terkadang UI Chat tidak menampilkan pesan error apa pun, tetapi aplikasi atau kartu Chat menghasilkan hasil yang tidak terduga; misalnya, pesan kartu mungkin tidak muncul.
Meskipun pesan error mungkin tidak ditampilkan di UI Chat, pesan error deskriptif dan data log tersedia untuk membantu Anda memperbaiki error jika logging error untuk aplikasi Chat diaktifkan. Untuk mendapatkan bantuan dalam melihat, men-debug, dan memperbaiki error, lihat Memecahkan masalah dan memperbaiki error Google Chat.
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, sebaiknya hapus project Cloud tersebut.
- Di Konsol Google Cloud, buka halaman Manage resources. Klik Menu > IAM & Admin > Kelola Resource.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus .
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Topik terkait
Untuk menambahkan lebih banyak fitur ke aplikasi Chat Anda, lihat berikut: