Tentang Android App Bundle
Apa yang dimaksud dengan Android App Bundle (AAB)?
Diluncurkan pada tahun 2018, Android App Bundle (AAB) adalah format publikasi untuk Android yang didukung oleh Google Play dan app store lainnya, dan berdasarkan alat build seperti Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity, dan Unreal.
Apa perbedaan antara AAB dan APK?
App bundle hanya untuk publikasi dan tidak dapat diinstal di perangkat Android. Paket Android (APK) adalah format Android yang dapat diinstal dan dapat dieksekusi untuk aplikasi. App bundle harus diproses oleh distributor menjadi APK agar dapat diinstal di perangkat.
Apakah AAB merupakan format eksklusif yang hanya dapat digunakan di Google Play?
Tidak, AAB tidak eksklusif. App bundle adalah open source, sehingga app store apa pun dapat mendukungnya. Paket didukung oleh Google Play dan beberapa app store lainnya.
Apakah dengan membuat AAB, saya tidak dapat memublikasikan ke app store lain?
Tidak, Anda dapat memublikasikan ke app store lainnya. Saat mem-build aplikasi, Anda dapat mem-build AAB dan APK secara bersamaan bergantung pada format publikasi yang diperlukan untuk setiap app store.
Berapa banyak pekerjaan yang diperlukan untuk menggunakan AAB?
Untuk sebagian besar aplikasi, upaya mem-build AAB setara dengan mem-build APK, karena hanya melibatkan pemilihan AAB, bukan APK pada waktu build. Untuk beberapa aplikasi, mungkin ada beberapa perubahan yang diperlukan guna mendapatkan manfaat penuh AAB.
Apakah ada developer yang sudah menggunakan AAB?
Ya. Lebih dari 1 juta aplikasi dan game menggunakan app bundle untuk memublikasikan rilis produksinya di Google Play, termasuk sebagian besar aplikasi populer, yang mewakili miliaran instal aktif. Jika Anda menggunakan Google Play untuk menginstal aplikasi, banyak aplikasi di perangkat Anda yang dipublikasikan sebagai app bundle.
Apakah AAB tidak membiarkan pengguna melakukan "sideload" aplikasi?
Tidak, AAB memungkinkan pengguna menginstal APK dari sumber apa pun. Karena hanya merupakan format publikasi, AAB tidak mengubah cara kerja platform Android.
Jika developer menggunakan AAB untuk memberikan APK yang dioptimalkan, apakah ini berarti ada kemungkinan bagi pengguna yang membagikan APK tersebut mengalami masalah?
Selalu ada kasus yang jarang terjadi di Android saat APK tidak dapat ditransfer langsung dari satu perangkat ke perangkat lain, terlepas apakah aplikasi dipublikasikan melalui APK atau AAB. Secara khusus, saat APK dioptimalkan untuk perangkat (misalnya, untuk arsitektur chip tertentu), mentransfer APK tersebut langsung ke perangkat lain mungkin mengalami masalah jika perangkat target tidak cocok dengan properti perangkat asli. Dalam situasi ini, APK atau rangkaian APK yang sesuai untuk perangkat target harus diinstal.
Apakah saya dapat memublikasikan ke beberapa app store?
Ya, Anda dapat memublikasikan ke beberapa app store, terlepas dari apakah Anda menggunakan AAB atau tidak. Anda dapat memublikasikan AAB di Google Play dan app store lainnya yang mendukung AAB bersamaan dengan memublikasikan APK di app store atau situs lainnya yang tidak mendukung AAB.
Apakah persyaratan AAB berlaku untuk aplikasi pribadi yang dipublikasikan ke Google Play terkelola?
Tidak, aplikasi pribadi yang dipublikasikan ke Google Play terkelola dapat membuat publikasi dengan APK atau AAB. Saat membuat aplikasi pribadi baru, Anda dapat memilih Ubah kunci penandatanganan aplikasi dan memilih tidak menggunakan Penandatanganan Aplikasi Play jika ingin memublikasikan APK pribadi yang ditandatangani sendiri.
Tentang Penandatanganan Aplikasi Play
Apa yang dimaksud dengan Penandatanganan Aplikasi Play?
Setiap APK di Android harus ditandatangani secara kriptografis dengan kunci penandatanganan aplikasi agar dapat diinstal. Platform Android menggunakan kunci tersebut untuk memastikan bahwa update aplikasi apa pun cocok dengan aplikasi terinstal di perangkat, sehingga setelah penginstalan awal terjadi, setiap update aplikasi berasal dari pemegang kunci yang sama. Tindakan ini mengurangi risiko update aplikasi yang berbahaya. Diluncurkan pada tahun 2017, Penandatanganan Aplikasi Play adalah key management service Google Play yang melindungi dan mengelola kunci penandatanganan aplikasi dari developer Google Play untuk aplikasinya yang didistribusikan Google Play. Selain itu, Penandatanganan Aplikasi Play menjalankan operasi penandatanganan pada APK yang dibuat oleh Google Play dari AAB yang diupload. Penandatanganan Aplikasi Play diperlukan untuk aplikasi baru agar dapat menggunakan AAB.
Mengapa Google meluncurkan Penandatanganan Aplikasi Play?
Selama bertahun-tahun, kunci penandatanganan aplikasi merupakan tantangan bagi developer Play. Kehilangan kunci berarti tidak dapat lagi mengirimkan update aplikasi kepada pengguna, dan kunci yang telah disusupi membuat pengguna rentan terhadap risiko update yang berbahaya. Menyimpan dan mengelola kunci untuk software yang didistribusikan sangatlah umum dalam distribusi software untuk saluran distribusi karena mengurangi risiko ini. Penandatanganan Aplikasi Play diluncurkan pada tahun 2017 untuk mengurangi risiko kehilangan kunci distribusi Play, agar dapat melindungi pengguna Play setelah penyusupan kunci, dan agar developer merasakan manfaat investasi keamanan Google yang berkelanjutan.
Bagaimana cara Google memastikan keamanan Penandatanganan Aplikasi Play?
Google melindungi kunci developer dalam infrastruktur yang aman dan terdepan dalam industri, yang digunakan untuk melindungi kunci Google. Kunci disimpan dengan dienkripsi pada server pengelolaan kunci khusus yang terkunci dengan ACL yang ketat dan jejak audit yang jelas yang mencakup semua operasi. Operasi dan praktik terbaik keamanan cloud Google bersifat mendetail secara online.
Dapatkah saya memilih kunci penandatanganan aplikasi yang digunakan Play untuk aplikasi saya?
Ya, saat membuat aplikasi baru, Anda dapat memilih agar Google membuat dan menyimpan kunci penandatanganan aplikasi untuk Anda atau Anda dapat memilih kunci penandatanganan aplikasi Anda sendiri dan mengupload salinannya.
Saya ingin menggunakan kunci penandatanganan aplikasi yang sama untuk Play dan app store lainnya. Apakah hal ini masih dapat dilakukan?
Jika Anda telah memutuskan untuk menggunakan kunci penandatanganan yang sama di beberapa app store setelah mempertimbangkan cara kerja update aplikasi, Anda tetap dapat melakukannya. Ingat, hal ini akan memungkinkan setiap app store melakukan update aplikasi lintas app store untuk aplikasi Anda. Anda memiliki dua opsi:
- Anda dapat membuat kunci secara lokal dan mengupload salinannya ke Play. Dengan demikian, Anda dapat menggunakan kunci yang sama dengan yang digunakan oleh Google Play saat mem-build aplikasi untuk app store lain.
- Anda dapat menggunakan kunci yang dibuat oleh Google untuk Penandatanganan Aplikasi Play, lalu mendownload APK distribusi dari Konsol Play yang ditandatangani dengan kunci yang dibuat oleh Google dan menggunakan APK tersebut untuk didistribusikan di app store atau situs lainnya.
Dapatkah saya menggunakan Penandatanganan Aplikasi Play untuk aplikasi yang dibuat sebelum Agustus 2021 tanpa memberikan salinan kunci penandatanganan aplikasi?
Ya, Penandatanganan Aplikasi Play mendukung opsi 'upgrade kunci' untuk aplikasi yang dibuat sebelum Agustus 2021. Ini memungkinkan aplikasi mulai menggunakan Penandatanganan Aplikasi Play dengan kunci penandatanganan aplikasi baru. Namun, untuk menggunakan opsi ini, setelah melakukan upgrade, Anda akan diminta untuk mengupload dua hal di setiap rilis: app bundle dan APK lama yang ditandatangani dengan kunci penandatanganan aplikasi lama. Play akan menggunakan AAB untuk membuat APK yang ditandatangani dengan kunci yang telah diupgrade untuk penginstalan baru dan updatenya; pada saat yang sama, Play akan menggunakan APK lama untuk update aplikasi kepada pengguna yang sudah menginstal aplikasi Anda. Seiring waktu, penginstalan lama akan dimigrasikan ke kunci yang diupgrade (misalnya, saat pengguna beralih ke perangkat seluler baru).
Apakah ada cara untuk menggunakan kunci penandatanganan aplikasi yang sama untuk aplikasi yang dibuat sebelum Agustus 2021 dan aplikasi yang dibuat setelah Agustus 2021?
Secara umum, sebaiknya jangan gunakan kunci penandatanganan aplikasi yang sama untuk beberapa aplikasi. Lebih aman menggunakan kunci yang unik untuk setiap aplikasi. Namun, jika Anda perlu menggunakan kunci penandatanganan aplikasi yang sama untuk beberapa aplikasi, hal ini dapat dilakukan. Anda dapat mengupload salinan kunci penandatanganan aplikasi yang ada saat mengonfigurasi Penandatanganan Aplikasi Play. Atau, jika tidak ingin membagikan kunci penandatanganan aplikasi yang sudah ada, Anda dapat menggunakan opsi 'upgrade kunci' yang akan datang untuk aplikasi sebelum Agustus 2021 untuk mulai menggunakan Penandatanganan Aplikasi Play. Dengan begitu, aplikasi sebelum Agustus 2021 dan aplikasi setelah Agustus 2021 dapat menggunakan kunci baru yang sama.
Dapatkah saya mengubah kunci penandatanganan aplikasi yang digunakan oleh Penandatanganan Aplikasi Play?
Ya, aplikasi dapat mengubah kuncinya dengan meminta upgrade kunci di Konsol Play.
Bagaimana cara memeriksa bahwa Google Play tidak melakukan perubahan tak terduga pada kode saya?
Anda dapat mendownload dan memeriksa artefak dari Google Play dan dari penjelajah app bundle di Konsol Play kapan saja. Selain itu, Play Developer API akan segera menawarkan kemampuan untuk memverifikasi APK sebelum Anda menerapkannya ke jalur rilis. Anda juga dapat menggunakan fitur opsional yang disebut transparansi kode untuk app bundle. Dengan transparansi kode, Anda dan pengguna akhir dapat menggunakan app store seperti Google Play untuk memperhitungkan kode yang diberikannya.
Bagaimana cara kerja transparansi kode untuk app bundle?
Transparansi kode adalah fitur opsional yang memungkinkan app store mendistribusikan aplikasi Anda untuk memperhitungkan kode yang diberikannya. Untuk menggunakan transparansi kode, pada waktu build, Anda membuat file transparansi kode di aplikasi Anda yang merepresentasikan kode (khususnya file yang berisi hash kode aplikasi Anda). Anda menandatanganinya dengan kunci transparansi kode pribadi Anda yang hanya Anda miliki. Anda tidak perlu memberikan kunci transparansi kode kepada Google. Kemudian, pada perangkat, Anda dapat memeriksa APK yang terinstal dan memverifikasi bahwa file transparansi kode yang Anda tanda tangani masih sama dengan kode APK tersebut. Hal ini memberi Anda jaminan bahwa, meskipun APK tersebut ditandatangani ulang selama distribusi, kode yang diverifikasi oleh transparansi kode belum pernah diubah. Jika ada ketidakcocokan, itu adalah bukti bahwa kode tersebut telah diubah selama distribusi. Transparansi kode tidak mengganti tanda tangan APK dan bukan bagian dari platform Android.
Memublikasikan aplikasi dan game berukuran besar di Google Play
Berapa batas ukuran aplikasi Google Play saat menggunakan AAB?
Ukuran download terkompresi maksimum untuk modul dasar yang dibuat dari AAB adalah 200 MB. Artinya, Google Play akan membuat modul dasar terlebih dahulu, lalu modul fitur atau paket aset tambahan dari AAB Anda. Selanjutnya, Google Play akan memeriksa bahwa total ukuran download terkompresi total kumulatif maksimum yang diterima setiap perangkat tidak melebihi 4 GB.
Apakah Google Play mendukung file ekspansi (OBB) untuk AAB?
Tidak, Google Play tidak mendukung file ekspansi untuk AAB. File ekspansi (OBB) adalah solusi khusus Google Play lama untuk memublikasikan aplikasi dan game berukuran besar menggunakan APK. Ada alternatif dari Google dan pihak ketiga untuk AAB yang lebih besar dari 200 MB.
Bagaimana cara memublikasikan aplikasi atau game yang berukuran lebih dari 200 MB di Google Play?
Aplikasi dan game besar yang menggunakan AAB dapat menggunakan layanan pengiriman Play seperti Play Asset Delivery atau Play Feature Delivery untuk melampaui batas ukuran 200 MB atau dapat menggunakan jaringan penayangan konten pihak ketiga.
Apa saja manfaat yang ditawarkan Play Asset Delivery yang lebih unggul daripada file ekspansi (OBB)?
Di Google Play, APK memerlukan file ekspansi terpisah (OBB) untuk memberikan resource tambahan kepada pengguna. Namun, karena tidak ditandatangani dan disimpan dalam penyimpanan eksternal aplikasi, OBB tidak terlalu aman. Dengan Play Asset Delivery (PAD), game yang lebih besar dari 200 MB dapat menggantikan OBB dengan memublikasikan seluruh game sebagai satu app bundle di Play Store. Selain menawarkan proses publikasi yang lebih lancar dan mode pengiriman yang fleksibel, PAD berarti update memerlukan lebih sedikit penyimpanan perangkat. Hasilnya, ini dapat mendorong tingkat penginstalan yang lebih tinggi. Terakhir, dengan ASTC yang kini didukung di sekitar 80% perangkat, fitur penargetan format kompresi tekstur PAD memungkinkan Anda menayangkan ASTC ke perangkat yang mendukungnya. Anda dapat menargetkan berbagai perangkat, sekaligus memanfaatkan secara efisien penggunaan hardware dan penyimpanan perangkat yang tersedia.
Fitur penayangan Google Play yang dibuka oleh AAB
Apa saja contoh fitur baru yang ditawarkan Play kepada developer menggunakan AAB?
App store seperti Google Play memproses AAB menjadi APK yang dapat diinstal. Menjadi bertanggung jawab terhadap APK memungkinkan Anda menawarkan fitur dan layanan baru yang memberikan manfaat kepada developer dan pengguna. Play sudah menawarkan layanan tersebut yang sudah banyak digunakan dan dihargai oleh developer, dua contohnya adalah Play Feature Delivery dan Play Asset Delivery.
Apa itu Play Feature Delivery?
Salah satu fitur app bundle adalah bahwa aplikasi dapat dipisahkan menjadi beberapa modul, yang disebut "modul fitur". Modul ini kemudian dapat dikirim secara dinamis kepada pengguna dan perangkat pada waktu yang berbeda (tidak seperti sebelumnya, ketika semua harus dikirimkan sebagai satu file pada waktu penginstalan). Play Feature Delivery memberi Anda kemampuan untuk menyesuaikan modul fitur apa yang dikirim ke perangkat mana dan kapan, dengan mode penayangan waktu penginstalan, bersyarat, dan on-demand. Hal ini memungkinkan Anda mengurangi ukuran aplikasi, meningkatkan jumlah penginstalan, dan menyesuaikan pengalaman aplikasi. Misalnya, Anda dapat mengirimkan fitur yang jarang digunakan seperti dukungan pelanggan on demand kepada pengguna yang membutuhkannya, bukan pada waktu penginstalan, sehingga mengurangi ukuran penginstalan awal Anda untuk semua pengguna. Atau, Anda dapat memberikan pengalaman aplikasi yang lengkap ke perangkat kelas atas sekaligus memberikan pengalaman aplikasi yang lebih kecil dengan fitur opsional dan on demand untuk perangkat entry-level yang memiliki batasan data dan penyimpanan perangkat.
Apa yang dimaksud dengan Play Asset Delivery?
Play Asset Delivery memungkinkan developer game membuat pengalaman pengguna yang lebih baik dan mengurangi waktu tunggu pengguna dengan menayangkan aset berukuran besar secara dinamis pada waktu yang optimal. Game yang menggunakan Play Asset Delivery juga dapat menggunakan penargetan format kompresi tekstur, sehingga pengguna hanya mendapatkan aset yang sesuai untuk perangkatnya, tanpa menghabiskan ruang atau bandwidth.
Apakah fitur penayangan Play ini tersedia di app store lain?
Tidak, Play Feature Delivery dan Play Asset Delivery melibatkan aplikasi dan game yang berhadapan langsung dengan Google Play Store. Layanan opsional ini adalah contoh Play yang membedakannya dari app store lain dan menghadirkan nilai serta manfaat tambahan bagi developer dan pengguna Play. App store lainnya yang menggunakan app bundle dan APK menawarkan layanan app store-nya sendiri kepada developer.