Menambahkan kemampuan ke pintasan

Kemampuan di shortcuts.xml memungkinkan Anda mendeklarasikan jenis tindakan yang dapat dilakukan pengguna ambil 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), sehingga memungkinkan pengguna mengaktifkan dan kontrol fitur tersebut menggunakan perintah lisan. Kemampuan terdiri dari nama tindakan dan intent yang menargetkan tujuan di aplikasi Anda yang menyelesaikan maksud 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 berikut ini:

  1. Buat sumber daya 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 untuk didukung aplikasi. Rujuk ke dokumentasi komponen untuk fitur yang memerlukan kemampuan definisi. Perintah yang diaktifkan suara Action Aplikasi menggunakan BII Action ID untuk nama kapabilitas, yang dapat Anda temukan di referensi BII. Misalnya, BII GET_THING mencantumkan Action ID-nya sebagai actions.intent.GET_THING.

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

    • Pemetaan parameter: setiap intent mungkin berisi parameter yang akan diteruskan sebagai data extra dari intent. Misalnya, setiap BII Action Aplikasi mencakup bidang 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 ucapan perintah 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 mendeklarasikan 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 mendefinisikan kemampuan, Anda dapat memperluas fungsinya dengan mengaitkan pintasan statis atau dinamis. Cara pintasan ditautkan ke capability bergantung pada fitur yang diterapkan dan kata-kata sebenarnya yang sesuai permintaan pengguna. Misalnya, saat pengguna mulai berlari di pelacakan kebugaran Anda aplikasi dengan meminta Asisten, "Ok Google, mulai berlari di ExampleApp". Google dapat menggunakan pintasan untuk meluncurkan instance capability yang menentukan entitas latihan "run" untuk parameter exercise.name.

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