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, 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 setiap kartu dengan respons sinkron. Sebagai gantinya, perbarui
seluruh pesan dengan memanggil
metode
patch
.
Diagram berikut menunjukkan arsitektur aplikasi Chat yang dibuat 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 dalam pesan langsung maupun di ruang Chat, atau peristiwa terjadi di ruang Chat yang langganan-nya aktif di aplikasi Chat.
Chat mengirim pesan ke topik Pub/Sub.
Server aplikasi, yang merupakan sistem cloud atau on-premise yang berisi logika aplikasi Chat, berlangganan ke 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 project yang ada telah mengaktifkan penagihan, 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 project yang ada telah mengaktifkan penagihan, lihat Memverifikasi status penagihan project Anda. Untuk membuat project dan menyiapkan penagihan, lihat Membuat project Google Cloud.
- Python 3.6 atau yang lebih tinggi
- 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 project yang ada telah mengaktifkan penagihan, 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 diinisialisasi. Untuk menginisialisasi project baru, buat dan
beralih ke folder baru, lalu jalankan perintah berikut di antarmuka command line:
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 menerima pesan dari Chat API. 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 agar aplikasi Chat dapat diotorisasi dengan Pub/Sub dan Chat, lalu simpan file kunci pribadi ke direktori kerja Anda.
Buat langganan pull ke topik.
Tetapkan Peran Pelanggan Pub/Sub di langganan untuk akun layanan yang Anda buat sebelumnya.
Menulis skrip
Java
Di CLI, berikan kredensial akun layanan:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Di CLI, berikan project ID Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang Anda buat sebelumnya:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja, buat file bernama
pom.xml
.Di file
pom.xml
, tempel 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 project ID Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang Anda buat sebelumnya:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja, buat file bernama
requirements.txt
.Di file
requirements.txt
, tempel kode berikut:Di direktori kerja, 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 project ID Google Cloud:
export PROJECT_ID=PROJECT_ID
Di CLI, berikan ID langganan untuk langganan Pub/Sub yang Anda buat sebelumnya:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja, buat file bernama
package.json
.Di file
package.json
, tempel kode berikut:Di direktori kerja, buat file bernama
index.js
.Di
index.js
, tempelkan kode berikut:
Memublikasikan aplikasi ke Chat
Di konsol Google Cloud, buka Menu > API & Layanan > API & Layanan yang Diaktifkan > Google Chat API > Konfigurasi.
Konfigurasikan aplikasi Chat untuk Pub/Sub:
- Di App name, 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 Receive 1:1 messages dan Join spaces and group conversations.
- Di bagian Connection settings, pilih Cloud Pub/Sub dan tempelkan nama topik Pub/Sub yang sebelumnya Anda buat.
- Di bagian Visibilitas, pilih Buat 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 App name, 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 akan mulai memproses pesan yang dipublikasikan ke topik Pub/Sub.
Menguji aplikasi Chat
Untuk menguji aplikasi Chat, buka ruang pesan langsung dengan aplikasi Chat dan kirim pesan:
Buka Google Chat menggunakan akun Google Workspace yang Anda berikan saat menambahkan diri sebagai penguji tepercaya.
- Klik Chat 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 cara menguji fitur interaktif, lihat Menguji fitur interaktif untuk aplikasi Google Chat.
Memecahkan masalah
Saat aplikasi Google Chat atau kartu menampilkan error, antarmuka Chat akan menampilkan pesan yang bertuliskan "Terjadi masalah". atau "Tidak dapat memproses permintaan Anda". Terkadang UI Chat tidak menampilkan pesan error, 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 saat 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.
- 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, lihat hal berikut: