I see that on PlayStore I can publish a private app to my customers if they has a OrganizationId. I don't understand the role of "Play Custom App Publishing API","Android Management API ". Is possible to develop a private enterprise store based on playstore ? I'm confused.. The world of private app for enterprise is soo few documented
2 Answers
There are 3 types of app distribution available using the Google APIs:
- Public Google hosted apps - The app is available through the Play Store and not restricted to a specific enterprise. This type is supported by the Android Management API using an application policy.
- Private Google hosted apps - The app is a private app (restricted to a single enterprise) but hosted by Google. This means your app will be uploaded privately to the Play Store and it will be available only to devices enrolled within your enterprise. This type is supported by the Android Management API using a managed iFrame for uploading APK files and an application policy to deploy the apps. Deployment is the same as with public apps where you use the package name of the app.
- Private Self-Hosted apps - This type is fairly complex, but it does not require you to upload an APK to the Google Play store. Instead, you generate JSON meta data definitions of your APK and you only publish this meta data at Google. When you'd like to install an app, Google are actually using that meta-data to fetch APK files from your enterprise server.
Options 1 and 2 work for both work profile and device owner enrollments, while Option 3 works only for device owner enrollments. Furthermore, it seems it is only limited to the now closed EMM API.
The Play Custom App Publishing API is actually a way to manually create or update private APK uploads. So instead of using the Android Management API iFrame, you can use the publishing API to create your own in-house UI.
Depending on what you exactly mean, you may be able to build your own private store using the private apps functionality and the Play Custom App Publishing API to build your own UI for publishing apps. Be advised that there is a package name restriction imposed by the Play Store. There can be no 2 apps sharing the same package name uploaded to the Play Store. It does not matter if these are private apps, visible only for one enterprise. This rule applies globally for the whole Play Store.

- 131
- 2
- 12
-
Thank you for the answer. What I want to do is to sell app to my clients. From this link https://support.google.com/googleplay/work/answer/6145139?hl=en in 3rd party developer section doesn't speak about build a own private store. It only says to "Use the Organization ID provided by your client, to Publish the private app to your clients organization." But in this way my client's are obligated to have a Google Organization ID ? I can realy build a private store where my client can connect and download its app ? – aeroxr1 Nov 09 '20 at 09:07
-
The link describes private apps for Enterprise Mobility Management (EMM) providers. If you do not have an EMM software solution, you cannot use private apps as described there. You could build a private App Store app like [F-Droid](https://f-droid.org). However, users will be required to manually install and trust that app before it can install any other apps on their devices. See here - https://en.wikipedia.org/wiki/F-Droid#Client_application for clarification. – petarov Nov 09 '20 at 16:31
Private Google hosted apps aren't restricted to a single enterprise. It can also be distributed to other organizations. Each company, or "enterprise", that allows employees to use their phones for work or gives devices to employees, manages those devices and decides which apps are available. If you don't want your app to be available to download from Play by consumer, but only by business that you've worked with, you might consider making your app "private" to just those companies that you work with. Each company will need to give you their "Organization ID" or "Enterprise ID" to make your app visible to that company.
Private self-hosted apps are actually called Externally hosted private apps. You can check this link for more information about externally hosted private apps.
For your use case, would it also work to use in-app purchases to enable app sales?

- 231
- 1
- 12