Intent bawaan adalah ID unik yang dapat Anda tentukan untuk memberi tahu Asisten Google bahwa Action Anda dapat memenuhi kategori permintaan pengguna tertentu. Misalnya, berikut adalah beberapa contoh kueri pengguna yang dicocokkan Asisten dengan intent bawaan:
- Intent bawaan"Play game": "Ok Google. Mainkan game memori"
- Intent bawaan"Dapatkan horoskop": "Ok Google. Dapatkan horoskop saya"
Selama penemuan Action, Asisten dapat menggunakan metadata tentang Action Anda, termasuk intent bawaan yang telah Anda tentukan, untuk merekomendasikan Action Anda kepada pengguna. Untuk meminimalkan aktivitas bolak-balik percakapan, Asisten juga mencoba memindai parameter dari kueri pengguna dan meneruskannya ke Action Anda.
Untuk melihat daftar lengkap intent bawaan yang didukung Asisten, termasuk parameter dan contoh kueri pengguna, lihat Referensi intent bawaan.
Mengintegrasikan intent bawaan
Bergantung pada cara Anda membuat Action, ada berbagai cara untuk mengintegrasikan intent bawaan.
Dialogflow
Jika menggunakan Dialogflow untuk membuat Action, Anda dapat melampirkan intent bawaan secara grafis dari konsol Dialogflow.
Untuk melampirkan intent bawaan dengan Dialogflow, ikuti langkah-langkah berikut:
- Buka konsol Dialogflow, pilih agen Anda, lalu buka layar Intent.
Buat atau pilih intent yang dipicu agen Anda saat menerima intent bawaan tertentu. Buka bagian Events, lalu klik Add Event.
Gambar 1. Menambahkan peristiwa Dialogflow di konsol Dialogflow. Di kolom Peristiwa, ketik nama peristiwa intent bawaan untuk agen Anda (misalnya,
actions_intent_PLAY_GAME
).Gambar 2. Menyertakan intent bawaan ke agen Anda di konsol Dialogflow. Klik Simpan.
Actions SDK
Jika menggunakan Actions SDK untuk membuat Action, Anda harus menentukan pemetaan antara intent bawaan dan Tindakan dalam paket Action Anda.
Untuk melampirkan intent bawaan dengan Actions SDK, ikuti langkah-langkah berikut:
- Tentukan intent bawaan di kolom nama pada definisi Action Anda.
- Upload paket tindakan Anda ke project Actions menggunakan alat
gactions
, seperti yang dijelaskan dalam Ringkasan Actions SDK.
Misalnya, cuplikan berikut menunjukkan cara menambahkan intent
bawaan CHECK_AIR_QUALITY
:
{
"actions":[
{
"description":"Default Welcome Intent",
"name":"MAIN",
"fulfillment":{
"conversationName":"conversation_1"
},
"intent":{
"name":"actions.intent.MAIN"
}
},
{
"description":"Check Air Quality",
"name":"CHECK_AIR_QUALITY",
"fulfillment":{
"conversationName":"conversation_1"
},
"intent":{
"name":"actions.intent.CHECK_AIR_QUALITY"
}
}
],
"conversations":{
"conversation_1":{
"name":"conversation_1",
"url":"https://example.com/fulfillment",
"fulfillmentApiVersion":2
}
}
}
Menangani parameter intent bawaan
Saat Action dipanggil melalui intent bawaan, fulfillment Anda mungkin menerima parameter tambahan. Skema intent menentukan nama parameter dan jenisnya sebagai jenis primitif atau entitas schema.org. Untuk melihat skema untuk intent bawaan Action Percakapan, lihat Referensi intent bawaan.
Parameter untuk intent bawaan bersifat opsional. Asisten menangani pengisian parameter dengan nilai jika dapat diekstrak dari pemanggilan pengguna intent bawaan.
Misalnya, skema intent bawaan actions.intent.CHECK_AIR_QUALITY
menentukan empat parameter opsional:
Nama Parameter | Type |
---|---|
attributes |
Nilai string. |
location |
Objek schema.org/Place . |
temporalCoverage |
Objek schema.org/Duration . |
timeIndicator |
EnumeratedDuration (ekstensi khusus Google). |
Cuplikan kode berikut menampilkan contoh permintaan webhook percakapan (JSON) saat pengguna memanggil Action Anda dengan mengatakan "Berapa kualitas udara di San Francisco besok?":
"inputs":[
{
"intent":"actions.intent.CHECK_AIR_QUALITY",
"rawInputs":[
{
"inputType":"VOICE",
"query":"what is the air quality in san francisco tomorrow"
}
],
"arguments":[
{
"name":"location",
"structuredValue":{
"geo":{
"longitude":-122.41941550000001,
"latitude":37.7749295
},
"@context":"https://schema.org",
"@type":"Place",
"name":"san francisco"
}
},
{
"name":"temporalCoverage",
"rawText":"2018-04-25",
"textValue":"2018-04-25"
}
]
}
]
Dalam contoh ini, parameter mengambil nilai berikut:
- Parameter
location
berisi nilaischema.org/Place
untuk "San Francisco". - Parameter
temporalCoverage
berisi nilaischema.org/Duration
untuk tanggal besok yang relatif terhadap waktu pemanggilan. - Tidak ada nilai untuk parameter
attributes
dantimeIndicator
karena frasa pemanggilan pengguna tidak menyertakan informasi tersebut.
Jika menggunakan Library Klien Actions on Google untuk Node.js, Anda dapat mengambil nilai parameter seperti yang ditunjukkan dalam cuplikan berikut:
app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
const attributes = conv.arguments.get('attributes');
const location = conv.arguments.get('location');
const temporal_coverage = conv.arguments.get('temporalCoverage');
Const time_indicator = conv.arguments.get('timeIndicator')
// Your Action logic. If you need to use any of the parameter values,
// you should check first that it is defined. Arguments.get returns
// undefined if it can't find a value for a parameter.
});
Menguji integrasi dengan intent bawaan
Ikuti langkah-langkah berikut untuk menguji integrasi Anda:
- Buka simulator Actions dengan Action pengujian diaktifkan, atau buka Asisten di perangkat.
- Ucapkan atau ketik kueri yang terkait dengan intent bawaan tersebut. Misalnya, “Saya ingin bermain game”.
- Dari dialog pilihan aplikasi yang ditampilkan, temukan Action Anda.
- Pilih aplikasi untuk mengirim intent ke aplikasi Anda.
![]() dari frasa intent bawaan. |
![]() |
Praktik terbaik untuk menggunakan intent bawaan
Anda harus mengikuti praktik terbaik ini saat menggunakan intent bawaan:
- Memetakan intent bawaan ke tindakan tertentu: Saat intent bawaan tertentu
memicu Action Anda, arahkan pengguna ke intent dan
fungsi tertentu di Action Anda dengan sesedikit mungkin friksi. Misalnya, jika Action Anda mendukung intent bawaan
PLAY_GAME
dan menerima intent tersebut, Anda harus segera mengirim pengguna ke fitur game Action. Hindari menanyakan pengguna lagi jika mereka ingin bermain game. - Menangani parameter intent bawaan: Pastikan untuk menggunakan parameter value intent bawaan yang dikirimkan Asisten ke fulfillment Anda. Hindari meminta ulang pengguna untuk nilai tersebut.