Menambahkan kemampuan ke pintasan

Kemampuan di shortcuts.xml memungkinkan Anda mendeklarasikan jenis tindakan yang dapat dilakukan pengguna untuk meluncurkan aplikasi Anda dan langsung menjalankan 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 dalam 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 untuk didukung oleh 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 dalam referensi BII. Misalnya, BII GET_THING mencantumkan Action ID-nya sebagai actions.intent.GET_THING.

    • Tujuan aplikasi: tujuan di aplikasi yang diluncurkan tindakan untuk 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 menyertakan kolom yang mewakili informasi yang sering diberikan pengguna dalam kueri yang memicu BII.

Contoh berikut menunjukkan definisi kemampuan dalam 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 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 menentukan kemampuan, Anda dapat memperluas fungsinya dengan mengaitkan pintasan statis atau dinamis dengannya. Cara pintasan ditautkan ke capability bergantung pada fitur yang diterapkan dan kata-kata sebenarnya yang disertakan dalam permintaan pengguna. Misalnya, saat pengguna mulai berlari di aplikasi pelacakan kebugaran dengan meminta Asisten, "Ok Google, mulai lari di ExampleApp". Asisten dapat menggunakan pintasan untuk meluncurkan instance capability yang menentukan entity latihan yang valid dari "run" untuk parameter exercise.name.

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