Menambahkan kemampuan ke pintasan

Kemampuan di shortcuts.xml memungkinkan Anda mendeklarasikan jenis tindakan yang dapat dilakukan pengguna untuk meluncurkan aplikasi dan langsung melakukan tugas tertentu.

Misalnya, Action Aplikasi Asisten Google menggunakan kemampuan untuk memungkinkan developer memperluas fitur dalam aplikasi ke intent bawaan (BII), yang memungkinkan pengguna mengaktifkan dan mengontrol fitur tersebut menggunakan perintah lisan. Kemampuan terdiri dari nama tindakan dan intent yang menargetkan tujuan di aplikasi Anda yang menyelesaikan intent pengguna.

Menentukan kemampuan dalam shortcuts.xml

Anda menentukan elemen capability dalam file referensi shortcuts.xml dalam project pengembangan aplikasi Android. Untuk menentukan elemen capability, lakukan hal berikut:

  1. Buat resource shortcuts.xml dengan mengikuti petunjuk di Membuat pintasan statis.
  2. Sertakan informasi yang diperlukan berikut ini dalam kemampuan Anda:

    • Nama kemampuan: tindakan yang Anda inginkan agar didukung dalam aplikasi. Lihat dokumentasi komponen untuk fitur yang memerlukan definisi kemampuan. Perintah yang diaktifkan suara Action Aplikasi menggunakan Action ID BII untuk nama kemampuan, yang dapat Anda temukan di referensi BII. Misalnya, BII GET_THING mencantumkan Action ID sebagai actions.intent.GET_THING.

    • Tujuan aplikasi: tujuan di aplikasi Anda yang diluncurkan tindakan untuk memenuhi permintaan pengguna. Menentukan tujuan aplikasi menggunakan elemen intent yang bertingkat di dalam capability.

    • Pemetaan parameter: setiap intent dapat berisi parameter yang akan diteruskan sebagai data extra dari intent. Misalnya, setiap BII Action Aplikasi mencakup kolom yang mewakili informasi yang sering disediakan pengguna dalam kueri yang memicu BII.

Contoh berikut menunjukkan definisi kemampuan di shortcuts.xml untuk actions.intent.START_EXERCISE, BII yang memungkinkan pengguna menggunakan perintah lisan dengan Asisten untuk memulai olahraga di aplikasi kebugaran:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <capability android:name="actions.intent.START_EXERCISE">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.sampleApp"
      android:targetClass="com.example.sampleApp.ExerciseActivity">
      <parameter
        android:name="exercise.name"
        android:key="exerciseType"/>
    </intent>
  </capability>
</shortcuts>

Pada contoh sebelumnya, atribut <capability> android:name mengacu pada BII START_EXERCISE. Jika pengguna memanggil BII ini dengan meminta Asisten, "Ok Google, mulai berlari di ExampleApp", Asisten akan memenuhi permintaan pengguna menggunakan informasi yang diberikan di elemen intent bertingkat. intent dalam sampel ini menentukan detail berikut:

  • android:targetPackage menetapkan paket aplikasi target untuk intent ini.
  • Kolom android:targetClass menentukan aktivitas tujuan: com.example.sampleApp.ExerciseActivity.
  • parameter intent menyatakan dukungan untuk parameter BII exercise.name dan cara meneruskan nilai parameter—yang dikumpulkan dari pengguna—sebagai data tambahan di intent.

Mengaitkan pintasan dengan kemampuan

Setelah menentukan kemampuan, Anda dapat memperluas fungsinya dengan mengaitkan pintasan statis atau dinamis. Cara pintasan ditautkan ke capability bergantung pada fitur yang diterapkan dan ucapan yang sebenarnya disertakan dalam permintaan pengguna. Misalnya, saat pengguna memulai lari di aplikasi pelacakan kebugaran Anda dengan meminta Asisten, "Ok Google, mulai lari di ExampleApp". Asisten dapat menggunakan pintasan untuk meluncurkan instance capability yang menentukan entitas olahraga yang valid dari "berlari" untuk parameter exercise.name.

Untuk informasi selengkapnya tentang cara mengaitkan pintasan ke Action Aplikasi, lihat Ringkasan Action Aplikasi.