Memperluas aplikasi Android ke Asisten Google dengan Action Aplikasi (Level 2)

1. Ringkasan

Action Aplikasi memungkinkan pengguna langsung meluncur ke fitur aplikasi tertentu dari Asisten Google untuk membantu Anda memperluas jangkauan aplikasi Android. Sebagai developer Android, Anda dapat menerapkan kemampuan, yang memungkinkan Asisten Google mengetahui jenis fungsi yang tersedia bagi pengguna dan cara memenuhi permintaan ini sesuai keinginan Anda.

Pada codelab Action Aplikasi yang pertama, Anda telah mempelajari cara memperluas Asisten Google ke contoh aplikasi kebugaran dengan menerapkan intent bawaan (BII) dari kategori BII Kesehatan dan Kebugaran. BII diatur ke dalam kategori yang mewakili jenis tugas yang sering diminta pengguna untuk dilakukan oleh Asisten.

Dalam codelab ini, Anda akan mempelajari cara menambahkan Action Aplikasi ke aplikasi menggunakan BII dari kategori BII "Umum", yang mewakili tugas aplikasi umum yang dapat dipenuhi oleh hampir semua aplikasi Android.

Codelab ini mencakup konsep tingkat menengah untuk pengembangan dengan Action Aplikasi. Anda harus memiliki pengalaman sebelumnya dalam mengembangkan aplikasi Android dan menerapkan intent Android.

Yang akan Anda buat

Dalam codelab ini, Anda akan menambahkan dua BII Umum ke contoh aplikasi Daftar tugas, yang memungkinkan pengguna meminta Asisten untuk:

Tiga layar progresif tempat Asisten Google menampilkan tugas aktif di aplikasi.

Gambar 1. Tiga layar progresif tempat Asisten Google menampilkan tugas aktif di aplikasi.

Yang akan Anda pelajari

Anda akan mempelajari cara menggunakan BII kategori Umum untuk memperluas Asisten ke sebagian besar aplikasi Android. Anda juga akan mempelajari cara menguji BII Umum dengan plugin Asisten Google untuk Android Studio.

Prasyarat

  • Terminal untuk menjalankan perintah shell dengan git terinstal.
  • Rilis stabil terbaru dari Android Studio.
  • Perangkat Android fisik atau virtual dengan akses Internet ke Google Play Store untuk menguji tindakan Anda.
  • Akun Google Anda yang sama harus login ke Android Studio, serta aplikasi Google dan aplikasi Asisten Google di perangkat pengujian Anda.

Dalam codelab ini, Anda akan menggunakan perangkat Android (fisik atau virtual) untuk menguji tindakan Anda. Jika menggunakan perangkat fisik, pastikan perangkat tersebut terhubung ke mesin pengembangan lokal Anda. Anda juga harus login ke aplikasi Google di perangkat tersebut, dan login ke Android Studio, menggunakan akun Google yang sama. Perangkat juga harus memiliki aplikasi Asisten Google yang sudah terinstal.

2. Memahami cara kerjanya

Action Aplikasi menghubungkan pengguna dari Asisten Google ke aplikasi Android Anda. Namun, bagaimana cara kerjanya?

Saat pengguna menyebutkan kepada Asisten bahwa mereka ingin menggunakan aplikasi Anda, Asisten mencari Action Aplikasi yang terdaftar ke aplikasi Anda dari file shortcuts.xml. File ini berisi kemampuan aplikasi, yang menautkan intent bawaan Asisten atau intent kustom ke intent Android atau deep link.

Saat pengguna mengucapkan kueri kepada Asisten, Asisten akan mengurai input pengguna dan mencocokkannya dengan intent Action Aplikasi (dalam codelab ini yang dimaksud adalah BII). Asisten mengetahui kemampuan yang Anda dukung dari file shortcuts.xml di Aplikasi Android. Dengan pencocokan intent, kemampuan dengan BII tersebut berisi cara memenuhi permintaan tersebut sesuai dengan keinginan Anda. Dalam codelab ini, fulfillment adalah intent Android yang meluncurkan aktivitas di aplikasi Anda.

Diagram berikut menunjukkan alur Asisten ini:

Alur yang menjelaskan cara pemrosesan kueri suara pengguna oleh Asisten Google.Gambar 2. Alur yang menjelaskan cara Asisten Google memproses kueri suara.

File project shortcuts.xml berisi informasi berikut untuk setiap Action Aplikasi:

  • Intent bawaan atau intent kustom yang digunakan Action Aplikasi
  • Aktivitas Android atau deep link yang harus diberikan kepada pengguna
  • Cara parameter untuk intent bawaan dipetakan ke informasi yang diberikan kepada Asisten oleh pengguna

Aktivitas Android Anda kemudian memfilter dan menangani deep link atau intent Android yang disediakan untuk memberikan fungsi yang diinginkan pengguna. Hasilnya adalah pengalaman pengguna tempat Asisten memanggil fungsi aplikasi Anda sebagai respons atas kueri pengguna.

3. Menyiapkan lingkungan pengembangan

Codelab ini menggunakan aplikasi contoh Daftar tugas untuk Android. Aplikasi contoh ini dapat menambahkan item ke daftar tugas, menelusuri item menurut kategori, dan melihat informasi tentang tugas yang telah selesai.

Mendownload file dasar

Jalankan perintah berikut untuk meng-clone repositori GitHub aplikasi contoh:

git clone --branch codelab-start https://github.com/actions-on-google/appactions-common-biis-kotlin.git

Setelah meng-clone repositori, ikuti langkah-langkah berikut untuk membukanya di Android Studio:

  1. Dalam dialog Welcome to Android Studio, klik Import project.
  2. Cari dan pilih folder tempat Anda meng-clone repositori.

Untuk melihat versi aplikasi yang mewakili codelab yang sudah selesai, clone repo aplikasi contoh menggunakan tanda --branch master.

Memperbarui ID aplikasi Android

Memperbarui ID aplikasi akan mengidentifikasi aplikasi di perangkat pengujian Anda secara unik dan menghindari error "Nama paket duplikat" jika aplikasi diupload ke Konsol Play. Untuk memperbarui ID aplikasi, buka app/build.gradle:

android {
...
  defaultConfig {
    applicationId "com.MYUNIQUENAME.android.fitactions"
    ...
  }
}

Ganti "MYUNIQUENAME" di kolom applicationId menjadi sesuatu yang unik bagi Anda.

Menguji aplikasi di perangkat Anda

Sebelum membuat lebih banyak perubahan pada aplikasi, sebaiknya Anda mengetahui apa saja yang dapat dilakukan aplikasi contoh. Untuk menjalankan aplikasi di emulator, ikuti langkah-langkah berikut:

  1. Di Android Studio, pilih Run > Run app atau klik Run di toolbar.
  2. Dalam dialog Select Deployment Target, pilih perangkat lalu klik OK. Versi OS yang direkomendasikan adalah Android 10 (API level 30) atau lebih tinggi, meskipun Action dapat berjalan di perangkat Android 5 (API level 21).
  3. Tekan lama tombol Home untuk menyiapkan Asisten dan memastikannya berfungsi. Anda harus login ke Asisten di perangkat jika belum melakukannya.

Untuk informasi selengkapnya tentang perangkat virtual Android, lihat Membuat dan mengelola perangkat virtual.

Animasi yang mendemonstrasikan aplikasi contoh Daftar tugas

Gambar 3. Animasi yang mendemonstrasikan aplikasi contoh Daftar tugas.

Jelajahi aplikasi secara singkat untuk melihat apa yang dapat dilakukannya. Dengan mengetuk ikon Plus, Anda akan membuat item tugas baru, dan item menu di kanan atas memungkinkan Anda menelusuri dan memfilter item tugas menurut status penyelesaian.

Menginstal plugin pengujian

Plugin Asisten Google memungkinkan Anda menguji Action Aplikasi di perangkat pengujian. Jika Anda belum memiliki alat pengujian, instal dengan mengikuti langkah-langkah berikut:

  1. Buka File > Settings (Android Studio > Preferences di MacOS).
  2. Di bagian Plugins, buka Marketplace dan telusuri "Google Assistant". Anda juga dapat secara manual mendownload dan menginstal alat pengujian.
  3. Instal alat tersebut, lalu mulai ulang Android Studio.

4. Menambahkan kemampuan BII Melakukan Tugas

BII actions.intent.GET_THING memperluas fungsi penelusuran dalam aplikasi ke Asisten Google. Pada langkah ini, Anda akan mengimplementasikan dan menguji BII GET_THING, yang memungkinkan pengguna menelusuri tugas tertentu di aplikasi contoh.

Menentukan kemampuan Melakukan Tugas

Selama Action Aplikasi yang terkait penelusuran, Asisten mengekstrak istilah penelusuran dari kueri pengguna ke dalam parameter BII thing.name, lalu meneruskan nilai tersebut ke aplikasi Android.

Untuk menambahkan BII GET_THING ke aplikasi Anda, perbarui shortcuts.xml, yang terletak di direktori project contoh app/src/main/res/xml, dengan elemen <capability> dalam tag <shortcuts> level teratas:

shortcuts.xml

<shortcuts ....>
    <capability android:name="actions.intent.GET_THING">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.yourApplicationId.appaction"
            android:targetClass="com.example.android.architecture.blueprints.todoapp.tasks.TasksActivity">
            <parameter
                android:name="thing.name"
                android:key="q"/>
        </intent>
    </capability>
</shortcuts>

Konfigurasi di atas:

  1. Mendeklarasikan bahwa aplikasi merespons BII GET_THING.
  2. Menentukan cara membuat intent Android yang meluncurkan aplikasi sebagai respons terhadap BII tersebut.
    • Aktivitas diidentifikasi menggunakan targetPackage dan targetClass.
    • Parameter BII thing.name dipetakan ke dalam Tambahan Intent bernama q.

Aktivitas yang dinamai tersebut harus ada dalam manifes aplikasi dan diekspor.

Aplikasi Android yang disediakan berisi metadata, sehingga AndroidManifest mengetahui file shortcuts.xml:

<meta-data
   android:name="android.app.shortcuts"
   android:resource="@xml/shortcuts" />

Menguji Action Aplikasi Anda

Agar dapat menguji penelusuran dalam aplikasi untuk aplikasi Anda dari Asisten, ikuti langkah-langkah berikut:

  1. Pastikan perangkat Android Anda terhubung.
  2. Buka Tools > Google Assistant > App Actions Test Tool.
  3. Klik Create Preview untuk menerima nilai default untuk App name dan locale. Jika diminta, tinjau dan setujui kebijakan dan persyaratan layanan Action Aplikasi.
  4. Pada langkah pertama, saat alat meminta Anda untuk memilih dan mengonfigurasi BII, pilih actions.intent.GET_THING. Ubah nilai name dari running shoes menjadi milk.
  5. Klik Run App Action.

Dalam pengujian ini, BII GET_THING menggunakan atribut name untuk menelusuri tugas yang berisi "milk" (susu) di aplikasi. Seperti Action Aplikasi sebelumnya, Anda dapat menguji tindakan menggunakan alat pengujian, atau cukup ucapkan "Ok Google, telusuri campuran bahan kue di Daftar Tugas", atau frasa penelusuran lainnya, di perangkat pengujian.

5. Menambahkan kemampuan BII Buka fitur aplikasi

Pada langkah ini, Anda menerapkan BII Buka fitur aplikasi, yang memungkinkan pengguna melihat tugas aktif dan yang sudah selesai menggunakan Asisten. Untuk melakukannya, lengkapi kemampuan dalam shortcuts.xml yang berisi informasi tentang cara kemampuan dipicu, cara parameter diteruskan, dan intent Android mana yang akan dipanggil. Untuk codelab ini, Anda akan menggunakan BII OPEN_APP_FEATURE. Setelah menerapkan BII ini, Anda akan menguji Action di perangkat Anda.

Menambahkan kemampuan Buka fitur aplikasi

Tambahkan kemampuan kedua untuk Buka fitur aplikasi di shortcuts.xml di bawah elemen Kemampuan Melakukan Tugas:

shortcuts.xml

<capability android:name="actions.intent.OPEN_APP_FEATURE">
   <intent
       android:action="android.intent.action.VIEW"
       android:targetPackage="yourApplicationId"
       android:targetClass="com.example.android.architecture.blueprints.todoapp.tasks.TasksActivity">
       <parameter
           android:name="feature"
           android:key="feature"/>
   </intent>
</capability>

Kemampuan ini memetakan BII Buka fitur aplikasi dan intent Android secara bersamaan, sehingga saat Buka fitur aplikasi dipicu, intent Android akan terpicu.

Sebelum memicu intent Android, parameter yang didukung diambil dari input pengguna. BII OPEN_APP_FEATURE mendukung satu parameter, feature, yang mewakili fitur aplikasi yang diekstrak dari kueri pengguna. Ada dua jenis fitur yang akan didukung aplikasi ini: Tugas Aktif dan Tugas Selesai. Fitur ini memungkinkan pengguna membuka aplikasi dengan tampilan daftar tugas mereka yang difilter. Anda perlu menggunakan inventaris inline untuk mendukung fitur ini.

Menangani parameter intent menggunakan inventaris inline

Parameter intent mewakili elemen yang diekstrak dari kueri pengguna. Misalnya, jika pengguna mengucapkan sesuatu seperti, "Ok Google, pesan pizza dari ExampleApp", Asisten mengekstrak "pizza" ke parameter intent food.item schema.org, dan meneruskan parameter ke tindakan Anda untuk ditangani.

BII Buka fitur aplikasi mendukung satu parameter, feature, yang mewakili fitur aplikasi yang diekstrak dari kueri pengguna. Inventaris inline diperlukan untuk parameter ini, yang memberikan serangkaian nama fitur aplikasi yang didukung kepada Asisten untuk dicocokkan dengan nilai parameter.

Untuk menangani parameter intent feature, tambahkan pintasan ke shortcuts.xml dengan kode berikut di atas kemampuan Buka fitur aplikasi:

shortcuts.xml

<shortcut
   android:shortcutId="active_tasks"
   android:shortcutShortLabel="@string/label_active"
   android:enabled="false">
   <capability-binding
       android:key="actions.intent.OPEN_APP_FEATURE">
       <parameter-binding
           android:key="feature"
           android:value="@array/active_tasks_synonyms" />
   </capability-binding>
</shortcut>

<shortcut
   android:shortcutId="completed_tasks"
   android:shortcutShortLabel="@string/label_completed"
   android:enabled="false">
   <capability-binding
       android:key="actions.intent.OPEN_APP_FEATURE">
       <parameter-binding
           android:key="feature"
           android:value="@array/completed_tasks_synonyms" />
   </capability-binding>
</shortcut>

Dalam kode di atas, Anda menentukan inventaris inline, yang ditampilkan sebagai elemen shortcut dengan kemampuan dan binding parameter. Pintasan dapat digunakan sebagai inventaris untuk parameter BII. Asisten Google mencocokkan kueri pengguna dengan nilai dalam binding parameter Pintasan. Untuk nilai parameter yang cocok, shortcutId akan ditambahkan ke intent fulfillment. Saat pengguna mengaktifkan BII OPEN_APP_FEATURE dengan permintaan, Asisten mencocokkan nilai parameter fitur dengan atribut nilai pintasan, yang meneruskan nilai tersebut ke targetClass sebagai parameter di Extra.

Misalnya, jika pengguna mengucapkan sesuatu seperti, "Ok Google, tampilkan tugas saya yang sudah selesai di ExampleApp", Asisten mencocokkan nilai parameter intent fitur, "tugas selesai", dengan pintasan inventaris terkait, yang meneruskan nilai tersebut ke kemampuan OPEN_APP_FEATURE. Asisten kemudian memicu intent Android.

Menguji Action Aplikasi Anda

Selama pengembangan dan pengujian, Anda menggunakan plugin Asisten Google untuk melihat pratinjau Action Aplikasi dengan Asisten di perangkat pengujian. Anda juga dapat menggunakan alat untuk menyesuaikan parameter intent Action Aplikasi, untuk menguji bagaimana tindakan Anda menangani berbagai cara yang mungkin digunakan pengguna untuk meminta Asisten menjalankannya.

Untuk menguji Action Aplikasi Anda dengan alat pengujian, ikuti langkah-langkah berikut:

  1. Hubungkan perangkat pengujian Android fisik Anda, atau mulai emulator Android
  2. Jika alat pengujian tidak terlihat, buka dengan membuka Tools > Google Assistant > App Actions Test Tool.
  3. Klik tombol Update untuk memperbarui pratinjau.
  4. Pada langkah pertama, saat alat meminta Anda untuk memilih dan mengonfigurasi BII, pilih actions.intent.OPEN_APP_FEATURE.
  5. Di kotak feature, perbarui nilai History default dengan Completed tasks.
  6. Klik Run App Action.

Sebagai alternatif, Anda dapat menggunakan nama panggilan langsung di aplikasi Asisten pada perangkat untuk mencoba Action Aplikasi Anda. Misalnya, Anda bisa mengucapkan "Ok Google, tampilkan tugas yang sudah selesai di Daftar Tugas".

6. Langkah berikutnya

Selamat!

Kini Anda memiliki kemampuan untuk mengaktifkan hampir semua aplikasi Android agar berfungsi dengan Asisten Google, menggunakan BII umum.

Yang telah kita bahas

Dalam codelab ini, Anda telah mempelajari:

  • Cara mengizinkan pengguna mempelajari fitur aplikasi tertentu secara mendalam menggunakan Asisten.
  • Cara pengguna mengakses penelusuran dalam aplikasi dari Asisten.
  • Cara menguji BII umum menggunakan Plugin Asisten Google.

Langkah berikutnya

Dari sini, Anda dapat terus mengoptimalkan aplikasi Daftar tugas. Untuk mereferensikan project yang sudah selesai, lihat repo –cabang master di GitHub.

Berikut beberapa saran untuk mempelajari lebih lanjut cara memperluas aplikasi ini dengan Action Aplikasi:

Untuk melanjutkan perjalanan Actions on Google Anda, pelajari referensi berikut:

Ikuti kami di Twitter @ActionsOnGoogle untuk terus memantau pengumuman terbaru kami, dan kirim tweet ke #AoGDevs untuk membagikan karya yang telah Anda buat.

Survei masukan

Terakhir, isi survei ini untuk memberikan masukan tentang pengalaman Anda dengan codelab ini.