Modul fitur memungkinkan Anda memisahkan fitur dan resource tertentu dari modul dasar aplikasi dan menyertakannya dalam app bundle. Melalui Play Feature Delivery, pengguna dapat, misalnya, mendownload dan menginstal komponen di lain waktu secara on demand, setelah menginstal APK dasar untuk aplikasi Anda terlebih dahulu.
Misalnya, ada aplikasi pesan yang menyertakan fungsi untuk mengambil dan mengirim pesan gambar, namun hanya sebagian kecil pengguna yang mengirim pesan gambar. Maka wajar saja untuk menyertakan fitur pesan gambar sebagai modul fitur yang dapat didownload. Dengan begitu, download aplikasi awal ukurannya akan lebih kecil untuk semua pengguna, dan hanya pengguna yang memerlukan fitur pesan gambar yang harus mendownload komponen tambahan tersebut.
Perlu diingat bahwa jenis modularisasi ini membutuhkan lebih banyak upaya dan mungkin pemfaktoran ulang kode aplikasi yang sudah ada, jadi pertimbangkan dengan hati-hati fitur aplikasi yang paling diuntungkan dari segi ketersediaannya bagi pengguna on demand. Untuk lebih memahami pedoman dan kasus penggunaan yang optimal untuk fitur on demand, baca praktik terbaik UX untuk pengiriman on demand.
Jika Anda ingin memodularisasi fitur aplikasi secara bertahap dari waktu ke waktu tanpa mengaktifkan opsi pengiriman lanjutan, seperti on demand, Anda dapat mengonfigurasi pengiriman saat penginstalan.
Halaman ini membantu Anda menambahkan modul fitur ke project aplikasi dan mengonfigurasinya untuk pengiriman on demand. Sebelum memulai, pastikan Anda menggunakan Android Studio 3.5 atau lebih tinggi dan Android Gradle Plugin 3.5.0 atau lebih tinggi.
Konfigurasi modul baru untuk pengiriman on demand
Cara termudah untuk membuat modul fitur baru adalah dengan menggunakan Android Studio 3.5 atau yang lebih baru. Karena modul fitur memiliki dependensi melekat pada modul aplikasi dasar, Anda hanya dapat menambahkannya ke project aplikasi yang sudah ada.
Untuk menambahkan modul fitur ke project aplikasi Anda menggunakan Android Studio, lakukan langkah-langkah berikut:
- Buka project aplikasi Anda di IDE jika belum melakukannya.
- Dari panel menu, pilih File > New > New Module
- Pada dialog Create New Module, pilih Dynamic Feature Module, lalu klik Next.
- Pada bagian Configure your new module, lakukan
langkah-langkah berikut:
- Dari menu drop-down, pilih Base application module untuk project aplikasi Anda.
- Tentukan Module name. IDE menggunakan nama ini untuk mengidentifikasi
modul sebagai subproject Gradle dalam
file setelan Gradle Anda. Jika Anda membuat app bundle, Gradle akan menggunakan elemen terakhir dari nama subproject untuk memasukkan atribut
<manifest split>
dalam manifes modul fitur. - Tentukan package name modul. Secara default, Android Studio menyarankan nama paket dengan menggabungkan nama paket root modul dasar dan nama modul yang Anda tentukan di langkah sebelumnya.
- Pilih Minimum API level yang Anda inginkan untuk didukung modul. Nilai ini harus sesuai dengan yang ada di modul dasar.
- Klik Next.
Pada bagian Module Download Options, lakukan langkah-langkah berikut:
Tentukan Module title maksimum 50 karakter. Platform tersebut menggunakan judul ini untuk mengidentifikasi modul kepada pengguna saat, misalnya, mengonfirmasi apakah pengguna ingin mendownload modul atau tidak. Karena alasan ini, modul dasar aplikasi Anda harus menyertakan judul modul sebagai resource string, yang dapat Anda terjemahkan. Saat membuat modul menggunakan Android Studio, IDE akan menambahkan resource string ke modul dasar dan memasukkan entri berikut dalam manifes modul fitur:
<dist:module ... dist:title="@string/feature_title"> </dist:module>
Di menu drop-down pada bagian Install-time inclusion, pilih Do not include module at install-time. Android Studio memasukkan kode berikut ke dalam manifes modul untuk merefleksikan pilihan Anda:
<dist:module ... > <dist:delivery> <dist:on-demand/> </dist:delivery> </dist:module>
Centang kotak di sebelah Fusing jika Anda ingin modul ini tersedia untuk perangkat yang menjalankan Android 4.4 (API level 20) atau yang lebih rendah dan menyertakannya dalam multi-APK. Artinya, Anda dapat mengaktifkan perilaku on demand untuk modul ini dan menonaktifkan penggabungan untuk menghilangkannya dari perangkat yang tidak mendukung download dan penginstalan APK terpisah. Android Studio memasukkan kode berikut ke dalam manifes modul untuk merefleksikan pilihan Anda:
<dist:module ...> <dist:fusing dist:include="true | false" /> </dist:module>
Klik Finish.
Setelah Android Studio selesai membuat modul Anda, periksa sendiri kontennya dari panel Project (pilih View > Tool Windows > Project dari panel menu). Kode, resource, dan organisasi default harus sama dengan modul aplikasi standar.
Setelah Anda menerapkan fitur yang ingin didownload secara on demand, pelajari cara memintanya menggunakan Play Core Library.
Men-deploy aplikasi
Saat mengembangkan aplikasi yang mendukung Play Feature Delivery, Anda dapat men-deploy aplikasi Anda ke perangkat yang terhubung seperti biasanya dengan memilih Run > Run dari panel menu (atau dengan mengklik Run di toolbar).
Jika project aplikasi Anda menyertakan satu atau beberapa modul fitur, Anda dapat memilih modul fitur yang akan disertakan saat men-deploy aplikasi dengan mengubah konfigurasi run/debug yang ada sebagai berikut:
- Dari panel menu, pilih Run > Edit Configurations.
- Dari panel kiri dialog Run/Debug Configurations, pilih konfigurasi Android App yang Anda inginkan.
- Di bagian Dynamic features to deploy di tab General, centang kotak di samping setiap modul fitur yang ingin Anda sertakan saat men-deploy aplikasi.
- Klik OK.
Secara default, Android Studio tidak men-deploy aplikasi Anda menggunakan app bundle. Sebaliknya, IDE membuat dan menginstal APK ke perangkat Anda yang dioptimalkan untuk kecepatan deploy, bukan ukuran APK. Untuk mengonfigurasi Android Studio agar dapat membuat dan men-deploy APK dan pengalaman instan dari app bundle, modifikasi konfigurasi run/debug Anda.
Referensi lainnya
Untuk mempelajari penggunaan Play Feature Delivery lebih lanjut, baca referensi berikut.
Contoh
- Contoh PlayCore API, yakni aplikasi contoh yang menunjukkan penggunaan PlayCore API untuk meminta dan mendownload fitur on demand.
- Contoh pemuatan kode dinamis, yang menunjukkan tiga pendekatan berbeda untuk mengakses kode dengan aman dari modul fitur yang diinstal.
Codelab
- Modul on demand, yang membantu Anda membuat aplikasi yang mendownload dan menginstal fitur on demand.
Postingan blog
- Fitur-fitur baru untuk membantu Anda mengembangkan, merilis, dan menumbuhkan bisnis di Google Play
- Update Android App Bundle terbaru termasuk API bahasa tambahan
- Patchwork Plaid, yakni sebuah artikel tentang modularisasi