Buat project

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.

komponen project tindakan
Gambar 1. Struktur project Actions

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:

  1. Buka Konsol Actions.
  2. Klik Project baru.
  3. Masukkan nama untuk project Anda, lalu klik Create 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 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:

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

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

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

Gambar 3. Area utama dari 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 Anda ke "pratinjau" dan aktifkan 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