Intent bawaan (Dialogflow)

Intent bawaan adalah ID unik yang dapat Anda tentukan untuk memberi tahu Asisten Google bahwa Action Anda dapat memenuhi kategori pengguna tertentu permintaan. Misalnya, berikut adalah beberapa contoh kueri pengguna yang Asisten cocok dengan intent bawaan:

  • "Mainkan game" intent bawaan: "Ok Google. Main game memori"
  • "Dapatkan horoskop" intent bawaan: "Ok Google. Lihat horoskop saya"

Selama Penemuan Action, Asisten dapat menggunakan metadata tentang Action Anda, termasuk intent bawaan yang telah ditentukan, untuk merekomendasikan Action Anda kepada pengguna. Untuk meminimalkan percakapan bolak-balik, 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

Tergantung bagaimana Anda membangun 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:

  1. Buka konsol Dialogflow, pilih agen, lalu buka Layar Intent.
  2. Buat atau pilih intent yang dipicu agen Anda saat menerima intent bawaan yang spesifik. Buka bagian Peristiwa, dan klik Tambahkan Acara.

    Gambar 1. Menambahkan peristiwa Dialogflow pada konsol Dialogflow.
  3. Di kolom Events, ketik nama peristiwa intent bawaan untuk (misalnya, actions_intent_PLAY_GAME).

    Gambar 2. Melampirkan intent bawaan ke agen Anda di konsol Dialogflow.
  4. Klik Simpan.

Actions SDK

Jika menggunakan Actions SDK untuk membuat Action, Anda harus menentukan pemetaan antara intent bawaan dan Action dalam paket Action Anda.

Untuk melampirkan intent bawaan dengan Actions SDK, ikuti langkah-langkah berikut:

  1. Tentukan intent bawaan di kolom nama pada definisi Action.
  2. Upload paket tindakan ke project Action Anda menggunakan alat gactions, sebagai dijelaskan dalam ringkasan Actions SDK.

Misalnya, cuplikan berikut menunjukkan cara menambahkan CHECK_AIR_QUALITY intent bawaan:

{
   "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 Anda dipanggil melalui intent bawaan, fulfillment Anda mungkin menerima parameter tambahan. Skema intent mendefinisikan nama parameter dan jenisnya sebagai jenis primitif atau schema.org entitas. Untuk melihat skema intent bawaan Action Percakapan, lihat Referensi intent bawaan.

Parameter untuk intent bawaan bersifat opsional. Asisten menangani pengisian parameter dengan nilai jika parameter tersebut dapat diekstrak dari pemanggilan pengguna intent bawaan.

Misalnya, skema actions.intent.CHECK_AIR_QUALITY bawaan intent mendefinisikan empat parameter opsional:

Nama Parameter Jenis
attributes Nilai string.
location Objek schema.org/Place.
temporalCoverage Objek schema.org/Duration.
timeIndicator EnumeratedDuration (Ekstensi khusus Google).

Cuplikan kode berikut menunjukkan contoh webhook percakapan (JSON) permintaan saat pengguna memanggil Action Anda dengan mengucapkan "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 menggunakan nilai berikut:

  • Parameter location berisi schema.org/Place untuk "San Francisco".
  • Parameter temporalCoverage berisi schema.org/Duration untuk tanggal besok yang relatif terhadap waktu pemanggilan.
  • Tidak ada nilai untuk parameter attributes dan timeIndicator karena frasa pemanggilan pengguna tidak menyertakan informasi tersebut.

Jika Anda 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:

  1. Buka simulator Tindakan dengan Tindakan pengujian Anda diaktifkan, atau buka Asisten di perangkat Anda.
  2. Ucapkan atau ketik kueri yang terkait dengan intent bawaan tersebut. Misalnya, “Saya ingin bermain game.”
  3. Dari dialog pilihan aplikasi yang ditampilkan, temukan Action Anda.
  4. Pilih aplikasi Anda untuk mengirim intent ke aplikasi Anda.
Gambar 3. Dialog pemilihan Tindakan yang dihasilkan
dari frasa intent bawaan.
Gambar 4. Memanggil Action yang dilampirkan ke 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, mengirim pengguna ke intent tertentu, fungsionalitas dalam Action Anda dengan sesedikit mungkin friksi. Sebagai jika Action Anda mendukung intent bawaan PLAY_GAME dan menerima intent tersebut, Anda harus segera mengirimkan pengguna ke fitur game Action Anda. Hindari bertanya kepada pengguna lagi apakah mereka ingin bermain game.
  • Menangani parameter intent bawaan: Pastikan untuk menggunakan intent bawaan nilai parameter yang dikirim Asisten ke fulfillment Anda. Hindari meminta kembali nilai tersebut kepada pengguna.