Tentang Pengiriman Dinamis

Model penyajian aplikasi Google Play, yang disebut Pengiriman Dinamis, menggunakan Android App Bundle untuk membuat dan melayani APK yang dioptimalkan untuk setiap konfigurasi perangkat pengguna, sehingga pengguna hanya perlu mendownload kode dan resource yang dibutuhkan untuk menjalankan aplikasi Anda. Anda tidak perlu lagi mem-build, menandatangani, dan mengelola banyak APK, dan pengguna mendapatkan objek download yang ukurannya lebih kecil serta lebih dioptimalkan.

Sebagian besar project aplikasi tidak memerlukan banyak upaya untuk mem-build app bundle yang mendukung pelayanan APK terpisah menggunakan Pengiriman Dinamis yang dioptimalkan. Misalnya, jika Anda telah mengatur kode dan resource aplikasi sesuai dengan konvensi yang telah ditetapkan, cukup build Android App Bundle yang ditandatangani menggunakan Android Studio atau menggunakan command line, lalu upload ke Google Play. Pengiriman Dinamis nantinya akan menjadi fitur yang tersedia secara otomatis.

Untuk mendukung kemampuan Pengiriman Dinamis, seperti mengonfigurasi fitur tertentu pada aplikasi Anda agar dikirimkan secara kondisional atau didownload secara on demand, baca bagian mengenai cara menyesuaikan pengiriman fitur.

Pengiriman Dinamis dengan APK terpisah

Komponen dasar Pengiriman Dinamis adalah mekanisme APK terpisah yang tersedia di Android 5.0 (API level 21) dan yang lebih tinggi. APK Terpisah sangat mirip dengan APK reguler. APK tersebut mencakup bytecode DEX yang dikompilasi, resource, dan manifes Android. Namun, platform Android dapat mengelola beberapa APK terpisah yang terinstal sebagai aplikasi tunggal. Artinya, Anda dapat menginstal beberapa APK terpisah yang memiliki akses ke resource dan kode umum, dan muncul sebagai satu aplikasi yang diinstal pada perangkat.

Manfaat APK terpisah adalah kemampuan untuk memecah APK monolitik, yaitu APK yang menyertakan kode dan resource untuk semua konfigurasi perangkat dan fitur yang didukung aplikasi Anda, ke dalam paket terpisah lebih kecil yang diinstal di perangkat pengguna jika diperlukan.

Misalnya, satu APK terpisah dapat menyertakan kode dan resource untuk fitur tambahan yang hanya dibutuhkan beberapa pengguna, sedangkan APK terpisah lainnya mencakup resource hanya untuk bahasa atau kepadatan layar tertentu. Setiap APK terpisah tersebut didownload dan diinstal jika pengguna memintanya atau jika diperlukan oleh perangkat.

