Should I use App Update or Direct Update?
Google I/O 2019 brought in a flurry of new feature announcements. One of the less publicised feature was that of in-app updates for Android apps. While the Google Play Store continues to be the channel for delivering app updates, in-app updates allow developers to prompt users to consume an app update from the Play Store without leaving their app.
MobileFirst has had the ability to update app content from within the app for a long time now through Direct Update.
- How is Android in-app udpate different from Direct Update?
- Is one better than the other?
- Which is the best way to update my app?
In this post, I’ll attempt to answer these questions and more.
One of the first obvious difference you’d note is that the Android in-app update is delivered through the Play Store while MobileFirst Direct Update is delivered through the MobileFirst server or a CDN. This implies that your update still has to go through the Play Store review process and the associated delay.
Another important difference is that Android app update is available to apps on, well, Android only. Direct update, on the other hand can be used on both Android and iOS platforms making it much more versatile.
The limitation of Direct Update comes into play in the type of content it can update. Direct Update can only udpate web resources of Cordova-based apps, whereas the Android app update can update native content too and is perhaps suited to native apps.
Apart from the major comparisons highlighted above, the following table gives you a more detailed comparison to help you judge better.
|Update||Mobile First Direct Update||Android in-app|
|Platform Support||Android, iOS||Android only|
|Availability of update to users||Immediately after upload||Subject to Play Store review timelines|
|Content that can be updated||Web resources only (Cordova and Ionic apps)||Native code (Native Android apps)|
|Cusomtizability||Fully customizable by overriding the Direct Update Challenge handler||Partly customizable. Two modes available - flexible and immediate|
|Custom UX for downloading||Fully customizable||No customization - Play Store UI is shown to the user|
|Additional coding required||None. Available out of the box||App must be coded & prepared ahead of time|
|Update download size||Small. Only delta can be downloaded||Full update is downloaded|
|Option of rejecting an update for users||Yes||Yes - only in a flexible update|
|Other Limitations||Installed app and update must be from the same version||Update must be of a higher version than the installed version|
|Secure updates||Yes||Yes (delivered through Play Store)|
If you’re a native Android app developer, the in-app udpate is a new capability that fills the gap of providing an update without the user having to launch the Play Store. Exploiting this requires some amount of forethought and code from the developer even before you deliver any updates. Additionally, you’re still constrained by the restrictions of in-app updates and Play Store mentioned in the table above.
Direct Update, on the other hand is available to only Cordova and Ionic apps, but is far more versatile and powerful in creating a compelling user experience.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.