Membuat Action Aplikasi

Action Aplikasi memungkinkan pengguna meluncurkan fungsi di aplikasi Android Anda dengan meminta Asisten Google atau menggunakan pintasan Android yang disarankan oleh Asisten. Berikut adalah langkah-langkah utama untuk memperluas aplikasi Android Anda dengan Action Aplikasi:

  1. Identifikasi fungsi dalam aplikasi yang akan dipicu dan intent bawaan (BII) yang cocok.
  2. Memberikan detail fulfillment untuk BII.
  3. Kirim pintasan untuk Action Aplikasi ke Asisten.
  4. Lihat pratinjau Action Aplikasi Anda di perangkat pengujian.
  5. Buat rilis pengujian aplikasi Anda.
  6. Meminta peninjauan dan deployment Action Aplikasi.

Secara opsional, Anda dapat menentukan pintasan dinamis untuk diberikan kepada Asisten sehingga dapat menyarankannya kepada pengguna Anda. Buat Action Aplikasi menggunakan aplikasi contoh dengan mengikuti codelab Action Aplikasi.

Persyaratan

Sebelum mulai mengembangkan Action Aplikasi, pastikan Anda dan aplikasi Anda memenuhi persyaratan berikut:

  • Anda harus memiliki Akun Google dengan akses ke Konsol Google Play.
  • Aplikasi harus dipublikasikan ke Google Play Store, karena Action Aplikasi hanya tersedia untuk aplikasi yang dipublikasikan di sana. Selain itu, pastikan aplikasi Anda tidak dimaksudkan untuk digunakan dalam profil kerja, karena Action Aplikasi tidak didukung oleh Google Play Terkelola.
  • Anda memerlukan perangkat fisik atau virtual untuk menguji Action Aplikasi.
  • Anda memerlukan Android Studio versi terbaru.
  • Anda harus menggunakan Akun Google yang sama untuk login ke Android Studio, aplikasi Google di perangkat pengujian, dan Konsol Google Play.
  • Anda harus menyiapkan Asisten di perangkat pengujian dan mengujinya dengan melakukan sentuh lama pada tombol Layar Utama.

Mencocokkan intent bawaan dengan fungsi aplikasi

Identifikasi fungsi di aplikasi Android yang mungkin ingin dilakukan oleh pengguna dengan permintaan lisan dan tinjau referensi intent bawaan untuk menemukan BII yang sesuai untuk kasus penggunaan Anda. BII membuat model kueri pengguna untuk tugas yang ingin dilakukan, jadi cari BII yang cocok dengan fungsi utama dan alur pengguna di aplikasi Anda.

Ada BII umum yang dapat digunakan oleh hampir semua aplikasi Android, seperti memperluas penelusuran dalam aplikasi native ke Asisten dengan BII actions.intent.GET_THING atau mengizinkan pengguna meluncurkan fitur aplikasi tertentu dengan suara mereka dengan menerapkan BII actions.intent.OPEN_APP_FEATURE.

Ada juga BII yang memungkinkan kasus penggunaan vertikal atau spesifik per kategori. Misalnya, aplikasi pemesanan makanan mungkin menggunakan BII actions.intent.ORDER_MENU_ITEM.

Untuk memastikan pengalaman pengguna yang luar biasa, dan menghindari kemungkinan penundaan persetujuan, pastikan setiap BII yang Anda terapkan relevan dengan fungsi dalam aplikasi Anda.

Action Aplikasi berfungsi dengan memulai intent Android dari aplikasi Asisten untuk mengarahkan pengguna langsung ke konten tertentu di aplikasi Anda. Anda dapat menentukan intent untuk meluncurkan aktivitas secara eksplisit dengan menentukan kolom targetClass dan targetPackage. Jika aplikasi sudah menerapkan URL deep link Android, Anda memiliki opsi untuk mengonfigurasi intent agar menggunakan deep link untuk fulfillment. Untuk detail selengkapnya, lihat bagian Menguji deep link aktivitas.

Memberikan detail fulfillment untuk intent bawaan

Sebagian besar proses pembuatan Action Aplikasi mendeklarasikan kemampuan di file resource shortcuts.xml aplikasi Android tempat Anda menentukan BII yang dipilih dan fulfillment yang sesuai. BII membuat model kueri pengguna untuk sebuah tugas, dan intent fulfillment menyediakan informasi kepada Asisten tentang cara melakukan tugas tersebut.

Dalam file shortcuts.xml, BII direpresentasikan sebagai elemen <capability>, dan setiap fulfillment direpresentasikan sebagai elemen <intent>:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

Untuk sebagian besar BII, Anda mengekstrak parameter intent dari kueri pengguna berdasarkan entity schema.org. Aplikasi Anda kemudian menggunakan parameter BII tersebut untuk mengarahkan pengguna ke fungsi yang diinginkan. Misalnya, kode sebelumnya memetakan parameter BII menuItem.name ke parameter query Android intent.

Jika memenuhi tindakan menggunakan deep link, Anda dapat menggunakan kolom urlTemplate untuk menentukan deep URL yang dihasilkan Asisten URL:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

Untuk mengetahui detail penting tentang menambahkan Action Aplikasi ke file shortcuts.xml, lihat Membuat shortcuts.xml. Halaman tersebut juga menjelaskan cara menentukan parameter value yang diharapkan aplikasi Anda.

Mengimplementasikan intent bawaan GET_THING

Jika aplikasi Anda memiliki fungsi penelusuran, Anda harus mengimplementasikan BII actions.intent.GET_THING untuk fungsi tersebut. Asisten kemudian dapat meneruskan pengguna ke fungsi penelusuran aplikasi Anda untuk hasil dalam aplikasi saat mereka membuat kueri seperti "Ok Google, telusuri Contoh Hal di Aplikasi Contoh".

Dalam file shortcuts.xml, terapkan <capability> untuk BII actions.intent.GET_THING saat Anda menerapkan BII lainnya. Anda dapat menggunakan beberapa fulfillment untuk GET_THING selama Anda menyediakan setidaknya satu fulfillment yang meneruskan kueri pengguna ke fungsi penelusuran aplikasi Anda.

Berikut adalah contoh penambahan BII actions.intent.GET_THING di shortcuts.xml:

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

Pada Activity penelusuran, ekstrak kueri penelusuran dari data tambahan intent dan teruskan ke fungsi penelusuran aplikasi Anda. Pada kode sebelumnya, kueri penelusuran yang diteruskan sebagai kunci query, dipetakan ke parameter BII "thing.name". Kemudian, lakukan penelusuran dengan kueri tersebut dan tampilkan hasilnya di antarmuka pengguna.

Opsional: Mengirim pintasan untuk Action Aplikasi ke Asisten

Setelah Anda menentukan kemampuan untuk tindakan, pengguna dapat meluncurkan tindakan Anda dengan mengucapkan sesuatu seperti, "Ok Google, pesan pizza di Aplikasi Contoh". Asisten dapat menyarankan pintasan Android untuk tindakan Anda kepada pengguna pada waktu yang relevan, sehingga memungkinkan mereka menemukan dan memutar ulang tindakan Anda. Asisten dapat menyarankan pintasan dinamis dan statis.

Untuk mengirim pintasan dinamis ke Asisten, gunakan library Integrasi Pintasan Google. Library Jetpack ini memungkinkan Asisten mengambil pintasan dan menyarankannya kepada pengguna pada waktu yang tepat.

Untuk mengetahui detail selengkapnya, lihat Mengirim pintasan dinamis ke Asisten.

Melihat pratinjau Action Aplikasi

Selama pengembangan dan pengujian, gunakan plugin Asisten Google untuk Android Studio guna menguji apakah Action Aplikasi berfungsi untuk aplikasi Anda. Plugin ini membuat pratinjau Action Aplikasi di Asisten untuk Akun Google Anda. Dengan menggunakan alat pengujian, Anda dapat menguji fulfillment Anda pada perangkat uji fisik atau emulator dengan memberikan parameter input yang ingin Anda terima dari pengguna ke BII.

Saat melihat pratinjau Action Aplikasi, Anda dapat memicu kueri dengan suara di perangkat. Fungsi ini hanya tersedia untuk kueri yang terdaftar dalam referensi BII untuk Action Aplikasi. Gunakan pemicu suara hanya untuk demonstrasi, bukan untuk pengujian reguler.

Uji aplikasi Anda dalam mode draf menggunakan alat developer untuk Konsol Google Play sebelum mengirimkan aplikasi untuk ditinjau. Untuk informasi selengkapnya tentang cara menggunakan Konsol Google Play untuk men-deploy draf aplikasi Anda, lihat Menyiapkan dan meluncurkan rilis.

Membuat rilis pengujian

Jika sudah siap untuk menguji Action Aplikasi dengan penguji tambahan, buat rilis pengujian internal atau tertutup untuk aplikasi Anda. Secara default, penguji rilis internal dan tertutup dapat mengakses Action Aplikasi yang telah ditinjau dan disetujui.

Untuk memberikan akses pengujian ke semua Action Aplikasi, termasuk tindakan yang tidak disetujui, minta penguji bergabung dengan Google Grup Program Pengembangan Action Aplikasi. Anggota grup ini memiliki akses ke semua Action Aplikasi dalam rilis pengujian tertutup dan internal tanpa harus membuat pratinjau menggunakan alat pengujian Action Aplikasi. Diperlukan waktu hingga tiga jam setelah bergabung dengan grup agar akses tersedia.

Meminta peninjauan dan deployment Action Aplikasi

Action Aplikasi tidak tersedia untuk pengguna aplikasi yang Anda publikasikan atau rilis pengujian terbuka hingga ditinjau dan disetujui. Peninjauan Action Aplikasi tidak memengaruhi status deployment dan peninjauan aplikasi Android Anda di Google Play. Meskipun pengiriman aplikasi Anda disetujui dan dipublikasikan ke Play Store, shortcuts.xml Anda mungkin sedang dalam peninjauan oleh Google. Action Aplikasi tidak berfungsi untuk pengguna akhir Anda hingga peninjauan tersebut juga disetujui.

Saat Anda men-deploy aplikasi, Action Aplikasi akan tetap diaktifkan. Namun, versi yang di-deploy kembali dapat ditinjau oleh Google. Jika versi baru tidak berfungsi dengan semestinya atau berisi pelanggaran kebijakan, Google berhak menonaktifkan Action Aplikasi untuk aplikasi Anda.

Untuk mengirim Action Aplikasi untuk ditinjau, lakukan hal berikut:

  1. Setujui persyaratan layanan Actions on Google di Konsol Google Play (Setelan lanjutan > Actions on Google):

    Persyaratan Layanan Actions on Google di konsol Google Play.

  2. Upload aplikasi, yang berisi shortcuts.xml, ke Konsol Google Play seperti biasa untuk dipublikasikan.

  3. Setelah Anda mengupload aplikasi ke Konsol Play, Google akan menghubungi Anda melalui email di akun Konsol Play yang berisi informasi lebih lanjut terkait status peninjauan Action Aplikasi Anda. Anda juga dapat menghubungi Dukungan Developer Actions on Google jika ada pertanyaan terkait status peninjauan Action Aplikasi Anda. Dalam formulir kontak, berikan ID paket aplikasi Anda dan pilih peninjauan Action Aplikasi di kotak pilihan Apa yang bisa kami bantu?.

Agar dapat menggunakan deep link untuk meluncurkan Activity menggunakan Action Aplikasi, Activity harus disiapkan dengan URL deep link dan memiliki filter intent yang sesuai dalam manifes aplikasi Android.

Untuk menguji apakah aktivitas dapat diakses dan dapat dipicu menggunakan Action Aplikasi yang menggunakan deep link, jalankan perintah adb berikut:

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

Contoh:

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

Jika aktivitas Anda tidak diluncurkan secara benar dengan perintah adb, periksa hal berikut:

  • Di file manifes aplikasi, aktivitas memiliki android:exported=true, sehingga dapat diluncurkan menggunakan intent dari Asisten Google.
  • Jika menggunakan URL Link Aplikasi, ikuti semua langkah di Menangani Link Aplikasi Android.

Kebijakan Action Aplikasi

Action Aplikasi harus mematuhi kebijakan khusus untuk membantu memastikan bahwa pengguna yang memicunya menerima pengalaman yang diinginkan. Tinjau kebijakan ini sebelum mengirimkan aplikasi untuk memberikan pengalaman pengguna terbaik dan untuk menghindari penundaan atau penolakan peninjauan Play Store.

  • Mengarahkan pengguna ke konten yang ditujukan bagi pengguna

    Intent bawaan (BII) dan/atau parameter Action Aplikasi hanya boleh mengarahkan pengguna ke tindakan yang relevan dan ditujukan bagi pengguna. Hal ini dapat mencakup konten dalam aplikasi, konten situs, atau informasi yang ditampilkan dalam slice atau widget selama pengalaman tersebut dimaksudkan oleh pengguna.

    Misalnya, implementasi BII ORDER_MENU_ITEM membantu pengguna memulai pesanan untuk item menu atau jenis masakan yang ditentukan. Satu-satunya pengecualian untuk kebijakan ini adalah saat BII OPEN_APP_FEATURE Anda mengarahkan pengguna ke layar utama aplikasi Anda.

  • Mengarahkan pengguna ke konten web yang relevan

    Jika pengguna dialihkan ke konten halaman web, situs harus relevan dengan tindakan yang diinginkan pengguna dan dimiliki oleh brand.

    Misalnya, mengalihkan pengguna yang memicu BII GET_RESERVATION ke google.com/travel, yang bukan milik brand aplikasi exampledomain.com, merupakan pelanggaran. Contoh lain pelanggaran adalah mengalihkan pengguna yang memicu BII GET_CALL_HISTORY ke exampledomain.com/payment dan mengharuskan mereka untuk melakukan pembelian.

  • Menerapkan BII Action Aplikasi yang relevan

    BII yang diterapkan harus terkait langsung dengan konten dan fungsi aplikasi.

    Misalnya, jika aplikasi Anda berada dalam kategori Play Store Komunikasi, jangan terapkan BII ORDER_MENU_ITEM, yang direkomendasikan untuk aplikasi dalam kategori Makanan dan Minuman.

  • Mengimplementasikan intent kustom yang relevan

    Kueri yang ditentukan untuk intent kustom berkaitan dengan konten dan fungsi aplikasi. Contoh potensi pelanggaran terhadap kebijakan ini adalah membuat intent custom.action.intent.GET_RECIPE dengan pola kueri terkait "Tampilkan resep burrito" untuk aplikasi dalam kategori Transportasi di Play Store.