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 keterbatasan sebagai berikut karena Aplikasi chat 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, update
seluruh pesan dengan memanggil
patch
.
Diagram berikut menunjukkan arsitektur aplikasi Chat yang dibuat dengan Pub/Sub:
Pada diagram sebelumnya, pengguna berinteraksi dengan Pub/Sub Aplikasi Chat memiliki alur informasi berikut:
Pengguna mengirim pesan di Chat kepada aplikasi Chat, baik di pesan langsung maupun dalam Ruang Chat atau acara terjadi di ruang Chat di mana aplikasi Chat memiliki subscription Anda.
Chat mengirim pesan ke topik Pub/Sub.
Server aplikasi, yang merupakan sistem {i>cloud<i} atau lokal 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 operasional bisnis.
Prasyarat
Java
- Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
- Project Google Cloud dengan penagihan diaktifkan. 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 dengan penagihan diaktifkan. 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 dengan penagihan diaktifkan. Untuk memeriksa apakah project yang ada 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
- npm alat pengelolaan paket
-
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
Membuat topik Pub/Sub yang dapat dikirimi pesan oleh Chat API. Sebaiknya gunakan satu topik per aplikasi Chat.
Memberikan izin Chat untuk memublikasikan topik dengan menetapkan peran Pub/Sub Publisher ke akun layanan:
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 Pub/Sub Subscriber Role pada langganan untuk akun layanan yang telah dibuat 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 yang telah Anda buat sebelumnya:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja, buat file bernama
requirements.txt
.Di file
requirements.txt
, tempelkan 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 yang telah Anda buat sebelumnya:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Di direktori kerja, buat file bernama
package.json
.Di file
package.json
, tempelkan kode berikut:Di direktori kerja, buat file bernama
index.js
.Di
index.js
, tempel 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
. - Pada Description, 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 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 App name, masukkan
Klik Simpan.
Aplikasi siap menerima dan menanggapi 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 mengirim 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.
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 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 bantuan melihat, men-debug, dan memperbaiki error, melihat 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 Anda, lihat berikut ini: