Project Action mengemas 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 tingkat rendah berikut untuk membuat project Action:
Setelan dan resource menentukan metadata project dan sumber daya seperti ikon proyek. Google menggunakan informasi ini untuk memublikasikan Action Anda ke direktori Asisten, sehingga pengguna dapat menemukan dan memanggil mereka.
Intent mewakili tugas yang harus dilakukan, seperti beberapa input pengguna atau peristiwa sistem yang perlu diproses. Jenis yang paling umum dari yang akan Anda gunakan adalah intent pengguna. Intent ini memungkinkan Anda mendeklarasikan pelatihan frasa yang diperluas secara alami oleh NLU (natural language understanding) mesin telusur untuk menyertakan lebih banyak frasa serupa. NLU menggunakan agregasi dari frasa ini untuk melatih model bahasa yang digunakan Asisten untuk mencocokkan pengguna input teks. Selama percakapan, jika beberapa input pengguna cocok dengan bahasa intent khusus, runtime Asisten akan mengirimkan intent ke Action Anda, sehingga memprosesnya dan menanggapi pengguna.
Jenis memungkinkan Anda mengekstrak data terstruktur dari input pengguna. Menurut menganotasi frasa pelatihan dengan jenis, NLU dapat mengekstrak yang relevan, terstruktur data untuk Anda, sehingga Anda tidak perlu menguraikan input terbuka.
Scene memproses intent dan merupakan eksekutor logika utama untuk Actions Anda. Mereka dapat melakukan pengisian slot, mengevaluasi logika bersyarat, menampilkan kepada pengguna, dan bahkan memanggil layanan web eksternal untuk melakukan logika bisnis. Dikombinasikan dengan intent, scene memberi Anda cara ampuh untuk mendeteksi input pengguna atau kejadian sistem tertentu dan untuk melakukan logika.
Perintah menentukan respons statis atau dinamis yang Anda gunakan untuk menanggapi pengguna.
Webhook memungkinkan Anda mendelegasikan pekerjaan tambahan ke layanan web (fulfillment), seperti memvalidasi data atau membuat prompt. Tindakan Anda berkomunikasi dengan fulfillment Anda melalui protokol webhook berbasis JSON.
Kanvas Interaktif memungkinkan Anda membuat konten kaya dan pengalaman imersif dengan aplikasi web yang menggunakan HTML, CSS, dan JavaScript.
Membuat project
Anda harus membuat project di konsol Actions sebelum dapat mengembangkan Asisten Google. Untuk membuat project:
- Buka Konsol Actions.
- Klik Project baru.
- Masukkan nama untuk project Anda, lalu klik Create 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 untuk membuat dan klik Mulai membuat. Misalnya, Anda dapat memulai dengan proyek atau dengan suatu sampel.
Membuat project Actions SDK lokal
Setelah membuat project Actions di konsol Actions, Anda dapat melakukan inisialisasi project di lingkungan pengembangan lokal Anda.
Untuk menginisialisasi project Actions SDK dari project Action yang ada, ikuti langkah-langkah berikut:
- Buat direktori kosong untuk project Actions di sistem file lokal Anda.
- Dalam direktori kosong ini, buat direktori
sdk
. - Ubah direktori kerja Anda ke direktori
sdk
di terminal Anda.
Memulai dengan project kosong
Jika Anda ingin memulai dari proyek kosong yang baru saja dibuat 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
Mulai dengan contoh project
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 project
Pengaturan dan sumber daya proyek menentukan informasi tentang proyek seperti dukungan fitur dan platform, lokalitas yang didukung, nama tampilan, deskripsi, logo, dan lain-lain. Tabel berikut menjelaskan setelan dan resource utama yang Anda sediakan. Actions on Google menggunakan data informasi untuk men-deploy dan memublikasikan project Anda ke Asisten direktori.
Nama | Deskripsi |
---|---|
Informasi direktori | Memberikan informasi agar Actions on Google dapat memublikasikan project ke direktori Assistant. Termasuk metadata dan pencemaran nama baik tentang project dan resource gambar Anda untuk gambar logo dan banner. |
Penargetan lokasi | Mengonfigurasi lokalitas tempat Action Anda tersedia. |
Kemampuan permukaan | Mengonfigurasi platform tempat Action Anda tersedia. |
Detail perusahaan | Menentukan informasi kontak untuk perusahaan Anda. |
Verifikasi merek | Hubungkan situs atau aplikasi Android milik Anda untuk mendapatkan manfaat tambahan seperti nama panggilan yang dicadangkan dan penautan situs dalam Action Anda. |
Rilis | Mengonfigurasi berbagai rilis pengujian dan produksi untuk Action Anda untuk pengujian dan produksi. |
Link Asisten | Izinkan pengguna memanggil Actions dari properti web Anda. |
Untuk mendefinisikan informasi proyek:
Tentukan setelan global untuk project Action Anda di
sdk/settings/settings.yaml
. Lihat referensi Setelan untuk 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
, mengganti locale dengan lokal target Anda.Lihat LocalizedSettings dokumentasi referensi untuk nilai yang didukung.
Cuplikan berikut adalah contoh untuk setelan bahasa Inggris yang didefinisikan di bagian 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 resource
Anda dapat menyimpan sumber daya seperti file gambar, file audio, dan {i>string<i} dalam
Tindakan memproyeksikan dan mereferensikannya dari file konfigurasi (misalnya, perintah
definisi atau kondisi) menggunakan variabel $resources
yang ditentukan sistem.
Resource project disimpan di resources/
, dan setiap jenis resource disimpan
menetapkan sebuah folder
di dalam direktori.
Anda dapat melokalkan resource dengan membuat folder khusus lokalitas pada resource
ketik folder, 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 banner besar versi bahasa Inggris adalah
disimpan dalam resources/images/en/landscape.jpg
,
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 terkait, yang dapat berupa string tunggal atau daftar
penggunaan
{i>string<i}. Anda dapat mereferensikan
nilai tersebut menggunakan
$resources.strings.<name of the image file without file extension>.<key>
untuk nilai {i>string<i} tunggal atau untuk
mendapatkan nilai acak dari sebuah daftar, dan
$resources.strings.<name of the image file without file extension>.<key>.<numerical index>
untuk nilai {i>string<i} tertentu
dalam daftar.
Misalnya, dengan menggunakan {i>string<i} sumber daya
untuk pelokalan {i>string<i},
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 Actions Anda. Tujuan memungkinkan Anda melihat informasi debug, menyetel kemampuan perangkat, menyimulasikan lokal, dan lainnya.
Untuk menguji project:
- Jalankan
gactions deploy preview
untuk men-deploy Action Anda ke "pratinjau" dan aktifkan 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