Membuat project

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.

komponen proyek tindakan
Gambar 1. Struktur project Action

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:

  1. Buka Konsol Actions.
  2. Klik Project baru.
  3. Masukkan nama untuk project Anda dan klik Buat Project.
  4. Di layar What types of Action do you want to build?, pilih kategori yang paling mewakili project Anda, lalu klik Next.
  5. 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:

  1. Buat direktori kosong untuk project Action di sistem file lokal Anda.
  2. Dalam direktori kosong ini, buat direktori sdk.
  3. 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:

  1. 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
    ...
    

  2. 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.

Gambar 3. Area utama simulator: (1) input pengguna, (2) tampilan perangkat, (3) opsi dan setelan, serta (4) log percakapan.

Untuk menguji project:

  1. Jalankan gactions deploy preview untuk men-deploy Action ke "pratinjau" dan mengaktifkan pengujian di simulator.
  2. 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