Register now for Android Dev Summit 2019!

Pertanyaan yang sering diajukan

Halaman ini berisi jawaban untuk pertanyaan yang paling sering diajukan atau error yang mungkin Anda temui saat membuat instant app. Untuk informasi lebih lanjut tentang panduan pengalaman pengguna, lihat praktik terbaik UX untuk aplikasi di Google Play Instant dan Praktik terbaik UX untuk game di Google Play Instant.

Umum

  • Perangkat apa yang didukung untuk Google Play Instant?

    Google Play Instant didukung pada sebagian besar perangkat yang menjalankan Android 5.0 (API level 21) dan lebih tinggi.

  • Apakah developer perlu membuat dua aplikasi Android yang berbeda?

    Developer hanya perlu mengelola satu project dengan satu struktur pohon sumber. Mereka dapat mengonfigurasi project untuk membuat dua artefak build:

    • Versi yang dapat diinstal
    • Versi instant app

    Upaya yang terlibat dalam menambahkan dukungan instant app ke aplikasi yang dapat diinstal bergantung pada bagaimana susunan aplikasi yang dapat diinstal tersebut saat ini.

    Catatan: Versi instant app harus sama atau kurang dari versi aplikasi yang dapat diinstal yang terakhir diterbitkan.

  • Apa saja jenis API Android dan fungsi apa yang dapat digunakan oleh instant app?

    fungsionalitas Google Play Instant melengkapi aplikasi Android yang ada. Ini artinya, aplikasi tersebut tidak menggantikan aplikasi Android yang ada. Aplikasi Android menggunakan Android API yang sama, project yang sama, dan kode sumber yang sama. Ini membatasi beberapa fitur yang mungkin tidak cocok dengan ekspektasi pengguna aplikasi yang tidak diinstal. Misalnya, instant app tidak dapat menggunakan layanan latar belakang, mengirimkan notifikasi latar belakang, atau mengakses identifier perangkat yang unik.

  • Apakah pengguna bisa memilih untuk memasang aplikasi secara permanen?

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

  • Bagaimana cara kerja izin di Google Play Instant?

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

  • Izin manakah yang tersedia untuk instant app?

    Lihat daftar di bagian izin dalam panduan tentang cara membuat paket aplikasi yang didukung instant app.

  • Versi SDK mana yang harus menjadi target instant app?

    Manifes instant app Anda harus menetapkan targetSdkVersion ke 26 atau lebih tinggi.

  • Apakah ada batasan tentang bagaimana instant app menangani traffic jaringan?

    Semua traffic jaringan dari dalam instant app harus menggunakan HTTPS. Instant app tidak mendukung HTTP.

  • Bagaimana developer mempublikasikan instant app?

    Developer mempublikasikan instant app mereka melalui Google Play Console, sama seperti aplikasi Android mereka yang sudah ada. Untuk informasi lebih lanjut, lihat Mendistribusikan instant app Anda.

  • Apakah Smart Lock diperlukan untuk instant app?

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

  • Bisakah saya mengimplementasikan instant app tanpa aplikasi Android yang dapat diinstal?

    Tidak, Anda perlu memasang versi aplikasi Android yang dapat diinstal di Google Play.

  • Bisakah kita menggunakan WebP untuk tampilan?

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

  • Bagaimana instant app ditampilkan dalam penelusuran web Google?

    Instant app ditampilkan dengan cara yang sama seperti aplikasi yang dapat diinstal dalam hasil penelusuran. Jika ada instant app yang terkait dengan URL, aplikasi tersebut akan muncul dengan ikon aplikasi dan label dengan teks "Instant".

  • Bisakah saya menggunakan Google Play Instant untuk mendistribusikan game saya?

    Ya, game didukung sepenuhnya di Google Play Instant. Untuk memulai, pelajari cara mengonversi game yang ada ke instant app.

Struktur, fitur, dan arsitektur project

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

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

    • Buat aplikasi yang dapat diinstal dari modul yang menggunakan aturan build com.android.application.
    • Buat aplikasi yang dapat diinstal dari modul yang menggunakan aturan build com.android.instantapp.

    Untuk informasi selengkapnya tentang cara membuat instant app, lihat panduan tentang cara Mengonversi modul fitur ke instant app.

  • Bisakah saya membuat aplikasi yang dapat diinstal secara terpisah dari instant app?

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

  • Apakah NDK didukung di instant app saya?

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

  • Bagaimana cara berpindah di antara aktivitas dalam instant app?

    Anda dapat berpindah di antara berbagai aktivitas dengan meluncurkan URL yang didedikasikan untuk fitur yang berbeda. Anda perlu mengatasi aktivitas melalui URL. Untuk informasi selengkapnya tentang menangani aktivitas melalui URL dan mengimplementasikan link aplikasi, lihat Memberikan akses URL ke instant app.

  • Bisakah saya menggunakan aktivitas perutean di aplikasi utama yang berhubungan dengan deep link dan memanggil aktivitas lain sesuai kebutuhan?

    Instant app juga harus berfungsi sesuai modul. Aktivitas perutean pusat membatasi modularisasi. Penggunaan Link Aplikasi Android memungkinkan framework Android melakukan perutean, sambil mengaktifkan lebih banyak modularisasi.

  • Bisakah saya memiliki beberapa aktivitas dalam satu fitur?

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

  • Bisakah saya berbagi resource antar fitur?

    Ya, resource dalam fitur dasar tersedia untuk semua fitur. Resource yang ada dalam fitur dependen terbatas pada fitur spesifik itu.

    Anda harus menjaga nama resource berbasis file berbeda antara fitur dependen dan fitur dasar Anda. Misalnya, jika fitur dasar Anda menetapkan tata letak di res/layout/feature_layout.xml dan fitur dependen menentukan tata letak lainnya dengan nama file yang sama, instant app mungkin memuat tata letak dari fitur dependen ketika tata letak dari fitur dasar itu diharapkan.

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

  • Jika ada dua fitur di aplikasi, apakah fitur itu berbagi memori?

    Ya, fitur berjalan dalam proses yang sama dan berbagi konteks aplikasi. Selama fitur tersebut termasuk dalam instant app yang sama, fitur-fitur bertindak serupa dengan komponen yang berbeda dari satu aplikasi. Komponen seperti penyimpanan dan resource diakses dengan cara yang sama.

    Namun, instant app memiliki beberapa batasan dibandingkan dengan APK yang dapat diinstal. Untuk informasi selengkapnya, lihat halaman kebijakan Google Play Instant.

  • Bisakah saya memiliki beberapa fragmen pada tampilan pager dalam satu aktivitas?

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

  • Haruskah instant app memiliki ikon peluncur yang terpisah?

    Tidak, Anda tidak boleh mencabangkan UI Anda. Instant app dan aplikasi yang dapat diinstal harus memiliki ikon yang sama karena penting bahwa kedua aplikasi memberikan tampilan dan nuansa yang sama. Karena itu, Anda harus menggunakan elemen visual yang sama untuk kedua aplikasi.

  • Bagaimana saya bisa mengetahui apakah aplikasi saya berjalan sebagai aplikasi yang dapat diinstal atau instant app?

    Gunakan metode isInstantApp(). Metode ini menunjukkan true jika proses saat ini adalah instant app.

  • Bagaimana saya bisa meminta pengguna untuk menginstal aplikasi dari instant app saya?

    Gunakan metode showInstallPrompt(). Ini menunjukkan permintaan kepada pengguna untuk menginstal versi APK aplikasi reguler.

  • Apakah APK berbeda untuk fitur berarti daftar akan berbeda di Google Play?

    Tidak, instant app dan aplikasi yang dapat diinstal berbagi nama paket dan daftar yang sama.

  • Apakah ada batasan bagaimana saya memberi nama fitur dalam instant app?

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

  • Bagaimana cara mentransfer data dari instant app ke aplikasi yang diinstal?

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

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

  • Apakah multidex didukung untuk instant app?

    Multidex didukung untuk instant app. Jika Anda memiliki aplikasi yang memenuhi persyaratan ukuran maksimum tetapi mengandung lebih banyak metode daripada batas dex 65.536 metode, Anda masih dapat mengaktifkan multidex dan menerbitkannya sebagai instant app.

Analytics, Google Play, dan penerapan

  • Bisakah saya membatasi instant app saya untuk diluncurkan di negara tertentu?

    Instant app terbatas pada negara tempat aplikasi yang dapat diinstal tersedia. Di negara-negara tersebut, developer dapat memilih negara untuk menargetkan instant app mereka.

  • Apakah saya perlu menerbitkan aplikasi yang dapat diinstal untuk menguji instant app saya di trek alfa melalui Google Play?

    Untuk menguji penerapan instant app Anda di jalur pengujian internal melalui Google Play, Anda harus memiliki formulir draf versi aplikasi yang dapat diinstal di Google Play Console. Untuk informasi selengkapnya tentang penerapan dan pengujian instant app, lihat Membagikan instant app Anda.