Berikut ini menjelaskan berbagai jenis APK yang dapat diinstal bersama pada perangkat untuk membentuk pengalaman aplikasi secara menyeluruh. Anda akan mempelajari cara mengonfigurasi project aplikasi untuk mendukung APK ini di bagian selanjutnya pada halaman ini.

  • APK Dasar: APK ini berisi kode dan resource yang dapat diakses oleh semua APK terpisah lainnya dan menyediakan fungsi dasar untuk aplikasi Anda. Jika pengguna meminta untuk mendownload aplikasi Anda, APK ini akan didownload dan diinstal terlebih dahulu. Hal ini terjadi karena hanya manifes APK dasar yang berisi penyataan lengkap tentang layanan aplikasi Anda, penyedia konten, izin, persyaratan versi platform, dan dependensi pada fitur sistem. Google Play menghasilkan APK dasar untuk aplikasi Anda dari modul aplikasi (atau modul dasar) project Anda. Jika ingin mengurangi ukuran download awal aplikasi Anda, penting untuk diingat bahwa semua kode dan resource yang disertakan dalam modul ini termasuk dalam APK dasar aplikasi Anda.
  • APK Konfigurasi: Setiap APK ini berisi resource dan library native untuk kepadatan layar, arsitektur CPU, atau bahasa spesifik. Saat pengguna mendownload aplikasi Anda, perangkat mereka akan mendownload dan menginstal APK konfigurasi yang hanya menargetkan perangkatnya. Setiap APK konfigurasi adalah dependensi dari APK dasar atau APK fitur dinamis. Artinya, APK tersebut didownload dan diinstal bersama dengan APK yang mereka beri kode dan resource. Berbeda dengan modul fitur dinamis dan modul dasar, Anda tidak perlu membuat modul terpisah untuk APK konfigurasi. Jika Anda menggunakan praktik standar untuk mengatur resource alternatif yang spesifik untuk konfigurasi bagi modul fitur dinamis dan dasar, Google Play secara otomatis akan membuat APK konfigurasi untuk Anda.
  • APK fitur dinamis: Masing-masing APK ini berisi kode dan resource untuk fitur aplikasi yang Anda modularkan menggunakan modul fitur dinamis. Melalui Pengiriman Dinamis, Anda nantinya dapat menyesuaikan cara dan waktu fitur tersebut akan didownload ke perangkat. Misalnya, menggunakan Play Core Library, APK dinamis dapat diinstal sesuai permintaan setelah APK dasar terinstal di perangkat untuk memberikan fungsi tambahan kepada pengguna. Pertimbangkan aplikasi chat yang mendownload dan menginstal kemampuan untuk menangkap dan mengirim foto hanya ketika pengguna meminta untuk menggunakan fungsi tersebut. Karena fitur dinamis mungkin tidak tersedia sewaktu penginstalan, sebaiknya sertakan semua kode dan resource umum dalam APK dasar. Dengan begitu, fitur dinamis Anda hanya akan memuat kode dan resource untuk APK dasar yang tersedia sewaktu penginstalan. Google Play membuat APK fitur dinamis untuk aplikasi Anda dari modul fitur dinamis project Anda.

Pertimbangkan aplikasi dengan tiga modul fitur dinamis dan dukungan untuk beberapa konfigurasi perangkat. Gambar 1 di bawah ini menggambarkan seperti apa hierarki dependensi untuk berbagai APK aplikasi. Perhatikan bahwa APK dasar membentuk puncak hierarki, dan semua APK lainnya bergantung pada APK dasar. Jika Anda ingin mengetahui bagaimana modul APK ini direpresentasikan dalam Android App Bundle, baca Format Android App Bundle.)

APK dasar berada di bagian atas hierarki dengan APK fitur dinamis yang memiliki dependensi padanya.APK Konfigurasi, yang menyertakan kode khusus konfigurasi perangkat dan resource untuk setiap APK fitur dinamis dan dasar, membentuk simpul daun dari hierarki dependensi.

Gambar 1. Hierarki dependensi untuk aplikasi yang disajikan menggunakan APK terpisah

Perlu diingat, Anda tidak perlu mem-build APK ini sendiri. Google Play yang akan melakukannya untuk Anda menggunakan app bundle tunggal yang ditandatangani dan Anda build dengan Android Studio. Untuk mengetahui selengkapnya tentang format app bundle dan cara mem-build-nya, buka Mem-build, men-deploy, dan mengupload Android App Bundle.

Perangkat yang menjalankan Android 4.4 (API level 19) dan lebih rendah

Karena perangkat yang menjalankan Android 4.4 (API level 19) dan yang lebih rendah tidak mendukung download dan penginstalan APK terpisah, Google Play menyediakan APK tunggal, yang disebut multi-APK, yang dioptimalkan untuk konfigurasi perangkat. Artinya, multi-APK mewakili pengalaman aplikasi lengkap Anda, tetapi tidak menyertakan kode dan resource yang tidak perlu, misalnya untuk kepadatan layar lainnya dan arsitektur CPU.

