Android 14 Improves Third-Party App Stores Experience
Google Play has long been the most popular app store for Android users, but there are criticisms regarding the way Google maintains its app store dominance. In response, Google has added new features to Android 14 that improve the experience for users of third-party app stores. This article discusses the latest features added to Android 14 that help third-party app stores become more competitive.
Gentle Updates
Third-party app stores have always lagged behind first-party stores in functionality, particularly in automatic updates. While first-party app stores have been able to do automatic app updates, third-party app stores have only recently been able to do unattended updates. Android 12 has an API that allows third-party app stores to update apps without user action, reducing the friction of using a third-party app store.
However, third-party app stores still need to determine when it is safe to do an automatic update. Android 14 has a new API called PackageInstaller.InstallConstraints that allows third-party app stores to check if specific conditions are met before performing “gentle updates”. This API lets third-party app stores check if an app they’re updating has an active foreground service, is interacting with the user, or is on screen. Additionally, third-party app stores can check whether the device is in doze mode or in a phone call.
Update Ownership
Android 14 introduces the “update ownership” mechanism that lets third-party app stores become the exclusive source of future automatic updates to an app such as photos remover they first installed. This means that if you’re using a third-party app store because the apps available through it are vetted by the community, then an unvetted update that’s available through other app stores won’t be automatically pushed to your device.
Currently, when you install an app through a third-party app store, a first-party app store can update that app. However, the new setRequestUpdateOwnership method in PackageInstaller.SessionParams tells the system that third-party app stores are claiming update ownership over the app they’re about to install. Once update ownership enforcement is enabled for an app, other app stores even with INSTALL_PACKAGES permission need action from the user to update the app. Third-party app stores must hold the new ENFORCE_UPDATE_OWNERSHIP permission to use the update ownership enforcement API.
Install Pre-Approval
The last new Android 14 API is the PackageInstaller.Session#requestUserPreapproval, which lets third-party app stores request user approval before they commit an installation session. This API will be useful for third-party app stores that want to prompt the user before updating an app in the background. For example, security-focused app stores could prompt users before updating an app if the update adds new permissions.
Wrap Up
The new APIs added to Android 14 show Google’s intent to make the playing field more level for third-party app stores. Third-party app stores can now provide users with a better experience with gentle updates, update ownership, and install pre-approval. Although the ENFORCE_UPDATE_OWNERSHIP permission has a “normal” protection level, it remains to be seen if Google Play will audit its use. Nevertheless, these new APIs are an excellent starting point for third-party app stores to become more competitive with Google Play.