How to Protect Dynamic Features
What are Dynamic Features?
As of May 2018, Google uses the Android App Bundle (aab), an upload format that includes all types of code and resources. This allows you to create an aab file consisting of multiple apk bundles that are optimized for each device or OS store. When uploaded to Google Play, your app bundles are used to generate and serve optimized apk files for each user’s device configuration. As a result, end-users can download only the code and resources they need to run your app, making it easy to reduce the app size.
If your app offers multiple features, some of which may not be available by default to all users (for example, a professional network with stats on who has viewed your profile or features that are only relevant to recruiters), you can set these features (modules) as Dynamic Features.
In doing so, you can customize how and when different features of your app are downloaded onto devices running Android 5.0 (API level 21) or higher. This allows you to reduce the initial app size by distributing a basic app file that contains only mandatory components. Users can download and install this basic “thin” app and later download the non-mandatory modules as needed. Dynamic features can also be used to exclude features that are only supported by certain devices, such as facial recognition.
Why Should Developers Protect Dynamic Feature Modules?
Dynamic feature modules are organized just like regular app modules: they provide their own code, resources, and assets in the directories you would expect. This means that for all the benefits of using dynamic features in terms of customization ability and app size reduction if these modules are not protected, they can be compromised by hackers and other malicious actors.
How does Appdome Protect Dynamic Features?
Dynamic Features support is a separate license provided by Appdome. If you upload an app with dynamic features that does not have a Dynamic Features Support license, Appdome will identify that your app has dynamic features by displaying a disabled Dynamic Features icon in the upload screen, along with a notification that the requested Dynamic Features Support license is missing.
Note: It is crucial to note that for .aab apps that include dynamic features, generating a universal APK is not supported on the Appdome platform. This policy is to ensure that the specific optimizations and configurations meant for varied devices are not compromised, maintaining the functionality and integrity of the dynamic features.
If you proceed with the build process without upgrading your account, the lack of a Dynamic Features license will also be indicated in the app list menu on the left.
If your uploaded app includes a license for dynamic features support, the license is indicated by a Dynamic Features icon that is enabled both on the upload screen and on the app list menu.
Related Articles:
- How to Protect Unity Code in Android and iOS Unity Apps
- How to Block Lucky Patcher & Patching Tools in Android Apps
- How to Prevent Static App Patching in Android Apps
How Do I Learn More?
If you have any questions, please send them our way at support.appdome.com or via the chat window on the Appdome platform.
Thank you!
Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project.