A private app is an app that’s only available to an enterprise’s users. Private apps are fully compatible with managed Google Play. An enterprise can publish private apps to its managed Google Play store and install private apps remotely to users’ devices. To learn more, see Distributing private apps to users.
Google-hosted private apps
Enterprise customers aren't required to host their private apps on managed Google Play, but it offers several key benefits. See Google-hosted private apps for more details.
Google-hosted private apps can be installed on devices running any mode of operation (profile owner, device owner, or legacy), and there are no additional features you need to implement in your EMM solution to support them.
Self-hosted private apps
Enterprise customers also have the option of hosting their private apps themselves and only using the managed Google Play infrastructure to manage app installation.
Self-hosted private apps can be installed on devices running the profile owner mode of operation, but they aren’t compatible with legacy devices and can only be push installed to devices running the device owner mode of operation.
To successfully publish a self-hosted private app, an enterprise customer must first build an APK definition file that contains metadata captured from the app's manifest in JSON format. This definition file replaces the APK within Google Play and needs to be uploaded during the publishing process. More detailed guidance on how to generate an APK definition file and access to downloadable sample code is available on GitHub (see externally hosted APKs).
Integrate private app management into your console
The simplest way to add private app publishing capabilities to your EMM console is to embed the managed Google Play iframe. The iframe's Private apps page silently creates a Play Console account on behalf of an enterprise and waives the $25 USD registration fee.
Another option is to add private app publishing to your console using the Google Play Custom App Publishing API. This API is only compatible with Google-hosted private apps, and the apps published through this method can't ever be made public. To integrate additional publishing and app management tasks, use the Google Play Publishing API.