Ukuran aplikasi

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

  • Apa maksudnya batas download total 4MB?

    Ukuran instant app (fitur dasar ditambah fitur dependen apa pun yang disertakan) harus sekecil mungkin. Semakin kecil aplikasi Anda, semakin mudah bagi pengguna untuk mendownload. Namun, begitu instant app dijalankan pada perangkat pengguna, Anda dapat mendownload data tambahan dan menyimpannya di penyimpanan internal. Tidak ada batasan 4MB untuk menyimpan data dalam penyimpanan internal perangkat.

    Untuk menghitung ukuran, unzip Instant App APK dan periksa file APK APK. Anda dapat menggunakan ukuran disk file APK atau membuka APK Analyzer dan memeriksa nilai Raw File Size.

    Untuk instant app dengan banyak fitur, Anda harus menambahkan ukuran APK fitur dasar ke APK fitur tunggal. Ukuran total kedua APK ini harus berada di bawah 4MB.

  • Bagaimana densitas, ABI, atau APK bahasa memengaruhi batas 4MB?

    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 suatu fitur memiliki tiga bahasa, satu kepadatan layar, dan tanpa APK ABI, ukuran APK fitur final diperoleh dengan menambahkan ukuran fitur APK, fitur dasar, APK bahasa terbesar, dan APK kepadatan satu layar.

  • Apakah pengguna perlu mendownload APK fitur dasar dan fitur dependen setiap kali mereka mendownload instant app yang sama?

    Ketika pengguna mendownload instant app, mereka menerima fitur dasar dan fitur dependen. Ketika fitur kedua atau fitur APK diminta, pengguna hanya menerima APK fitur untuk fitur tertentu. Dalam hal demikian, fitur dasar tidak didownload lagi.

    Sistem dapat menghapus cache instant app sesuai kebutuhan selama pembersihan sampah memori. Jika pengguna me-reboot ponsel, cache instant app dihapus. Ini berarti bahwa pengguna harus mendownload ulang fitur dasar.

  • Kapan validasi 4MB terjadi?

    Validasi terjadi ketika Anda mendownload instant app Anda ke jalur produksi Google Play Console.

  • Link saya tidak terbuka di instant app ketika link diklik dari beberapa aplikasi lain. Link itu membuka di dalam browser dalam aplikasi sebagai gantinya. Apakah ada cara untuk memastikan bahwa pengguna dibawa ke instant app?

    Karena App Links adalah URL regular, aplikasi dapat memaksanya dibuka di dalam browser dalam aplikasi. Pertimbangkan untuk menggunakan Firebase Dynamic Links untuk menggabungkan URL Anda dan menjamin bahwa link selalu terbuka di instant app Anda.

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

    Jika kepemilikan domain URL tidak diverifikasi, instant app tidak dapat dipublikasikan.

  • URL saya membuka aktivitas yang salah. Apa yang saya lakukan?

    Aktivitas yang dipilih didasarkan langsung pada elemen <intent-filter> aktivitas Anda. Periksa kesalahan umum, seperti aktivitas berbeda yang memiliki atribut "android:pathPrefix" yang tumpang tindih. Misalnya, jika satu aktivitas menentukan android:pathPrefix="/recordList" dan yang lain menentukan android:pathPrefix="/record", perilaku tersebut dapat tidak ditentukan. Gunakan definisi lokasi yang tidak ambigu, seperti android:path="/recordList" dan android:pathPrefix="/record/". Ini memungkinkan /recordList untuk mencocokkan daftar scrolling semua catatan dan /record/123 untuk mencocokkan dengan catatan tertentu.

Menjalankan instant app di perangkat

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

    Ya. Pengguna dapat memilih keluar saat pertama kali meluncurkan instant app. Mereka juga dapat memilih keluar dengan mematikan instant app dari Setelan.

  • Bisakah dua instant app berjalan secara paralel?

    Ya, instant app bisa berjalan secara paralel dan pengguna bisa beralih di antara keduanya. Hanya instant app di latar depan yang memiliki ikon di menu notifikasi.

  • Bisakah pengguna menghentikan proses instant app dan memulai ulang dari Recents atau dari layar beranda perangkat?

    Seorang pengguna dapat memulai kembali instant app dari Recents atau dengan menge-tap URL yang sebelumnya diluncurkan.

    Proses instant app dihentikan ketika instant app dalam kondisi siaga. Namun, penyimpanan internal aplikasi seperti SQLite DBs dan preferensi bersama tetap aktif. Jika perangkat sangat dibatasi, instant app mungkin dikeluarkan dan penyimpanan internalnya dihapus. Dalam kejadian yang tidak biasa ini, Anda harus memulihkan status instant app dari servernya.

  • Bisakah instant app meluncurkan aplikasi lain yang diinstal pada perangkat pengguna?

    Instant app dapat meluncurkan aplikasi yang diinstal dengan memberikan intent implisit. Namun, instant app tidak dapat meluncurkan sebagian besar aplikasi yang diinstal menggunakan intent eksplisit. Aplikasi terinstal bisa membuat dirinya tersedia untuk berinteraksi dengan instant app melalui intent eksplisit.

  • Aplikasi mana yang terbuka ketika pengguna menginstal versi aplikasi yang lebih lama dan mengklik URL instant app dengan fitur yang lebih baru?

    Aplikasi yang diinstal selalu lebih disukai daripada instant app.

  • Bagaimana cara pengguna menerima versi baru dari instant app? Apakah Google secara otomatis mengupdate di perangkat pengguna?

    Versi terbaru instant app disajikan untuk pengguna baru dan pengguna yang sudah ada yang cache instant app-nya telah kedaluwarsa.