Bergabunglah bersama kami di ⁠#Android11: The Beta Launch Show pada tanggal 3 Juni!

Pertanyaan umum

Halaman ini berisi jawaban atas pertanyaan atau error umum yang mungkin Anda alami saat mengembangkan aplikasi instan. Untuk mengetahui informasi selengkapnya tentang pedoman pengalaman pengguna, lihat Praktik terbaik UX untuk aplikasi di Google Play Instan dan Praktik terbaik UX untuk game di Google Play Instan.

Umum

  • Perangkat apa saja yang didukung untuk Google Play Instan?

    Google Play Instan didukung di sebagian besar perangkat yang menjalankan Android 5.0 (API level 21) dan versi yang lebih tinggi.

  • Apakah developer perlu membuat dua aplikasi Android yang berbeda?

    Developer hanya perlu mengelola satu project dengan satu source tree. Mereka dapat mengonfigurasi project untuk membuat dua artefak build:

    • Versi yang dapat diinstal
    • Versi aplikasi instan

    Upaya yang dilakukan dalam menambahkan dukungan aplikasi instan ke aplikasi yang dapat diinstal bergantung pada struktur aplikasi yang dapat diinstal saat ini.

    Catatan: Versi aplikasi instan harus sama atau di bawah versi aplikasi yang dapat diinstal yang terakhir kali dipublikasikan.

  • Apa saja jenis API Android dan fungsi yang dapat digunakan aplikasi instan?

    Fungsi Google Play Instan melengkapi aplikasi Android yang sudah ada. Ini artinya, fungsi tersebut tidak menggantikan aplikasi Android yang sudah ada. Fungsi tersebut menggunakan API Android yang sama, project yang sama, dan kode sumber yang sama. Fungsi ini membatasi beberapa fitur yang mungkin tidak sesuai dengan ekspektasi pengguna dari aplikasi yang tidak diinstal. Misalnya, aplikasi instan tidak dapat menggunakan layanan latar belakang, mengirimkan notifikasi latar belakang, atau mengakses ID perangkat unik.

  • Dapatkah pengguna memilih untuk menginstal aplikasi secara permanen?

    Developer dapat mengizinkan pengguna menginstal aplikasi dari Google Play menggunakan metode showInstallPrompt().

  • Bagaimana cara kerja izin di Google Play Instan?

    Google Play Instan menggunakan model izin waktu proses yang diperkenalkan di Android 6.0 (API level 23).

  • Izin mana yang tersedia untuk aplikasi instan?

    Lihat daftarnya di bagian izin dalam panduan tentang membuat app bundle dapat diaktifkan secara instan.

  • Versi SDK mana yang harus menjadi target aplikasi instan?

    Manifes aplikasi instan Anda harus menetapkan targetSdkVersion ke 26 atau lebih tinggi.

  • Apakah ada batasan tentang cara aplikasi instan menangani traffic jaringan?

    Semua traffic jaringan dari dalam aplikasi instan harus menggunakan HTTPS. Aplikasi instan tidak mendukung HTTP.

  • Bagaimana cara developer memublikasikan aplikasi instan?

    Pengembang memublikasikan aplikasi instannya melalui Konsol Google Play, mirip dengan aplikasi Android yang sudah ada. Untuk mengetahui informasi selengkapnya, lihat Mendistribusikan aplikasi instan Anda.

  • Apakah Smart Lock diperlukan untuk aplikasi instan?

    Ya, aplikasi yang mewajibkan pengguna untuk login harus menerapkan Smart Lock untuk Sandi di Android.

  • Dapatkah saya menerapkan aplikasi instan tanpa versi aplikasi Android yang dapat diinstal?

    Tidak, Anda harus memiliki versi aplikasi Android yang dapat diinstal di Google Play.

  • Dapatkah kami menggunakan WebP untuk tampilan?

    Ya, Anda harus menggunakan WebP untuk memformat gambar untuk tampilan.

  • Bagaimana cara aplikasi instan muncul di penelusuran web Google?

    Di hasli penelusuran, aplikasi instan muncul dengan cara yang sama seperti aplikasi yang dapat diinstal. Jika ada aplikasi instan yang terkait dengan URL, aplikasi tersebut akan muncul dengan ikon aplikasi dan label bertuliskan "Instan".

  • Dapatkah saya menggunakan Google Play Instan untuk mendistribusikan game saya?

    Ya, game didukung sepenuhnya di Google Play Instan. Untuk memulai, pelajari cara mengonversi game yang ada ke aplikasi instan.

