Perintah menentukan cara Action Anda merender respons kepada pengguna dan cara Action Anda meminta mereka untuk melanjutkan. Saat membangun Action, Anda dapat menambahkan prompt ke pemanggilan dan ke berbagai tempat dalam scene. Prompt bisa sesederhana respons teks atau ucapan, atau bisa lebih kompleks dan berisi konten lengkap seperti kartu, gambar, dan tabel.
Jenis respons
Untuk setiap perintah, Anda memilih dari berbagai jenis respons yang menarik untuk Asisten yang akan ditampilkan kepada pengguna:
- Respons sederhana: Secara visual, respons sederhana berbentuk balon chat dan menggunakan text-to-speech (TTS) atau {i>Speech Synthesis Markup Language<i} (SSML) untuk audio. Respons sederhana adalah satu-satunya respons yang didukung di semua jenis perangkat.
- Respons kaya: Respons kaya berisi elemen visual atau fungsional yang meningkatkan interaksi pengguna dengan Action Anda. Dengan respons yang kaya, Anda juga dapat menampilkan data tabulasi atau memutar konten audio berdurasi lebih panjang.
- Respons pemilihan visual: Respons pemilihan visual memberikan gambaran visual antarmuka bagi pengguna untuk memilih di antara beberapa opsi yang paling mudah dibedakan menurut judul atau gambar.
- Respons media: Respons media memungkinkan Action Anda memutar audio yang lebih panjang konten dibandingkan SSML, dan menyediakan komponen visual dengan kontrol media.
- Canvas Interaktif: Canvas Interaktif merender respons sebagai layar penuh fungsi dan tampilan web sebagai aplikasi web interaktif yang dikirimkan Asisten sebagai respons kepada pengguna dalam percakapan. Canvas menggunakan perintah yang sedikit berbeda untuk mengakomodasi fleksibilitas tambahan dari standar web seperti HTML, CSS, dan pada JavaScript.
Setiap jenis respons ini menggunakan format perintah dasar yang sama dan memiliki akses ke fitur umum yang sama seperti yang dijelaskan di bawah ini.
Format perintah
Dalam project Action, Anda menentukan perintah dalam format YAML atau JSON. Masing-masing prompt dapat berisi hingga dua respons sederhana, dan secara opsional menentukan yang dihasilkan. Respons ditentukan dengan cara berikut:
first_simple
: Respons teks atau ucapan (sederhana) awal untuk dikirimkan kepada pengguna.content
: Konten respons lengkap tambahan untuk dikirim setelah respons sederhana.last_simple
Respons teks atau ucapan akhir (sederhana) yang akan dikirimkan kepada pengguna.canvas
: Mereferensikan aplikasi web yang terintegrasi dengan Canvas Interaktif.
Secara default, dialog ditambahkan satu sama lain dengan urutan di atas dalam sebuah perintah antrean. Sebelum pengguna dapat merespons, Asisten akan menampilkan semua perintah kepada pengguna di antrean prompt.
Anda juga memberikan fleksibilitas pada perintah menggunakan fitur berikut:
- Kandidat: Kandidat memungkinkan Anda menentukan respons berdasarkan kemampuan perangkat pengguna. Misalnya, Anda dapat membuat tampilan Asisten tampak kaya respons hanya jika pengguna berinteraksi dengan Action Anda di perangkat yang mendukung perangkat seluler.
- Varian: Varian adalah variasi alternatif dari satu pesan. Misalnya, Anda dapat meminta Asisten memilih antara lima sambutan berbeda varian pesan setiap kali pengguna memanggil Action Anda.
- Saran: Saran memberikan pengguna dengan kemampuan tampilan perangkat dengan chip saran saat Asisten menampilkan perintah.
Perintah default menggunakan satu kandidat, satu varian, dan respons first_simple
.
Kandidat
Dalam perintah, objek candidates
memungkinkan Anda menentukan respons berdasarkan
kemampuan perangkat pengguna. Misalnya, Anda dapat membuat tampilan Asisten tampak kaya
respons hanya jika pengguna berinteraksi dengan Action Anda di perangkat yang mendukung
perangkat seluler. Untuk menentukan jenis perangkat yang bisa digunakan Asisten untuk menampilkan kandidat, gunakan
properti selector
dari objek candidates
.
Pada contoh di bawah, properti selector
berisi kemampuan perangkat
tidak akurat atau tidak sesuai. Perintah yang ditetapkan pada kandidat pertama dikirim ke pengguna di perangkat
yang dapat merender respons lengkap. Kandidat kedua berisi prompt untuk
pengguna yang hanya dapat menerima
respons teks dan ucapan.
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
Anda dapat memberikan satu atau beberapa persyaratan kemampuan untuk kandidat tertentu. Tujuan daftar berikut menjelaskan setiap persyaratan kemampuan yang tersedia:
SPEECH
: Perangkat dapat berbicara dengan pengguna melalui text-to-speech atau SSML.RICH_RESPONSE
: Perangkat dapat menampilkan respons lengkap seperti kartu, daftar, dan tabel sementara.LONG_FORM_AUDIO
: Perangkat dapat memutar media audio format panjang seperti musik dan podcast.INTERACTIVE_CANVAS
: Perangkat dapat menampilkan respons Canvas Interaktif.WEB_LINK
: Perangkat dapat menggunakan link web dalam respons lengkap untuk membuka browser web.HOME_STORAGE
: Perangkat dapat menyimpan ke dan mengakses data dari penyimpanan rumah.
Varian
Varian menyediakan cara untuk menentukan beberapa versi respons. Saat Asisten mengirimkan perintah ke pengguna, salah satu varian dipilih secara acak. Sebagai, dalam desain percakapan, memberikan tanggapan alternatif ketika pengguna mereka berkomunikasi dengan Action Anda.
Misalnya, berikan varian pesan selamat datang yang berbeda agar pengguna tidak mendengar respons yang sama setiap kali mereka memanggil Action Anda:
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
Saran
![Contoh chip saran di layar smart](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/smart-display/chips.png?authuser=0000&hl=id)
Saran memberikan chip saran kepada pengguna di perangkat yang mendukung layar saat Asisten menampilkan perintah. Gunakan chip saran untuk memberikan petunjuk tentang respons pengguna terhadap melanjutkan atau mengubah percakapan. Saat diketuk, chip saran akan menampilkan menampilkan teks kata demi kata ke percakapan, seolah-olah pengguna telah mengetiknya.
Anda dapat memiliki maksimal 8 saran dalam satu perintah, masing-masing dengan maksimum panjang 25 karakter teks polos.
Untuk menambahkan saran, berikan objek Suggestion
yang berisi masing-masing
saran di kolom title
terpisah. Setiap judul harus unik di antara kumpulan
chip saran. Dalam Actions Builder, objek ini diwakili dalam YAML dan
JSON sebagai suggestions
.
Misalnya, Anda dapat memberikan "Ya" dan "No" saran di samping pertanyaan:
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }