Untuk mencegah pengalihan konteks saat pengguna membagikan link di Google Chat, aplikasi Chat Anda dapat mempratinjau link dengan melampirkan kartu ke pesan mereka, yang memberikan lebih banyak informasi dan memungkinkan orang mengambil tindakan langsung dari Google Chat.
Misalnya, bayangkan ruang Google Chat yang mencakup semua agen layanan pelanggan perusahaan ditambah aplikasi Chat bernama Case-y. Agen sering membagikan link ke kasus layanan pelanggan di ruang Chat, dan setiap kali mereka melakukannya, rekan kerja mereka harus membuka link kasus untuk melihat detail seperti penerima tugas, status, dan subjek. Demikian pula, jika seseorang ingin mengambil kepemilikan kasus atau mengubah status, maka ia harus membuka linknya.
Pratinjau link memungkinkan aplikasi Chat penghuni ruang, Case-y, melampirkan kartu yang menunjukkan penerima tugas, status, dan subjek setiap kali seseorang membagikan link kasus. Tombol di kartu memungkinkan agen mengambil alih kepemilikan kasus dan mengubah status langsung dari streaming chat.
Cara kerja pratinjau link
Saat seseorang menambahkan link ke pesannya, chip akan muncul yang memberi tahu bahwa aplikasi Chat mungkin melihat pratinjau link tersebut.
Setelah mengirim pesan, link akan dikirim ke aplikasi Chat, yang kemudian akan membuat dan melampirkan kartu ke pesan pengguna.
Di samping link, kartu tersebut memberikan informasi tambahan tentang link tersebut, termasuk elemen interaktif seperti tombol. Aplikasi Chat Anda dapat mengupdate kartu yang dilampirkan sebagai respons terhadap interaksi pengguna, seperti klik tombol.
Jika seseorang tidak ingin aplikasi Chat melihat pratinjau link dengan melampirkan kartu ke pesannya, ia dapat mencegah pratinjau dengan mengklik
di chip pratinjau. Pengguna dapat menghapus kartu terlampir kapan saja dengan mengklik Hapus pratinjau.Prasyarat
Node.js
Aplikasi Google Chat yang diaktifkan untuk fitur interaktif. Untuk membuat aplikasi Chat interaktif menggunakan layanan HTTP, selesaikan panduan memulai ini.
Apps Script
Aplikasi Google Chat yang diaktifkan untuk fitur interaktif. Untuk membuat aplikasi Chat interaktif di Apps Script, selesaikan panduan memulai ini.
Mengonfigurasi pratinjau link
Daftarkan link tertentu - seperti example.com
, support.example.com
, dan support.example.com/cases/
- sebagai pola URL di halaman konfigurasi aplikasi Chat Anda di Konsol Google Cloud, sehingga aplikasi Chat Anda dapat melihat pratinjaunya.
- Buka Konsol Google Cloud.
- Di samping "Google Cloud", klik Panah bawah , lalu buka project aplikasi Chat Anda.
- Di kolom penelusuran, ketik
Google Chat API
lalu klik Google Chat API. - Klik Kelola > Konfigurasi.
- Di bagian Pratinjau link, tambahkan atau edit pola URL.
- Untuk mengonfigurasi pratinjau link untuk pola URL baru, klik Tambahkan Pola URL.
- Untuk mengedit konfigurasi pola URL yang ada, klik Panah bawah .
Di kolom Host pola, masukkan domain pola URL. Aplikasi Chat akan melihat pratinjau link ke domain ini.
Agar link pratinjau aplikasi Chat untuk subdomain tertentu, seperti
subdomain.example.com
, sertakan subdomain tersebut.Agar mendapatkan link pratinjau aplikasi Chat untuk seluruh domain, tentukan karakter pengganti dengan tanda bintang (*) sebagai subdomain. Misalnya,
*.example.com
cocok dengansubdomain.example.com
danany.number.of.subdomains.example.com
.Di kolom Awalan jalur, masukkan jalur yang akan ditambahkan ke domain pola host.
Untuk mencocokkan semua URL di domain pola host, kosongkan Awalan jalur.
Misalnya, jika pola Host adalah
support.example.com
, agar cocok dengan URL untuk kasus yang dihosting disupport.example.com/cases/
, masukkancases/
.Klik Selesai.
Klik Simpan.
Sekarang, setiap kali seseorang menyertakan link yang cocok dengan pola URL pratinjau link dengan pesan di ruang Chat yang menyertakan aplikasi Chat Anda, aplikasi Anda akan melihat pratinjau link tersebut.
Melihat pratinjau link
Setelah Anda mengonfigurasi pratinjau link untuk link tertentu, Aplikasi Chat dapat mengenali dan melihat pratinjau link dengan melampirkan informasi lebih banyak darinya.
Di dalam ruang Chat yang menyertakan
Aplikasi Chat, saat pesan seseorang berisi link yang
cocok dengan pola URL pratinjau link, yaitu aplikasi Chat Anda
menerima
Peristiwa interaksi MESSAGE
. JSON
payload untuk peristiwa interaksi berisi kolom matchedUrl
:
JSON
"message": {
. . . // other message attributes redacted
"matchedUrl": {
"url": "https://support.example.com/cases/case123"
},
. . . // other message attributes redacted
}
Dengan memeriksa keberadaan kolom matchedUrl
di peristiwa MESSAGE
payload, aplikasi Chat Anda dapat menambahkan informasi ke
dengan tautan yang dipratinjau. Aplikasi Chat Anda dapat
membalas dengan pesan teks
sederhana atau melampirkan kartu.
Balas dengan pesan teks
Untuk respons sederhana, aplikasi Chat Anda dapat melihat pratinjau link dengan membalas melalui pesan teks sederhana ke sebuah tautan. Contoh ini melampirkan pesan yang mengulangi URL tautan yang cocok dengan pola URL pratinjau link.
Node.js
Apps Script
Lampirkan kartu
Untuk melampirkan kartu ke link yang dipratinjau,
kembalikan
ActionResponse
dari jenis UPDATE_USER_MESSAGE_CARDS
. Contoh ini melampirkan kartu sederhana.
Node.js
Apps Script
Contoh ini mengirimkan pesan kartu dengan mengembalikan JSON kartu. Anda juga dapat menggunakan Layanan kartu Apps Script.
Memperbarui kartu
Untuk memperbarui kartu yang dilampirkan ke link yang dipratinjau, tampilkan
ActionResponse
dari jenis UPDATE_USER_MESSAGE_CARDS
. Aplikasi Chat hanya dapat diupdate
kartu yang melihat pratinjau link sebagai respons terhadap
Peristiwa interaksi aplikasi Chat.
Aplikasi Chat tidak dapat memperbarui kartu ini dengan memanggil Chat API
secara asinkron.
Pratinjau link tidak mendukung ditampilkannya ActionResponse
jenis UPDATE_MESSAGE
. Karena UPDATE_MESSAGE
memperbarui seluruh pesan, bukan hanya kartu, fungsi ini hanya berfungsi jika aplikasi Chat membuat pesan asli. Pratinjau link melampirkan kartu ke pesan yang dibuat pengguna, sehingga aplikasi Chat tidak memiliki izin untuk mengupdatenya.
Untuk memastikan fungsi memperbarui kartu yang dibuat pengguna dan dibuat aplikasi di aliran Chat, tetapkan ActionResponse
secara dinamis berdasarkan apakah pesan yang dibuat oleh aplikasi Chat atau pengguna.
- Jika pengguna yang membuat pesan, setel
ActionResponse
keUPDATE_USER_MESSAGE_CARDS
. - Jika aplikasi Chat membuat pesan, tetapkan
ActionResponse
keUPDATE_MESSAGE
.
Ada dua cara untuk melakukannya: menentukan dan memeriksa actionMethodName
kustom sebagai bagian dari properti onclick
kartu terlampir (yang mengidentifikasi pesan sebagai buatan pengguna) atau memeriksa apakah pesan tersebut dibuat oleh pengguna.
Opsi 1: Periksa actionMethodName
Agar dapat menggunakan actionMethodName
untuk menangani peristiwa interaksi CARD_CLICKED
dengan benar pada kartu yang dipratinjau, tetapkan actionMethodName
kustom sebagai bagian dari properti onclick
dari kartu terlampir:
JSON
. . . // Preview card details
{
"textButton": {
"text": "ASSIGN TO ME",
"onClick": {
// actionMethodName identifies the button to help determine the
// appropriate ActionResponse.
"action": {
"actionMethodName": "assign",
}
}
}
}
. . . // Preview card details
Dengan "actionMethodName": "assign"
yang mengidentifikasi tombol sebagai bagian dari pratinjau link, Anda dapat menampilkan ActionResponse
yang benar secara dinamis dengan memeriksa actionMethodName
yang cocok:
Node.js
Apps Script
Contoh ini mengirimkan pesan kartu dengan mengembalikan JSON kartu. Anda juga dapat menggunakan Layanan kartu Apps Script.
Opsi 2: Periksa jenis pengirim
Periksa apakah message.sender.type
adalah HUMAN
atau BOT
. Jika HUMAN
, tetapkan ActionResponse
ke UPDATE_USER_MESSAGE_CARDS
, atau tetapkan ActionResponse
ke UPDATE_MESSAGE
. Berikut caranya:
Node.js
Apps Script
Contoh ini mengirimkan pesan kartu dengan mengembalikan JSON kartu. Anda juga dapat menggunakan Layanan kartu Apps Script.
Alasan umum untuk memperbarui kartu adalah sebagai respons terhadap klik tombol. Ingat kembali tombol Tugaskan kepada Saya dari bagian sebelumnya, Lampirkan kartu. Contoh lengkap berikut memperbarui kartu sehingga dinyatakan bahwa kartu tersebut telah ditetapkan ke "Anda" setelah pengguna mengklik Tugaskan kepada Saya. Contoh ini secara dinamis menetapkan ActionResponse
dengan memeriksa jenis pengirim.
Contoh lengkap: Kasus-y untuk aplikasi Chat layanan pelanggan
Berikut adalah kode lengkap untuk Case-y, aplikasi Chat yang melihat pratinjau link ke kasus yang dibagikan di ruang Chat tempat agen layanan pelanggan berkolaborasi.
Node.js
Apps Script
Contoh ini mengirimkan pesan kartu dengan mengembalikan JSON kartu. Anda juga dapat menggunakan Layanan kartu Apps Script.
Batas dan pertimbangan
Saat mengonfigurasi pratinjau link untuk aplikasi Chat, perhatikan batasan dan pertimbangan berikut:
- Setiap aplikasi Chat mendukung pratinjau link untuk maksimum 5 pola URL.
- Aplikasi Chat menampilkan pratinjau satu link per pesan. Jika beberapa link yang dapat dipratinjau muncul dalam satu pesan, hanya link pertama yang dapat dipratinjau.
- Aplikasi Chat hanya melihat pratinjau link yang dimulai dengan
https://
, jadihttps://support.example.com/cases/
melihat pratinjau, tetapisupport.example.com/cases/
tidak. - Kecuali jika pesan menyertakan informasi lain yang dikirim ke aplikasi Chat, seperti perintah garis miring, hanya URL link yang dikirim ke aplikasi Chat melalui pratinjau link.
- Kartu yang dilampirkan ke link yang dipratinjau hanya mendukung
ActionResponse
jenisUPDATE_USER_MESSAGE_CARDS
, dan hanya sebagai respons terhadap peristiwa interaksi aplikasi Chat. Pratinjau link tidak mendukungUPDATE_MESSAGE
atau permintaan asinkron untuk memperbarui kartu yang dilampirkan ke link yang dipratinjau melalui Chat API. Untuk mempelajari lebih lanjut, lihat Memperbarui kartu. - Aplikasi Chat harus melihat pratinjau link untuk semua orang di ruang tersebut, jadi
pesan harus menghilangkan
privateMessageViewer
kolom tersebut.
Melakukan debug pratinjau link
Saat menerapkan pratinjau link, Anda mungkin perlu men-debug aplikasi Chat dengan membaca log aplikasi. Untuk membaca log, buka Logs Explorer di konsol Google Cloud.