Struktur, fitur, dan arsitektur project

  • Apakah aplikasi instan dan aplikasi yang dapat diinstal memiliki file build.gradle terpisah?

    Anda memerlukan dua file build.gradle terpisah jika akan membuat aplikasi yang dapat diinstal dan aplikasi instan dari project Android Studio yang sama.

    • Mem-build aplikasi yang dapat diinstal dari modul yang menggunakan aturan build com.android.application.
    • Mem-build aplikasi instan dari modul yang menggunakan aturan build com.android.instantapp.

    Untuk mengetahui informasi selengkapnya tentang cara membuat aplikasi instan, lihat panduan tentang cara Mengonversi modul fitur ke aplikasi instan.

  • Dapatkah saya mem-build aplikasi yang dapat diinstal secara terpisah dari aplikasi instan saya?

    Struktur project yang disarankan, seperti yang dibahas dalam panduan Mengonversi aplikasi ke modul fitur dasar dan Mengonversi modul fitur ke aplikasi instan, memprioritaskan pemisahan fungsi menjadi modul library, yang mana aplikasi instan dan aplikasi yang dapat diinstal bergantung pada modul library tersebut. Jika mengikuti struktur project yang disarankan, Anda dapat mem-build setiap fitur secara terpisah dari aplikasi yang dapat diinstal.

  • Apakah NDK didukung di aplikasi instan saya?

    Ya. NDK didukung di perangkat yang menjalankan Android 5.0 (API level 21) dan versi yang lebih tinggi.

  • Bagaimana cara bernavigasi antar-aktivitas dalam aplikasi instan?

    Anda dapat bernavigasi antar-aktivitas yang berbeda dengan meluncurkan URL yang dikhususkan pada fitur yang berbeda. Anda perlu menangani aktivitas melalui URL. Untuk mengetahui informasi selengkapnya tentang menangani aktivitas melalui URL dan menerapkan link aplikasi, lihat Memberikan akses URL ke aplikasi instan.

  • Dapatkah saya menggunakan aktivitas perutean di aplikasi utama yang menangani deep link dan memanggil aktivitas lain sesuai kebutuhan?

    Aplikasi instan juga harus berfungsi secara modular. Aktivitas perutean pusat membatasi modularisasi. Menggunakan Link Aplikasi Android memungkinkan framework Android melakukan perutean, sekaligus memungkinkan modularisasi lebih lanjut.

  • Dapatkah saya memiliki beberapa aktivitas dalam satu fitur?

    Anda dapat memiliki beberapa aktivitas dalam satu fitur. Namun, Anda harus memperhatikan batas ukuran 4 MB untuk download aplikasi instan. Selain itu, setiap fitur harus memiliki satu aktivitas sebagai titik masuknya.

  • Dapatkah saya berbagi resource antar-fitur?

    Ya, resource dalam fitur dasar tersedia bagi semua fitur. Resource yang terdapat dalam fitur dependen terbatas pada fitur khusus tersebut.

    Anda harus menyimpan nama resource berbasis file yang berbeda antara fitur dependen dan fitur dasar. Misalnya, jika fitur dasar Anda menentukan tata letak dalam res/layout/feature_layout.xml dan fitur dependen menentukan tata letak lain dengan nama file yang sama, aplikasi instan mungkin memuat tata letak dari fitur dependen, sementara yang diharapkan adalah tata letak dari fitur dasar.

    Selain itu, semua resource yang direferensikan oleh manifes modul fitur harus ada dalam modul fitur dasar.

  • Jika ada dua fitur dalam aplikasi, apakah fitur tersebut berbagi memori?

    Ya, fitur tersebut berjalan dalam proses yang sama dan berbagi konteks aplikasi. Selama berada dalam aplikasi instan yang sama, fitur akan berfungsi sama pada komponen yang berbeda dari sebuah aplikasi. Komponen seperti penyimpanan dan resource diakses dengan cara yang sama.

    Namun, aplikasi instan memiliki beberapa batasan dibandingkan dengan APK yang dapat diinstal. Untuk mengetahui informasi selengkapnya, lihat halaman kebijakan Google Play Instan.

  • Dapatkah saya memiliki beberapa fragmen dalam lebar tampilan di satu aktivitas?

    Ya, Anda dapat memiliki beberapa fragmen dalam satu aktivitas dan menentukan fragmen yang relevan dengan aktivitas dalam fitur. Aktivitas harus menjadi titik masuk utama dalam fitur. Perlu diingat bahwa fragmen tidak dapat dikaitkan dengan deep link dan tidak dapat diluncurkan secara terpisah dari aktivitas.

  • Haruskah aplikasi instan memiliki ikon peluncur terpisah?

    Tidak, Anda tidak perlu mencabangkan UI. Aplikasi instan dan aplikasi yang dapat diinstal harus memiliki ikon yang sama karena penting bagi kedua aplikasi memberikan tampilan dan nuansa yang sama. Oleh karena itu, Anda harus menggunakan elemen visual yang sama untuk kedua aplikasi.

  • Bagaimana cara mengetahui apakah aplikasi saya berjalan sebagai aplikasi yang dapat diinstal atau aplikasi instan?

    Gunakan metode isInstantApp(). Metode ini menampilkan true jika proses saat ini adalah aplikasi instan.

  • Bagaimana cara meminta pengguna untuk menginstal aplikasi saya dari aplikasi instan?

    Gunakan metode showInstallPrompt(). Tindakan ini akan menampilkan permintaan kepada pengguna untuk menginstal versi APK reguler aplikasi.

  • Jika APK untuk fitur berbeda, apakah listingan di Google Play juga berbeda?

    Tidak, aplikasi instan dan aplikasi yang dapat diinstal menggunakan nama paket dan listingan yang sama.

  • Apakah ada batasan pada cara memberi nama fitur dalam aplikasi instan saya?

    Modul fitur mengikuti konvensi penamaan yang ditetapkan untuk nama paket Java. Misalnya, Anda tidak dapat menggunakan tanda hubung dalam nama fitur. Untuk mengetahui informasi selengkapnya tentang konvensi penamaan paket Java, lihat dokumentasi Java.

  • Bagaimanakah cara mentransfer data dari aplikasi instan ke aplikasi terinstal?

    Untuk perangkat yang menjalankan Android 8.0 (API level 26) atau versi lebih tinggi, data aplikasi instan akan ditransfer secara otomatis saat penginstalan APK dimulai, jika aplikasi yang diinstal dikonfigurasi untuk menggunakan targetSandboxVersion 2.

    Untuk aplikasi terinstal yang tidak dikonfigurasi untuk menggunakan targetSandboxVersion 2, atau perangkat yang menjalankan Android 7.1 (API level 25) atau versi lebih rendah, pertimbangkan untuk menggunakan Cookie API (Contoh) atau Storage API (Contoh) untuk mentransfer data.

  • Apakah multidex didukung untuk aplikasi instan?

    Multidex didukung untuk aplikasi instan. Jika Anda memiliki aplikasi yang memenuhi persyaratan ukuran maksimum tetapi berisi lebih banyak metode daripada batas dex 65.536 metode, Anda tetap dapat mengaktifkan multidex dan memublikasikannya sebagai aplikasi instan.

Analytics, Google Play, dan deployment

  • Dapatkah saya membatasi aplikasi instan untuk diluncurkan di negara tertentu?

    Aplikasi instan dibatasi untuk negara tempat aplikasi yang dapat diinstal tersedia. Di negara tersebut, developer dapat memilih negara untuk menentukan target aplikasi instan mereka.

  • Apakah saya perlu memublikasikan aplikasi yang dapat diinstal untuk menguji aplikasi instan di track alfa melalui Google Play?

    Untuk menguji penerapan aplikasi instan di track pengujian internal melalui Google Play, Anda harus memiliki bentuk draf versi aplikasi yang dapat diinstal di Konsol Google Play. Untuk mengetahui informasi selengkapnya tentang penerapan dan pengujian aplikasi instan, lihat Mendistribusikan aplikasi instan Anda.

Ukuran aplikasi

Catatan: Untuk game di Google Play Instan, batas downloadnya adalah 10 MB. Jika Anda seorang developer game, ikuti panduan di bagian ini, tetapi ganti setiap instance berukuran 4 MB dengan 10 MB.

  • Apa artinya batas download total 4 MB?

    Ukuran aplikasi instan (fitur dasar ditambah fitur dependen yang disertakan) harus sekecil mungkin. Semakin kecil aplikasi Anda, semakin mudah bagi pengguna untuk mendownload. Akan tetapi, setelah aplikasi instan berjalan di perangkat pengguna, Anda dapat mendownload data tambahan dan menyimpannya di penyimpanan internal. Tidak ada batas pasti sebesar 4 MB untuk menyimpan data dalam penyimpanan internal perangkat.

    Untuk menghitung ukuran, ekstrak APK Aplikasi Instan dan periksa file APK dari APK tersebut. Anda dapat menggunakan ukuran disk file APK atau membuka Penganalisis APK dan memeriksa nilai Raw File Size.

    Untuk aplikasi instan dengan beberapa fitur, Anda harus menambahkan ukuran APK fitur dasar ke satu APK fitur. Ukuran total kedua APK ini harus kurang dari 4 MB.

  • Bagaimana pengaruh APK kepadatan, ABI, atau bahasa terhadap batas 4 MB?

    Ukuran fitur dihitung dengan menambahkan ukuran APK fitur, ukuran APK fitur dasar, bahasa terbesar, kepadatan layar, dan ukuran APK ABI yang terkait dengan fitur tersebut. Misalnya, jika fitur memiliki tiga bahasa, satu kepadatan layar, dan tidak ada APK ABI, ukuran APK fitur akhir diperoleh dengan menambahkan ukuran APK fitur, fitur dasar, APK bahasa terbesar, dan APK kepadatan layar.

  • Apakah pengguna perlu mendownload APK fitur dasar dan dependen setiap kali mendownload aplikasi instan yang sama?

    Saat pengguna mendownload aplikasi instan, mereka akan menerima fitur dasar dan fitur dependen. Saat fitur kedua atau APK fitur diminta, pengguna hanya akan menerima APK fitur khusus untuk fitur tersebut. Jika demikian, fitur dasar tidak didownload lagi.

    Sistem dapat mengosongkan cache aplikasi instan seperlunya selama pembersihan sampah memori. Jika pengguna melakukan reboot pada ponsel, cache aplikasi instan akan dihapus. Artinya, pengguna harus mendownload ulang fitur dasar.

  • Kapan validasi 4 MB terjadi?

    Validasi terjadi saat Anda mendownload aplikasi instan ke track produksi Konsol Google Play.

  • Link saya tidak terbuka di aplikasi instan saat diklik dari beberapa aplikasi lain. Tetapi, link terbuka di dalam browser dalam aplikasi. Apakah ada cara untuk memastikan bahwa pengguna diarahkan ke aplikasi instan?

    Karena Link Aplikasi adalah URL reguler, aplikasi dapat memaksanya agar terbuka di browser dalam aplikasi. Pertimbangkan untuk menggunakan Firebase Dynamic Links untuk menggabungkan URL Anda dan memastikan bahwa link selalu terbuka di aplikasi instan Anda.

  • Manifes aplikasi utama saya mencakup URL lain atau domain URL lain yang tidak saya dukung atau miliki. Apa saja konsekuensinya?

    Jika kepemilikan domain URL tidak diverifikasi, aplikasi instan tidak dapat dipublikasikan.

  • URL saya membuka aktivitas yang salah. Apa yang harus dilakukan?

    Aktivitas yang dipilih didasarkan langsung pada elemen <intent-filter> aktivitas Anda. Periksa kesalahan umum, seperti aktivitas berbeda yang memiliki atribut tumpang tindih "android:pathPrefix". Misalnya, jika satu aktivitas mendefinisikan android:pathPrefix="/recordList" dan yang lain mendefinisikan android:pathPrefix="/record", perilaku dapat tidak terdefinisi. Gunakan definisi jalur yang tidak ambigu, seperti android:path="/recordList" dan android:pathPrefix="/record/". Hal ini akan memungkinkan /recordList agar cocok dengan daftar scroll dari semua data dan /record/123 untuk mencocokkan data tertentu.

Menjalankan aplikasi instan pada perangkat

  • Apakah ada cara bagi pengguna untuk keluar dari Google Play Instan?

    Ya. Pengguna dapat menyisih saat pertama kali meluncurkan aplikasi instan. Mereka juga dapat menyisih dengan menonaktifkan aplikasi instan dari Setelan.

  • Dapatkah dua aplikasi instan berjalan secara paralel?

    Ya, aplikasi instan dapat berjalan secara paralel dan pengguna dapat beralih antar-aplikasi tersebut. Hanya aplikasi instan di latar depan yang memiliki ikon di menu notifikasi.

  • Dapatkah pengguna mematikan proses aplikasi instan dan memulai ulang dari Terbaru atau dari layar utama perangkat?

    Pengguna dapat memulai ulang aplikasi instan dari Terbaru atau dengan mengetuk URL yang sebelumnya meluncurkan.

    Proses aplikasi instan dimatikan saat aplikasi instan tidak ada aktivitas. Akan tetapi, penyimpanan internal aplikasi seperti DB SQLite dan preferensi bersama akan tetap aktif. Jika perangkat sangat terbatas, aplikasi instan mungkin akan dibatalkan dan penyimpanan internalnya dihapus. Dalam kejadian yang tidak biasa ini, Anda harus memulihkan status aplikasi instan dari servernya.

  • Dapatkah aplikasi instan meluncurkan aplikasi lain yang diinstal di perangkat pengguna?

    Aplikasi instan dapat meluncurkan aplikasi terinstal dengan mengaktifkan intent implisit. Akan tetapi, aplikasi instan tidak dapat meluncurkan sebagian besar aplikasi terinstal yang menggunakan intent eksplisit. Aplikasi terinstal dapat menyiapkan diri untuk berinteraksi dengan aplikasi instan melalui intent eksplisit.

  • Aplikasi mana yang akan terbuka saat pengguna menginstal aplikasi versi lama dan mengeklik URL aplikasi instan dengan fitur yang lebih baru?

    Aplikasi terinstal selalu lebih dipilih daripada aplikasi instan.

  • Bagaimana cara pengguna menerima versi aplikasi instan yang baru? Apakah Google secara otomatis mengupdatenya di perangkat pengguna?

    Versi terbaru aplikasi instan akan diberikan kepada pengguna baru dan pengguna yang sudah ada, yang cache aplikasi instannya telah berakhir.