Namun, APK tersebut menyertakan resource untuk semua bahasa yang didukung aplikasi Anda. Hal ini memungkinkan pengguna untuk, misalnya, mengubah setelan bahasa pilihan aplikasi Anda tanpa harus mendownload multi-APK lain.

Multi-APK tidak memiliki kemampuan untuk mendownload modul fitur dinamis on demand nantinya. Untuk menyertakan modul dinamis dalam APK ini, Anda harus menonaktifkan On-demand atau mengaktifkan Fusing saat membuat modul fitur dinamis.

Perlu diingat, dengan Pengiriman Dinamis, Anda tidak perlu mem-build, menandatangani, mengupload, dan mengelola APK untuk setiap konfigurasi perangkat yang didukung aplikasi Anda. Anda tetap mem-build dan mengupload hanya satu app bundle untuk seluruh aplikasi, dan Google Play yang akan menangani sisanya. Jadi terlepas dari apakah Anda berencana untuk mendukung perangkat yang menjalankan Android 4.4 atau lebih rendah, Pengiriman Dinamis akan menyediakan mekanisme penyajian yang fleksibel bagi Anda dan pengguna.

Modularisasi untuk aplikasi Anda

Modularisasi aplikasi Anda adalah proses pemisahan komponen logis dari project aplikasi Anda menjadi modul yang berlainan (diskret).

Pengaturan ulang fungsi aplikasi ke dalam komponen terpisah ini memerlukan pertimbangan dan waktu yang cermat. Namun, modularisasi memberikan manfaat berikut untuk project Anda:

  • Pengembangan secara paralel: Dengan memisahkan komponen logis dari aplikasi Anda ke dalam modul, tim atau individu lain di dalam organisasi Anda dapat mengambil kepemilikan setiap modul dan mengerjakannya dengan potensi konflik atau gangguan terhadap tim lain yang lebih kecil. Selain itu, jika Anda memiliki logika yang digunakan di berbagai bagian aplikasi, Anda dapat menggunakan modul library untuk mempromosikan penggunaan ulang kode dan enkapsulasi.
  • Peningkatan waktu build: Mem-build sistem, seperti sistem build Android Studio menggunakan Gradle, dioptimalkan untuk project yang diatur dalam modul. Misalnya, jika Anda mengaktifkan optimasi eksekusi project paralel Gradle di workstation termasuk prosesor multi-core, sistem build dapat mem-build beberapa modul secara paralel dan dapat mengurangi waktu build secara signifikan. Semakin modular project Anda, semakin signifikan peningkatan kinerja build-nya.
  • Kustomisasi pengiriman fitur: Modularisasi fitur aplikasi Anda sebagai modul fitur dinamis adalah persyaratan pemanfaatan opsi pengiriman kustom Pengiriman Dinamis, seperti pengiriman on demand, bersyarat, dan instan. Pembuatan fitur dinamis on demand memerlukan lebih banyak upaya dan kemungkinan pemfaktoran ulang aplikasi Anda. Jadi, pertimbangkan baik-baik fitur aplikasi mana yang paling diuntungkan dari modularisasi ke fitur dinamis dan yang paling merasakan manfaat dari opsi pengiriman kustom.

Modularisasi untuk project Anda berdasarkan fitur aplikasi membutuhkan waktu dan pertimbangan agar dapat dilakukan dengan benar. Jika Anda memutuskan untuk mulai memodularkan aplikasi, Anda harus terlebih dahulu mengonfigurasi modul dasar Anda dengan properti yang diperlukan untuk mendukung fitur modular. Kemudian, Anda dapat secara bertahap memodularkan fitur aplikasi tanpa mengubah perilaku aplikasi saat ini dengan mengonfigurasi modul fitur dinamis untuk pengiriman pada saat penginstalan.

Menggunakan modul fitur dinamis untuk pengiriman kustom

Manfaat unik dari Pengiriman Dinamis adalah kemampuan untuk menyesuaikan bagaimana dan kapan fitur lain dari aplikasi Anda terdownload ke perangkat yang menjalankan Android 5.0 (API level 21) atau yang lebih tinggi. Misalnya, untuk mengurangi ukuran download awal aplikasi, Anda dapat mengonfigurasi fitur tertentu untuk didownload sesuai kebutuhan atau hanya oleh perangkat yang mendukung kemampuan tertentu, seperti kemampuan mengambil gambar atau mendukung fitur augmented reality.

Meskipun Anda mendapatkan download yang sangat optimal secara default saat mengupload aplikasi Anda sebagai app bundle, opsi pengiriman fitur yang lebih canggih dan dapat disesuaikan memerlukan konfigurasi tambahan dan modularisasi fitur aplikasi Anda menggunakan modul fitur dinamis. Artinya, modul fitur dinamis menyediakan blok build untuk membuat fitur modular yang dapat Anda konfigurasi untuk didownload sesuai kebutuhan.

Pertimbangkan aplikasi yang memungkinkan pengguna Anda membeli dan menjual barang di marketplace. Anda dapat memodularkan masing-masing fungsi aplikasi berikut ke dalam modul fitur dinamis yang terpisah:

  • Login dan pembuatan akun
  • Penjelajahan marketplace
  • Penempatan item untuk dijual
  • Pemrosesan pembayaran

Tabel di bawah ini menjelaskan berbagai opsi pengiriman yang didukung modul fitur dinamis, dan bagaimana opsi tersebut dapat digunakan untuk mengoptimalkan ukuran download awal dari aplikasi marketplace contoh.

Opsi pengiriman Perilaku Contoh kasus penggunaan Memulai
Pengiriman saat penginstalan Modul fitur dinamis yang tidak mengonfigurasi salah satu opsi pengiriman yang dijelaskan di atas, akan didownload saat penginstalan aplikasi. Ini adalah perilaku penting karena artinya Anda dapat mengadopsi opsi pengiriman tingkat lanjut secara bertahap. Misalnya, Anda dapat memanfaatkan modularisasi fitur aplikasi dan mengaktifkan pengiriman on demand hanya setelah Anda sepenuhnya menerapkan download permintaan menggunakan Play Core library.

Selain itu, aplikasi Anda dapat meminta untuk meng-uninstal fitur di lain waktu. Jadi, jika Anda memerlukan fitur tertentu saat penginstalan aplikasi, tetapi bukan setelahnya, Anda dapat mengurangi ukuran penginstalan dengan meminta penghapusan fitur dari perangkat.

Jika aplikasi memiliki aktivitas pelatihan tertentu, seperti panduan interaktif tentang cara membeli dan menjual barang di marketplace, Anda dapat memasukkan fitur tersebut saat penginstalan aplikasi, secara default.

Namun, untuk mengurangi ukuran penginstalan, aplikasi dapat meminta penghapusan fitur setelah pengguna menyelesaikan pelatihan.

Lakukan modularisasi aplikasi Anda menggunakan modul fitur dinamis yang tidak mengonfigurasi opsi pengiriman tingkat lanjut.

Untuk mempelajari cara mengurangi ukuran aplikasi yang terinstal dengan menghapus modul fitur dinamis tertentu yang mungkin tidak diperlukan lagi oleh pengguna, baca Mengelola modul terinstal.

Pengiriman on demand Mengizinkan aplikasi Anda meminta dan mendownlad modul fitur dinamis sesuai kebutuhan. Jika hanya 20% dari mereka yang menggunakan item postingan aplikasi marketplace yang dijual, strategi yang baik untuk mengurangi ukuran download awal bagi sebagian besar pengguna adalah membuat fungsi pengambilan gambar, termasuk deskripsi item, dan menempatkan item yang akan dijual agar tersedia sebagai download on demand. Artinya, Anda dapat mengonfigurasi modul fitur dinamis untuk fungsi penjualan aplikasi yang akan didownload hanya ketika pengguna menunjukkan minat dalam menempatkan barang untuk dijual ke marketplace.

Selain itu, jika pengguna tidak lagi menjual barang setelah periode waktu tertentu, aplikasi dapat mengurangi ukuran penginstalannya dengan meminta uninstal fitur tersebut.

Buat modul fitur dinamis dan konfigurasi pengiriman on demand. Aplikasi Anda kemudian dapat menggunakan Play Core library untuk meminta download modul on demand.
Pengiriman bersyarat Memungkinkan Anda menentukan persyaratan perangkat pengguna tertentu, seperti fitur hardware, lokal, dan level API minimum untuk menentukan apakah fitur termodularisasi didownload saat penginstalan aplikasi. Jika aplikasi marketplace memiliki jangkauan global, Anda mungkin perlu mendukung metode pembayaran yang hanya populer di wilayah atau penduduk lokal tertentu. Untuk mengurangi ukuran download aplikasi awal, Anda dapat membuat modul fitur dinamis yang terpisah untuk memproses jenis metode pembayaran tertentu dan menginstalnya secara kondisional pada perangkat pengguna berdasarkan lokal yang terdaftar. Buat modul fitur dinamis dan konfigurasi pengiriman bersyarat.
Pengiriman instan Google Play Instan memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda tanpa harus menginstal APK di perangkat mereka. Sebaliknya, pengguna dapat mencoba aplikasi Anda melalui tombol "Coba Sekarang" di Google Play Store atau URL yang Anda buat. Bentuk konten pengiriman ini mempermudah pengingkatan engagement dengan aplikasi Anda.

Dengan pengiriman instan, Anda dapat menggunakan Google Play Instan untuk mengizinkan pengguna langsung mencoba fitur tertentu dari aplikasi Anda tanpa perlu menginstalnya.

Pertimbangkan game yang menyertakan beberapa level game pertama dalam modul fitur dinamis ringan. Anda dapat mengaktifkan langsung modul tersebut sehingga pengguna dapat langsung mencoba game melalui link URL atau tombol "Coba Sekarang", tanpa penginstalan aplikasi. Buat modul fitur dinamis dan konfigurasi pengiriman instan. Aplikasi Anda kemudian dapat menggunakan Play Core library untuk meminta download modul on demand.

Ingat, modularisasi fitur aplikasi menggunakan modul fitur dinamis hanyalah langkah pertama. Untuk mendukung Google Play Instan, ukuran download modul dasar aplikasi Anda dan fitur dinamis aktif instan yang diberikan harus memenuhi batasan ukuran yang ketat. Untuk mengetahui selengkapnya, baca Mengaktifkan pengalaman instan dengan mengurangi ukuran game atau aplikasi.

Manifes modul fitur dinamis

Saat membuat modul fitur dinamis baru menggunakan Android Studio, IDE menyertakan sebagian besar atribut manifes yang dibutuhkan modul untuk berperilaku seperti fitur dinamis. Selain itu, beberapa atribut diinjeksikan oleh sistem build pada waktu kompilasi, jadi Anda tidak perlu menentukan atau memodifikasinya sendiri. Tabel berikut menjelaskan atribut manifes yang penting untuk modul fitur dinamis.

Atribut Deskripsi
<manifest
...
Ini adalah blok <manifest> tipikal Anda.
xmlns:dist="http://schemas.android.com/apk/distribution" Menentukan namespace XML dist: baru yang dijelaskan lebih lanjut di bawah.
split="split_name" Saat Android Studio mem-build app bundle Anda, atribut ini juga termasuk. Jadi, Anda tidak boleh menyertakan atau memodifikasi sendiri atribut ini.

Menentukan nama modul, yang ditentukan aplikasi Anda saat meminta modul on demand menggunakan Play Core Library.

Cara Gradle menentukan nilai untuk atribut ini:

Secara default, jika Anda membuat modul fitur dinamis menggunakan Android Studio, IDE akan menggunakan apa yang Anda tentukan sebagai Modul name untuk mengidentifikasi modul sebagai sub-project Gradle dalam file setelan Gradle Anda.

Jika Anda mem-build app bundle, Gradle akan menggunakan elemen terakhir dari jalur sub-project untuk memasukkan atribut manifes ini dalam manifes modul. Misalnya, jika Anda membuat modul fitur dinamis baru di MyAppProject/features/ dan menetapkan "dynamic_feature1" sebagai Module name -nya, IDE akan menambahkan ':features:dynamic_feature1' sebagai sub-project dalam file settings.gradle Anda. Saat mem-build app bundle, Gradle kemudian memasukkan <manifest split="dynamic_feature1"> dalam manifes modul.

android:isFeatureSplit="true | false"> Saat Android Studio mem-build app bundle, paket ini akan menyertakan atribut ini untuk Anda. Jadi, Anda tidak boleh memasukkan atau memodifikasi atribut ini secara manual.

Menentukan bahwa modul ini adalah modul fitur dinamis. Manifes dalam modul dasar dan APK konfigurasi menghapus atribut ini atau menyetelnya ke false.

<dist:module Elemen XML baru ini mendefinisikan atribut yang menentukan cara modul dikemas dan didistribusikan sebagai APK.
dist:instant="true | false" Menentukan apakah modul harus tersedia melalui Google Play Instan sebagai pengalaman instan.

Jika aplikasi Anda menyertakan satu atau beberapa modul fitur dinamis yang diaktifkan secara instan, Anda juga harus mengaktifkan modul dasar secara instan. Saat menggunakan Android Studio 3.3 atau lebih tinggi, IDE melakukan cara ini ketika Anda membuat modul fitur dinamis yang diaktifkan secara instan.

Anda tidak dapat menyetel elemen XML ini menjadi true dengan menyetelnya juga ke dist:onDemand="true". Namun, Anda masih dapat meminta download on demand atas fitur dinamis aktif instan Anda sebagai pengalaman instan menggunakan Play Core Library. Jika pengguna mendownload dan menginstal aplikasi Anda, perangkat akan mendownload dan menginstal fitur dinamis aplikasi instan Anda, bersama dengan APK dasar, secara default.

dist:onDemand="true | false" Menentukan apakah modul harus tersedia sebagai download on demand. Artinya, jika atribut ini disetel ke true, modul akan tidak tersedia pada waktu penginstalan, tetapi aplikasi Anda dapat meminta untuk mendownloadnya nanti.

Jika atribut ini disetel ke false, modul akan disertakan saat pengguna pertama kali mendownload dan menginstal aplikasi Anda.

Untuk mempelajari tentang download on demand selengkapnya, baca Download modul dengan Play Core Library.

dist:title="@string/feature_name" Menentukan judul modul yang dilihat pengguna. Misalnya, perangkat dapat menampilkan judul ini ketika meminta konfirmasi download.

Anda perlu menyertakan resource string untuk judul ini dalam file module_root/src/source_set/res/values/strings.xml modul dasar.

<dist:fusing dist:include="true | false" />
</dist:module>
Menentukan apakah modul akan disertakan dalam multi-APK yang menargetkan perangkat yang menjalankan Android 4.4 (API level 20) dan lebih rendah.

Selain itu, jika Anda menggunakan bundletool untuk membuat APK dari app bundle, hanya modul fitur dinamis yang menyetel properti ini ke true yang akan disertakan dalam APK universal. Modul tersebut merupakan APK monolitik yang mencakup kode dan resource untuk semua konfigurasi perangkat yang didukung oleh aplikasi Anda.

<application
android:hasCode="true | false">
...
</application>
Jika modul fitur dinamis tidak membuat file DEX, artinya tidak berisi kode yang dikompilasi ke dalam format file DEX, Anda harus melakukan langkah-langkah berikut (jika tidak, Anda dapat mengalami error runtime):
  1. Setel android:hasCode ke "false" di manifes modul fitur dinamis.
  2. Tambahkan kode berikut ke manifes modul dasar Anda:
    
        <application
          android:hasCode="true"
          tools:replace="android:hasCode">
          ...
        </application>
        

Menguji Pengiriman Dinamis

Cara terbaik untuk menguji Pengiriman Dinamis adalah melalui Google Play Store. Itu dikarenakan banyak manfaat dari Pengiriman Dinamis yang bergantung pada penyajian, penandatanganan, dan penangguhan pembuatan APK optimal, pada Play Store. Jadi, terlepas apakah Anda menyertakan dukungan dasar untuk Pengiriman Dinamis dengan mengupload app bundle atau mengonfigurasi opsi pengiriman kustom, Anda harus menggunakan metode berikut untuk menguji aplikasi dengan Pengiriman Dinamis.

  • Membagikan aplikasi Anda dengan URL. Ini adalah cara tercepat untuk mengupload app bundle Anda dan membagikan aplikasi Anda sebagai link Google Play Store dengan penguji tepercaya. Selain itu, ini adalah cara tercepat untuk menguji opsi pengiriman kustom, seperti download fitur on demand.
  • Menyiapkan uji terbuka, tertutup, atau internal. Metode ini menyediakan saluran uji terstruktur dan merupakan cara yang baik untuk menguji versi rilis final aplikasi Anda sebelum diluncurkan ke pengguna eksternal.

Pertimbangan untuk fitur dinamis

Jika Anda ingin mempublikasikan aplikasi yang menyertakan modul fitur dinamis ke jalur produksi, perhatikan pertimbangan berikut:

  • Hanya perangkat yang menjalankan Android 5.0 (API level 21) dan dukungan yang lebih tinggi untuk mendownload dan menginstal fitur dinamis sesuai permintaan. Untuk menyediakan fitur dinamis pada versi Android sebelumnya, pastikan Anda telah mengaktifkan Fusing saat membuat modul fitur dinamis.
  • Pastikan Anda mengaktifkan SplitCompat, sehingga aplikasi Anda memiliki akses langsung ke modul fitur dinamis yang didownload.
  • Jika download untuk fitur dinamis berukuran besar, aplikasi Anda perlu mendapatkan konfirmasi pengguna sebelum dapat mendownload modul fitur dinamis ke perangkat.
  • Modul fitur dinamis tidak boleh menentukan aktivitas dalam manifesnya dengan android:exported yang disetel ke true. Ini dikarenakan tidak adanya jaminan bahwa perangkat telah mendownload modul fitur dinamis ketika aplikasi lain mencoba meluncurkan aktivitas. Selain itu, aplikasi Anda harus mengonfirmasi bahwa fitur dinamis telah didownload sebelum mencoba mengakses kode dan resourcenya. Untuk mempelajari lebih lanjut, baca Mengelola modul terinstal.
  • Karena pengiriman dinamis mengharuskan Anda mempublikasikan aplikasi menggunakan app bundle, pastikan Anda mengetahui masalah umum app bundle.

Referensi lainnya

Untuk mempelajari penggunaan Pengiriman Dinamis pendukung lebih lanjut, baca referensi berikut.

Contoh

  • Contoh PlayCore API, menunjukkan penggunaan PlayCore API untuk meminta dan mendownload fitur-fitur dinamis.
  • Contoh pemuatan kode dinamis, yang menunjukkan tiga pendekatan berbeda untuk mengakses kode dengan aman dari modul fitur dinamis yang diinstal.

Codelab

  • Android App Bundle Pertama Anda, codelab yang mengeksplor prinsip-prinsip dasar Android App Bundle dan menunjukkan cara mulai cepat untuk mem-build aplikasi Anda sendiri menggunakan Android Studio. Codelab ini juga mengeksplor cara menguji app bundle Anda menggunakan bundletool.
  • Modul On demand, membantu Anda membuat aplikasi yang mendownload dan menginstal fitur dinamis secara on demand.

Postingan blog

Video