Halaman ini menjelaskan cara membuat aplikasi Chat menggunakan Pub/Sub. Jenis arsitektur untuk aplikasi Chat 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 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 kartu individual dengan respons sinkron. Sebagai gantinya, update
seluruh pesan dengan memanggil
patch
.
Diagram berikut menunjukkan arsitektur Aplikasi Chat yang dibangun 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 dengan aplikasi Chat yang memiliki subscription Anda.
Chat mengirimkan 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
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki 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.
- Java 11 atau yang lebih baru
- Alat pengelolaan paket Maven
Python
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki 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.
- Python 3.6 atau yang lebih baru
- Alat pengelolaan paket pip
Node.js
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki 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 proyek 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
Membuat topik Pub/Sub yang dapat dikirimi pesan oleh Chat API. Sebaiknya gunakan satu topik per aplikasi Chat.
Memberi Chat izin untuk memublikasikan topik dengan menetapkan peran Pub/Sub Publisher ke akun layanan:
chat-api-push@system.gserviceaccount.com
Membuat akun layanan untuk aplikasi Chat guna mendapatkan otorisasi dengan Pub/Sub dan Lakukan chat dan simpan file kunci pribadi ke direktori kerja Anda.
Membuat langganan pull ke topik.
Tetapkan Pub/Sub Subscriber Role pada langganan untuk akun layanan yang telah dibuat sebelumnya.
Tulis naskah
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 yang telah 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
, tempel 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
, tempel kode berikut:Di direktori kerja, buat file bernama
app.py
.Di
app.py
, tempel 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
, tempel 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 & yang diaktifkan Layanan > Google Chat API > Konfigurasi.
Konfigurasi 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, lalu tempelkan 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 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 telah Anda yang diberikan ketika Anda menambahkan diri Anda sebagai penguji tepercaya.
- Klik Chat baru.
- Di kolom Tambahkan 1 orang atau lebih, ketik nama Aplikasi Chat.
Pilih aplikasi Chat Anda dari hasil yang ditampilkan. Iklan langsung pesan 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 menampilkan pesan yang bertuliskan "Terjadi masalah". atau "Tidak dapat memproses permintaan Anda". Terkadang UI Chat tidak menampilkan pesan error apa pun, tetapi aplikasi Chat atau memberikan hasil yang tidak diharapkan; misalnya, pesan kartu mungkin tidak akan 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 ke akun Google Cloud Anda untuk sumber daya yang digunakan dalam tutorial ini, sebaiknya Anda menghapus project Google 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 menyelesaikan proyek tersebut.
Topik terkait
Untuk menambahkan lebih banyak fitur ke aplikasi Chat Anda, lihat berikut ini: