Project Action memaketkan semua Action Anda ke dalam satu container. Anda memublikasikan project ini ke Actions on Google agar Asisten Google tahu cara menemukan dan memanggil pengalaman percakapan Anda.
Anda menggunakan komponen level rendah berikut untuk membuat project Action:
Setelan dan resource menentukan metadata dan resource project seperti ikon project. Google menggunakan informasi ini untuk memublikasikan Action Anda ke direktori Asisten, sehingga pengguna dapat menemukan dan memanggilnya.
Intent mewakili tugas yang harus dilakukan, seperti beberapa input pengguna atau peristiwa sistem yang memerlukan pemrosesan. Jenis intent paling umum yang akan Anda gunakan adalah intent pengguna. Intent ini memungkinkan Anda mendeklarasikan frasa pelatihan yang secara alami diperluas oleh mesin NLU (natural language understanding) untuk menyertakan lebih banyak frasa serupa. NLU menggunakan agregasi frasa ini untuk melatih model bahasa yang digunakan Asisten untuk mencocokkan input pengguna. Selama percakapan, jika beberapa input pengguna cocok dengan model bahasa intent, runtime Asisten akan mengirimkan intent ke Action Anda, sehingga dapat memprosesnya dan merespons pengguna.
Jenis memungkinkan Anda mengekstrak data terstruktur dari input pengguna. Dengan menganotasi frasa pelatihan menggunakan jenis, NLU dapat mengekstrak data terstruktur yang relevan untuk Anda, sehingga Anda tidak perlu mengurai input terbuka.
Scenes memproses intent dan merupakan eksekutor logika utama untuk Action Anda. Mereka dapat melakukan pengisian slot, mengevaluasi logika bersyarat, menampilkan permintaan pengguna, dan bahkan memanggil layanan web eksternal untuk menjalankan logika bisnis. Dikombinasikan dengan intent, scene memberi Anda cara yang andal untuk mendeteksi input pengguna atau peristiwa sistem tertentu dan menjalankan logika yang sesuai.
Perintah menentukan respons statis atau dinamis yang Anda gunakan untuk merespons kembali pengguna.
Webhook memungkinkan Anda mendelegasikan pekerjaan tambahan ke layanan web (fulfillment), seperti memvalidasi data atau membuat perintah. Action Anda berkomunikasi dengan fulfillment Anda melalui protokol webhook berbasis JSON.
Canvas Interaktif memungkinkan Anda menciptakan pengalaman yang kaya dan imersif dengan aplikasi web yang memanfaatkan HTML, CSS, dan JavaScript.
Membuat project
Anda harus membuat project di Konsol Actions sebelum dapat mengembangkan untuk Asisten Google. Untuk membuat project:
- Buka Konsol Actions.
- Klik Project baru.
- Masukkan nama untuk project Anda dan klik Buat Project.
- Di layar What types of Action do you want to build?, pilih kategori yang paling mewakili project Anda, lalu klik Next.
- Di layar How do you want to build it, pilih cara membangun, lalu klik Start building. Misalnya, Anda dapat memulai dengan project kosong atau dengan sampel.
Membuat project Action SDK lokal
Setelah membuat project Action di konsol Actions, Anda dapat menginisialisasi project di lingkungan pengembangan lokal Anda.
Untuk melakukan inisialisasi project Actions SDK dari project Action yang ada, ikuti langkah-langkah berikut:
- Buat direktori kosong untuk project Action di sistem file lokal Anda.
- Dalam direktori kosong ini, buat direktori
sdk
. - Ubah direktori kerja ke direktori
sdk
di terminal Anda.
Mulai dengan project kosong
Jika ingin memulai dari project kosong yang baru saja Anda buat di konsol,
jalankan gactions pull --project-id <my-project-id>
.
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
Memulai dengan project contoh
Jika Anda ingin memulai dari project contoh, jalankan gactions init <sample name>
.
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
Mendefinisikan informasi proyek
Setelan dan resource project Anda menentukan informasi tentang project Anda seperti dukungan fitur dan platform, lokalitas yang didukung, nama tampilan, deskripsi, logo, dan lainnya. Tabel berikut menjelaskan setelan dan resource utama yang Anda berikan. Actions on Google menggunakan informasi ini untuk men-deploy dan memublikasikan project Anda ke direktori Assistant.
Nama | Deskripsi |
---|---|
Informasi direktori | Memberikan informasi agar Actions on Google dapat memublikasikan project Anda ke direktori Asisten. Mencakup metadata dan penjelasan tentang project Anda dan resource gambar untuk logo dan gambar banner. |
Penargetan lokasi | Mengonfigurasi lokal tempat Action Anda tersedia. |
Kemampuan platform | Mengonfigurasi platform tempat Action Anda tersedia. |
Detail perusahaan | Menentukan informasi kontak untuk perusahaan Anda. |
Verifikasi merek | Hubungkan situs atau aplikasi Android yang Anda miliki untuk mendapatkan manfaat tambahan seperti nama panggilan yang dicadangkan dan penautan situs dalam Action Anda. |
Rilis | Mengonfigurasi rilis pengujian dan produksi yang berbeda bagi Action Anda untuk pengujian dan produksi. |
Link Asisten | Izinkan pengguna memanggil Action dari properti web Anda. |
Untuk mendefinisikan informasi proyek:
Tentukan setelan global untuk project Action Anda di
sdk/settings/settings.yaml
. Lihat dokumentasi referensi Setelan untuk mengetahui nilai yang didukung.Cuplikan berikut menunjukkan contoh file
sdk/settings/settings.yaml
:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
Tentukan setelan yang dapat bervariasi berdasarkan lokalitas pengguna (misalnya, frasa pemanggilan dalam bahasa yang berbeda) dalam file
sdk/settings/<locale>/settings.yaml
, yang menggantikan lokal dengan lokal target Anda.Lihat dokumentasi referensi LocalizedSettings untuk mengetahui nilai yang didukung.
Cuplikan berikut adalah contoh untuk setelan bahasa Inggris yang ditentukan dalam file
sdk/settings/en/settings.yaml
:localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
Menambahkan referensi
Anda dapat menyimpan resource seperti file gambar, file audio, dan string dalam
project Action dan mereferensikannya dari file konfigurasi (misalnya, definisi
atau kondisi perintah) menggunakan variabel $resources
yang ditentukan sistem.
Resource project disimpan di resources/
, dan setiap jenis resource
akan diberi folder di direktori tersebut.
Anda dapat melokalkan resource dengan membuat folder khusus lokalitas di folder jenis
resource, misalnya Anda dapat menyimpan string versi bahasa Spanyol di
resources/strings/es/<filename>.yaml
.
Gambar
File gambar disimpan di resources/images/
, dan Anda dapat mereferensikannya
dengan $resources.images.<name of the image file without file extension>
.
Ekstensi file yang diizinkan adalah:
gif
png
jpg
jpeg
Misalnya, jika versi bahasa Inggris dari logo kecil disimpan di
resources/images/en/square.png
dan versi bahasa Inggris dari banner besar
disimpan di resources/images/en/landscape.jpg
masing-masing,
sdk/settings/en/settings.yaml
dari contoh sebelumnya akan menjadi:
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
File audio
File audio disimpan di resources/audio/
, dan Anda dapat mereferensikannya
dengan $resources.audio.<name of the audio file without file extension>
.
Ekstensi file yang diizinkan adalah:
mp3
mpeg
Misalnya, Anda dapat mereferensikan rekaman audio dari perintah:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
String
String disimpan di resources/strings/
sebagai file .yaml
. Setiap file berisi
peta kunci string dan nilai-nilai terkait, yang dapat berupa string tunggal atau daftar
string. Anda dapat mereferensikan nilai tersebut menggunakan $resources.strings.<name of the image file without file extension>.<key>
untuk nilai string tunggal atau untuk mendapatkan nilai acak dari daftar, dan $resources.strings.<name of the image file without file extension>.<key>.<numerical index>
untuk nilai string tertentu dalam daftar.
Misalnya, dengan menggunakan string resource untuk pelokalan string,
sdk/settings/en/settings.yaml
dari contoh sebelumnya dapat menjadi:
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
Menguji project di simulator
Konsol Actions menyediakan simulator untuk melihat pratinjau Action Anda. Dengan simulator, Anda dapat melihat informasi debug, menyetel kemampuan perangkat, menyimulasikan lokalitas, dan lainnya.
Untuk menguji project:
- Jalankan
gactions deploy preview
untuk men-deploy Action ke "pratinjau" dan mengaktifkan pengujian di simulator. - Buka URL di output perintah untuk mengakses Simulator.
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview