Stay organized with collections
Save and categorize content based on your preferences.
The Google Play Custom App Publishing API is intended for enterprise mobility
management providers (EMMs), third-party app developers, and other organizations
who want to enable their enterprise customers to publish private apps (also
called custom apps) directly from their end-user interface.
An enterprise customer is an organization that uses managed Google Play to distribute work
apps to employees. Each enterprise customer maintains their own
managed Google Play store, which can include
both public and private apps. Private apps
aren't available outside the enterprise—only users with access to the
enterprise's managed Google Play store can view and install private apps.
Preliminary setup
Before you can publish private apps using the Google Play Custom App Publishing API, you
need to first enable the Google Play Custom App Publishing API for a project,
create a service account, and grant publishing permission to this account on your Play Console developer account.
Enable the Google Play Custom App Publishing API
To enable the Google Play Custom App Publishing API for a project, follow these
steps:
Open the Google API Console. If you don't have a Google account, select
More options > Create account and then fill in the form to create an
account. If you have a Google account, sign in if prompted.
From the projects list, choose the project that you selected or created when enabling the API.
From the main menu, select IAM & Admin > Service accounts > Create service account.
Enter a name for your service account and select Furnish a new private key. Then click Create.
Take note of the service account's email address and store the service account's
private key file in a location accessible to your application. Your application
needs them to make authorized calls to the Google Play Custom App Publishing API.
Grant publishing permission to the service account
To grant publishing permission to the service account you've created, follow these steps:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-07 UTC."],[[["\u003cp\u003eThe Google Play Custom App Publishing API enables enterprise mobility management providers and developers to publish private apps directly for their enterprise customers.\u003c/p\u003e\n"],["\u003cp\u003ePrivate apps are only accessible to users within an enterprise's managed Google Play store, ensuring data security and exclusivity.\u003c/p\u003e\n"],["\u003cp\u003eBefore publishing, you need to enable the API, create a service account with publishing permissions on your Play Console developer account, and retrieve your developer account ID.\u003c/p\u003e\n"],["\u003cp\u003eEnterprise customers utilize managed Google Play to distribute work apps to employees within their organization's private app store.\u003c/p\u003e\n"],["\u003cp\u003eTo publish private apps, the Play Console developer account owner must also be an admin of the target enterprise customer.\u003c/p\u003e\n"]]],[],null,["# Get started with custom app publishing\n\nThe Google Play Custom App Publishing API is intended for enterprise mobility\nmanagement providers (EMMs), third-party app developers, and other organizations\nwho want to enable their enterprise customers to publish private apps (also\ncalled *custom apps*) directly from their end-user interface.\n\nAn enterprise customer is an organization that uses [managed Google Play](https://support.google.com/googleplay/work/answer/6137769) to distribute work\napps to employees. Each enterprise customer maintains their own\n[managed Google Play store](https://play.google.com/work), which can include\nboth public and private apps. [Private apps](https://support.google.com/googleplay/work/topic/6145152)\naren't available outside the enterprise---only users with access to the\nenterprise's managed Google Play store can view and install private apps.\n| **Note:** Custom app publishing is designed for private apps that are used by a single enterprise customer or apps that contain sensitive data. If an app is intended for multiple enterprise customers and/or requires authentication to access any sensitive data, then consider [publishing the app to the public Google Play store](https://support.google.com/googleplay/android-developer/answer/113469).\n\nPreliminary setup\n-----------------\n\nBefore you can publish private apps using the Google Play Custom App Publishing API, you\nneed to first enable the Google Play Custom App Publishing API for a project,\ncreate a service account, and grant publishing permission to this account on your Play Console developer account.\n\n### Enable the Google Play Custom App Publishing API\n\nTo enable the Google Play Custom App Publishing API for a project, follow these\nsteps:\n\n1. Open the [Google API Console](https://console.cloud.google.com/). If you don't have a Google account, select\n **More options** \\\u003e **Create account** and then fill in the form to create an\n account. If you have a Google account, sign in if prompted.\n\n2. From the projects list, select a project or [create a project](https://support.google.com/googleapi/answer/6251787).\n\n3. [Open the API Library](https://console.cloud.google.com/apis/library).\n\n4. Search the API Library for the Google Play Custom App Publishing API. To\n enable the API, select it and then click **enable**.\n\n### Create a service account\n\nWith the same project for which you've enabled the Google Play Custom App Publishing API, follow these steps to create a service account:\n\n1. Open the [Google API Console](https://console.cloud.google.com/). Login if prompted.\n\n2. From the projects list, choose the project that you selected or created when enabling the API.\n\n3. From the main menu, select **IAM \\& Admin** \\\u003e **Service accounts** \\\u003e **Create service account**.\n\n4. Enter a name for your service account and select **Furnish a new private key** . Then click **Create**.\n\nTake note of the service account's email address and store the service account's\nprivate key file in a location accessible to your application. Your application\nneeds them to make authorized calls to the Google Play Custom App Publishing API.\n\n### Grant publishing permission to the service account\n\nTo grant publishing permission to the service account you've created, follow these steps:\n\n1. Open the [Play Console](https://play.google.com/console)\n\n2. Select an existing developer account or create a new one.\n\n | **Note:** Owner account of your developer account should also be an admin of the enterprise customer you wish to publish the private app to.\n3. Follow the steps mentioned in [give users access](https://support.google.com/googleplay/android-developer/answer/9844686?ref_topic=7072535) document to give the permission to [create and publish private apps](https://support.google.com/googleplay/android-developer/answer/9844686?ref_topic=7072535#zippy=%2Ccreate-and-publish-private-apps-to-your-organization) to the service account's email address.\n\n### Retrieve the developer account ID\n\nAfter the setup and permission process is complete, take a note of developer account ID from the Play Console URL: \n\n```\nhttps://play.google.com/console/developers/123456\n```\n\nYou need to pass the developer account ID as a parameter when you\n[publish private apps](/android/work/play/custom-app-api/publish) for the user's\nenterprise."]]