Tindakan adalah titik entri ke aplikasi Anda yang menentukan pemanggilan dan penemuan khusus untuk aplikasi Anda. Anda mendeklarasikan Tindakan dalam file JSON yang dikenal sebagai paket Action, yang kemudian Anda unggah ke proyek pengembang saat Anda ingin menguji atau mengirimkan project Action Anda untuk disetujui. Paket Action adalah file JSON yang menentukan Action dalam project Action Anda.
Untuk menentukan Tindakan dalam paket Action, Anda membuat intent yang menentukan cara Action dipanggil dan endpoint fulfillment yang sesuai saat metode akan terpicu. Anda dapat membuat jenis Tindakan berikut:
- Tindakan Default: Setiap project Action harus memiliki intent sambutan yang bertindak
sebagai titik masuk bagi pengguna untuk memulai percakapan. Tujuan sambutannya adalah
ketika pengguna secara eksplisit memanggil Action dengan mengucapkan namanya (untuk
misalnya, "Ok Google, bicara dengan ExampleAction"). Niat sambutan ini diidentifikasi dengan
nama intent
actions.intent.MAIN
. - Tindakan Tambahan untuk deep linking: Anda dapat membuat Tindakan tambahan di paket Action Anda dengan intent yang Anda definisikan sendiri. Hal ini memungkinkan pengguna untuk memanggil fungsi tertentu dengan mengucapkan nama Action bersama dengan intent (misalnya: "Ok Google, bicara dengan ExampleAction untuk menemukan sepatu").
Lihat Intent dan pemanggilan untuk mengetahui informasi selengkapnya tentang cara model pemanggilan ini berfungsi.
Menentukan Tindakan default
Setiap paket Action harus memiliki satu dan hanya satu intent yang menangani
actions.intent.MAIN
. Intent ini dipicu saat pengguna memanggil
Tindakan berdasarkan nama (misalnya, "Ok Google, bicara dengan ExampleAction").
Untuk membuat file paket Action boilerplate bernama action.json
, lakukan
langkah-langkah berikut:
- Download
gactions
CLI. - Buat direktori lokal untuk file sumber project Action Anda.
Jalankan perintah berikut di terminal:
$ cd PROJECT_DIRECTORY $ gactions init
Setelah file paket Action dibuat, ganti konten placeholder dengan
masing-masing. Berikut adalah contoh action.json
dengan perubahan untuk ExampleAction
:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }
Menentukan Tindakan tambahan
Anda dapat memberikan Action tambahan yang berfungsi sebagai titik entri. Hal ini memungkinkan pengguna memperjelas maksud mereka dengan membiarkan mereka menentukan lebih banyak detail tentang apa yang ingin dilakukan (misalnya, "Ok Google, bicara dengan ExampleAction untuk mencarikan saya sepatu".).
Untuk menentukan Tindakan tambahan:
-
Dalam array
Misalnya, kode berikut menunjukkan karakter "beli" tambahan Tindakan yang menentukan:actions
, tentukan Action untuk setiap titik entri.- Nama intent
com.example.ExampleAction.BUY
parameters
untuk mengurai dari input pengguna saat intent ini dipicu. Hal ini berguna jika Anda memerlukan data spesifik dari frasa {i>Action<i} saat pengguna memanggil Action.queryPatterns
yang menentukan apa yang harus dikatakan pengguna untuk memicu intent. Pola kueri dapat menyertakan jenis Schema.org yang mendefinisikan parameter yang akan diurai.
{ "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } }
- Nama intent
-
Tentukan fulfillment untuk intent ini dengan menetapkan
conversationName
yang sesuai dengan item dalam objekconversations
.{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
Berikut adalah contoh paket Action lengkap:
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } }, { "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }