Untuk mempromosikan fitur aplikasi dan membuatnya lebih mudah digunakan, Anda dapat menyarankan pintasan Asisten kepada pengguna. Pintasan Asisten adalah frasa ringkas yang dapat diucapkan pengguna untuk memicu fungsi dalam aplikasi Anda.
Meskipun pintasan Asisten dapat dibuat secara manual oleh pengguna, SDK Promo dalam Aplikasi memungkinkan Anda secara proaktif menyarankan dan menerapkan pintasan Asisten. Dengan menyarankan pintasan, Anda memberikan jalur yang jelas dan sederhana kepada pengguna untuk kembali ke aktivitas favorit mereka di aplikasi Anda tanpa perlu upaya tambahan untuk menyiapkan pintasan.
Misalnya, jika pengguna melakukan penelusuran untuk "sesi olahraga iringan musik metal" di aplikasi musik Anda, sebaiknya sarankan pintasan Asisten langsung ke hasil penelusuran tersebut di masa mendatang. Saat Anda menyarankan pintasan, perintah akan muncul di aplikasi yang menampilkan frasa yang diusulkan untuk pintasan tersebut dan menanyakan pengguna apakah pintasan harus dibuat.
Dalam contoh ini, Anda menyarankan frasa, "mulai sesi olahraga iringan musik metal saya". Pengguna menerima saran tersebut, kemudian dapat meluncurkan pintasan dengan mengucapkan,"Ok Google, mulai sesi olahraga iringan musik metal saya."
Untuk mengetahui informasi selengkapnya tentang cara memperbanyak audiens aplikasi Anda, lihat Meningkatkan aplikasi dengan action aplikasi.
SDK Promo Dalam Aplikasi menyediakan metode berikut:
lookupShortcut
: memeriksa apakah pintasan yang ingin Anda sarankan sudah ada. Metode ini juga memeriksa masalah apa pun yang mencegah pintasan dibuat. Jika pintasan tidak dapat dibuat,lookupShortcut
akan menampilkan alasannya.createShortcutSuggestionIntent
: menampilkan intent yang dapat Anda gunakan untuk meminta pengguna membuat pintasan yang disarankan.createShortcutSettingsIntent
: menampilkan intent yang dapat Anda gunakan untuk memindahkan pengguna ke setelan Pintasan Asisten untuk aplikasi Anda.
Prasyarat dan batasan
Bagian ini menjelaskan prasyarat dan persyaratan penggunaan saran serta batasan yang mungkin Anda temui.
Prasyarat pengembangan
Untuk menggunakan saran, lingkungan pengembangan Anda harus memenuhi prasyarat berikut.
Perluas aplikasi Android Anda agar dapat menggunakan Action Aplikasi.
Sertakan
com.google.android.googlequicksearchbox
dalam tag<queries>
di manifes Anda. Contoh:<manifest ...> <queries> <package android:name="com.google.android.googlequicksearchbox" /> </queries> ... </manifest>
Gunakan Android App Bundle untuk memublikasikan aplikasi Anda.
Persyaratan perangkat
Untuk menguji saran di perangkat, perangkat Anda harus menginstal hal berikut.
Versi terbaru aplikasi Google
Android 6.0 (level API 23) atau yang lebih tinggi
Batasan umum
Saran hanya didukung dalam bahasa Inggris. Agar pengguna dapat melihat saran Anda, mereka harus menyetel bahasa Asisten di perangkat mereka ke bahasa Inggris.
Mengimplementasikan saran
Untuk menerapkan saran, Anda perlu mengupdate file
build.gradle
, menyiapkan klien saran, lalu menentukan saran yang ingin Anda
berikan kepada pengguna.
Tambahkan dependensi library ke file
build.gradle
Anda.dependencies { ... implementation "com.google.assistant.appactions:suggestions:1.0.0" }
Tentukan instance
AssistantShortcutSuggestionsClient
.Kotlin
val shortcutsClient = AssistantShortcutSuggestionsClient.builder() .setContext(CONTEXT: Context) .setVerifyIntents(VERIFY_INTENTS: Boolean) .setCustomExecutor(CUSTOM_EXECUTOR: Object) .build()
Java
AssistantShortcutSuggestionsClient shortcutsClient = AssistantShortcutSuggestionsClient.builder() .setContext(CONTEXT: Context) .setVerifyIntents(VERIFY_INTENTS: Boolean) .setCustomExecutor(CUSTOM_EXECUTOR: Object) .build();
Dalam contoh ini:
CONTEXT
(wajib) adalah konteks aplikasi.VERIFY_INTENTS
(wajib) menentukan apakah akan memverifikasi setiap intent yang dibuat saat menyarankan pintasan kepada pengguna. Saattrue
, intent yang dibuat olehAssistantShortcutSuggestionsClient
akan diverifikasi. Jika intent tidak valid, pengecualian akan ditampilkan.CUSTOM_EXECUTOR
(opsional) adalah eksekutor kustom untuk menjalankan tugas asinkron. Jika tidak diberikan, SDK akan menggunakan eksekutor thread tunggal untuk tugas tersebut.
Gunakan metode
lookupShortcut
untuk menentukan apakah pintasan yang ingin Anda sarankan valid dan, secara opsional, apakah pintasan sudah ada.Buat intent pintasan aplikasi. Intent pintasan mewakili pintasan yang ingin Anda sarankan kepada pengguna. Contoh berikut membuat intent bagi pintasan untuk memesan minuman.
Kotlin
val menuItem = mapOf( "@type" to "MenuItem", "@context" to "http://schema.googleapis.com", "name" to "Fresh Lemon Honey Jasmine Green Tea", ) val appShortcutIntent = AppShortcutIntent.builder() .setIntentName("actions.intent.ORDER_MENU_ITEM") .setPackageName("my.app.package") .setIntentParamName("menuItem") .setIntentParamValue(menuItem) .build()
Java
Map
menuItem = new HashMap<>(); menuItem.put("@type", "MenuItem"); menuItem.put("@context", "http://schema.googleapis.com"); menuItem.put("name", "Fresh Lemon Honey Jasmine Green Tea"); AppShortcutIntent appShortcutIntent = AppShortcutIntent.builder() .setIntentName("actions.intent.ORDER_MENU_ITEM") .setPackageName("my.app.package") .setIntentParamName("menuItem") .setIntentParamValue(menuItem) .build(); Teruskan intent pintasan ke metode
lookupShortcut
.Kotlin
val result = shortcutsClient.lookupShortcut(appShortcutIntent).await() if (!result.isShortcutPresent) { // App can suggest creating a shortcut } else { // App can remind the user that they have a shortcut for this app action }
Java
shortcutsClient.lookupShortcut(appShortcutIntent) .addOnSuccessListener(shortcutLookupResult -> { if (!shortcutLookupResult.isShortcutPresent()) { // App can suggest creating a shortcut } else { // App can remind the user that they have a shortcut for this app action } }) .addOnFailureListener(e -> Log.e(TAG, "Shortcut lookup failed", e));
Buat saran menggunakan intent pintasan. Ada dua metode yang dapat digunakan untuk membuat saran:
createShortcutSuggestionIntent
: menampilkan intent Android yang Anda gunakan untuk memulai aktivitas saran pintasan dalam konteks aplikasi.Kotlin
val orderShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand(PHRASE: String) .build() val intent = shortcutsClient.createShortcutSuggestionIntent(orderShortcut).await() application.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
Java
AppShortcutSuggestion orderShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand(PHRASE: String) .build(); shortcutsClient.createShortcutSuggestionIntent(orderShortcut) .addOnSuccessListener(intent -> getApplication().startActivity( intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); ) .addOnFailureListener(e -> Log.e(TAG, "Failed to get shortcut suggestion intent", e); );
Dalam contoh ini, PHRASE adalah ucapan yang ingin Anda sarankan kepada pengguna sebagai pintasan. Misalnya, jika Anda ingin pengguna mengucapkan "Ok Google, pesan teh boba saya" sebagai pintasan, ganti PHRASE dengan
"order my bubble tea"
.Kotlin
val orderShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand("order my bubble tea") .build()
Java
AppShortcutSuggestion orderShortcut = AppShortcutSuggestion.builder() .setAppShortcutIntent(appShortcutIntent) .setCommand("order my bubble tea") .build();
createShortcutSettingsIntent
: menampilkan intent Android yang memindahkan pengguna ke antarmuka setelan pintasan di aplikasi Asisten.Kotlin
val intent = shortcutsClient.createShortcutSettingsIntent().await() application.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
Java
shortcutsClient.createShortcutSettingsIntent() .addOnSuccessListener(intent -> getApplication().startActivity( intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); ) .addOnFailureListener(e -> Log.e(TAG, "Failed to get shortcut settings intent", e); );
Panggil
startActivity
menggunakan intent Android yang ditampilkan selama langkah sebelumnya.
Memecahkan masalah saran
Bagian ini mencantumkan masalah dan pengecualian yang mungkin Anda alami saat menyarankan pintasan.
"GoogleInstallationUnsupportedException: Tidak dapat mengikat ke layanan"
Karena
pemfilteran visibilitas paket,
"GoogleInstallationUnsupportedException
: Tidak dapat mengikat ke layanan" dapat terjadi di
Android 11 dan yang lebih baru. Pastikan com.google.android.googlequicksearchbox
disertakan dalam tag <queries>
dalam manifes Anda:
<manifest ...>
<queries>
<package android:name="com.google.android.googlequicksearchbox" />
</queries>
...
</manifest>
"Gagal memverifikasi tanda tangan APK"
Error berikut dapat terjadi jika Anda tidak mengirimkan aplikasi produktivitas sebagai app bundle:
Failed to verify the APK signature. If this is a development build, please
make sure to update the preview of your app in App Actions Test Tool.
Pastikan Anda mengirimkan aplikasi sebagai Android App Bundle.
"Gagal mendapatkan pintasan pengguna"
Pesan error "Gagal mendapatkan pintasan pengguna" dapat terjadi jika Anda baru saja menambahkan akun ke perangkat, dan jika data pintasan akun baru belum di-cache dalam perangkat.
Untuk menyinkronkan data pintasan di perangkat, tambahkan atau hapus pintasan Asisten menggunakan antarmuka aplikasi Asisten.
Aktivitas pembuatan pintasan langsung ditutup tanpa menampilkan konten apa pun
Aktivitas pembuatan pintasan dapat ditutup tanpa menampilkan konten jika Anda tidak membuat pratinjau menggunakan Alat Uji Action Aplikasi, atau jika pratinjau telah berakhir. Perbarui pratinjau, lalu coba lagi.