Perintah menentukan cara Action Anda merender respons kepada pengguna dan cara Action Anda akan meminta mereka untuk melanjutkan. Saat membuat Action, Anda dapat menambahkan perintah ke pemanggilan dan ke berbagai tempat dalam scene. Perintah dapat 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 dipresentasikan Asisten kepada pengguna:
- Respons sederhana: Respons sederhana berbentuk balon chat secara visual dan menggunakan text-to-speech (TTS) atau Bahasa Markup Sintesis Ucapan (SSML) untuk suara. Respons sederhana adalah satu-satunya respons yang didukung di semua jenis perangkat.
- Respons beragam: Respons kaya berisi elemen visual atau fungsional yang meningkatkan interaksi pengguna dengan Action Anda. Dengan respons yang beragam, Anda juga dapat menampilkan data tabel atau memutar konten audio berdurasi lebih panjang.
- Respons pemilihan visual: Respons pemilihan visual memberikan antarmuka visual bagi pengguna untuk memilih di antara beberapa opsi yang paling mudah dibedakan berdasarkan judul atau gambar.
- Respons media: Respons media memungkinkan Action Anda memutar konten audio yang berdurasi lebih panjang daripada SSML, dan memberikan komponen visual dengan kontrol media.
- Canvas Interaktif: Canvas Interaktif merender respons sebagai tampilan web dan fungsi layar penuh sebagai aplikasi web interaktif yang dikirim Asisten sebagai respons kepada pengguna dalam percakapan. Canvas menggunakan format perintah yang sedikit berbeda untuk mengakomodasi fleksibilitas tambahan dari standar web seperti HTML, CSS, dan 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 prompt
Dalam project Actions, Anda menentukan prompt dalam format YAML atau JSON. Setiap perintah dapat berisi hingga dua respons sederhana, dan secara opsional menentukan respons kaya. Respons ditentukan dengan cara berikut:
first_simple
: Respons teks atau ucapan awal (sederhana) yang akan dikirim 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, perintah ditambahkan satu sama lain dalam urutan di atas dalam antrean perintah. Sebelum pengguna dapat merespons, Asisten akan menampilkan semua perintah dalam antrean perintah kepada pengguna.
Anda juga memberikan fleksibilitas pada dialog tersebut menggunakan fitur berikut:
- Kandidat: Kandidat memungkinkan Anda menentukan respons berdasarkan kemampuan perangkat pengguna. Misalnya, Anda dapat meminta Asisten menampilkan respons lengkap hanya saat pengguna berinteraksi dengan Action di perangkat yang mendukung tampilan.
- Varian: Varian adalah variasi alternatif dari satu pesan. Misalnya, Anda dapat meminta Asisten memilih antara lima varian pesan selamat datang yang berbeda setiap kali pengguna memanggil Action Anda.
- Saran: Saran memberi pengguna di perangkat yang mendukung tampilan dengan chip saran saat Asisten menampilkan perintah.
Perintah default menggunakan satu kandidat, satu varian, dan respons first_simple
.
Kandidat
Pada perintah, objek candidates
memungkinkan Anda menentukan respons berdasarkan
kemampuan perangkat pengguna. Misalnya, Anda dapat meminta Asisten menampilkan respons
lengkap hanya saat pengguna berinteraksi dengan Action di perangkat yang mendukung
tampilan. Untuk menentukan jenis perangkat tempat Asisten dapat menampilkan kandidat, gunakan
properti selector
objek candidates
.
Pada contoh di bawah, properti selector
berisi informasi kemampuan
perangkat. Perintah yang ditetapkan pada kandidat pertama akan dikirim ke pengguna di perangkat yang dapat merender respons lengkap. Kandidat kedua berisi perintah bagi
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. Daftar berikut ini 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.LONG_FORM_AUDIO
: Perangkat dapat memutar media audio berdurasi 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 memberikan cara untuk menentukan beberapa versi respons. Saat Asisten mengirim perintah ke pengguna, salah satu varian akan dipilih secara acak. Sebagai praktik terbaik dalam desain percakapan, berikan respons alternatif kepada pengguna saat mereka berkomunikasi dengan Action Anda.
Misalnya, berikan varian pesan selamat datang yang berbeda sehingga 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.google.cn/static/assistant/conversational/images/smart-display/chips.png?authuser=9&hl=id)
Saran memberi pengguna chip saran di perangkat yang mendukung tampilan saat Asisten menampilkan perintah. Menggunakan chip saran untuk mengisyaratkan respons pengguna untuk melanjutkan atau mengalihkan percakapan. Saat diketuk, chip saran akan menampilkan teks yang ditampilkan ke percakapan kata demi kata, seolah-olah pengguna telah mengetiknya.
Anda dapat memiliki maksimal 8 saran dalam satu perintah, masing-masing dengan panjang maksimum 25 karakter teks biasa.
Untuk menambahkan saran, sediakan objek Suggestion
yang berisi setiap
saran di kolom title
terpisah. Setiap judul harus unik di antara kumpulan
chip saran. Di Actions Builder, objek ini ditampilkan dalam YAML dan JSON sebagai suggestions
.
Misalnya, Anda dapat memberikan saran "Ya" dan "Tidak" 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" }] }] }