Distribute Apps
Stay organized with collections
Save and categorize content based on your preferences.
Page Summary
Managed Google Play Store allows installing Android apps on devices via policy using the app's package name.
Closed testing enables organizations to test pre-release app versions with targeted enterprises before wider distribution.
The managed Google Play iframe can be embedded in an EMM console to provide a unified interface for managing apps, including searching, publishing private and web apps, and organizing apps into collections.
The iframe supports various features like searching for apps, managing private apps, publishing website shortcuts as web apps, and organizing apps into collections displayed in the user's Play Store.
You can upload your own apps to the Google Play Store and restrict their availability to a single enterprise if desired.
The following sections will provide you useful information about the
distribution of apps in the managed Google Play Store.
Install apps
You can install Android apps from the Google Play Store on devices using
the policy. To use this feature, you need to know the package name of the
app you want to install. To find the app's package name you have
two options:
The app's package name is in the URL of the Google Play Store page.
For example, the URL of the Google Chrome app page is
You can embed the managed Google Play iframe
in your EMM console to allow your customers to browse the
Google Play Store. When your customer selects an app in the iframe your
EMM console receives the package name in the event.
When you apply the policy to a device, the app will either be installed on the
device or added to the managed Google Play Store on the device.
Distribute apps for closed testing
In the Play Console, app developers can create a closed release (closed track)
to test pre-release versions of their app with a set of testers. This is called
closed testing. Supporting closed track distribution lets organizations test
third-party apps, as well as any private apps they develop in-house.
When setting up a closed test in the Play Console, app developers
can target up to 100 organizations
(enterprises).
You can use the Android Management API to retrieve the closed tracks
targeted to an enterprise, and distribute these closed tracks to devices
using the policy.
Apps eligible for closed testing
Before setting up a closed test, app developers must ensure that their app meets
the following requirements:
A production version of the app is published on Google Play (or managed Google
Play, for private apps)
In the Google Play Console, Managed Google Play is enabled in the app's
Advanced Settings page.
When setting up a closed test, app developers can grant an
organization access to closed tests by adding their Organization ID. Your
customers can locate their Organization ID using these instructions:
Copy the Organization ID string from the Organization information box and
send it to the developer.
For private apps, the developer also needs to add the Organization ID of each
participating enterprise in the Managed Google Play tab of the app's
Advanced Settings page. For instructions, see
Publish private apps from the Play Console.
Distribute closed tracks to users
To retrieve a list of tracks available to an enterprise for a specified app,
call enterprises.applications.
The appTrackInfo[] list included in the response contains the following for
given apps:
trackId: The track’s unique identifier, taken from the releaseTrackId in
the URL of the page in the Play Console that displays the app's track
information.
trackAlias: The human-readable name for the track, which is modifiable in
the Play Console.
To install a closed track on a user's device, specify the accessibleTrackIds
in their device's policy:
If a policy contains multiple tracks from the same app (as in the example
above), then the policy installs the track with the highest version code.
The trackIds will be automatically removed from
enterprises.applications call in certain scenarios
such as the following:
Track's app is promoted to another track or to the production.
The production version is updated with a higher version than the track.
A developer stops the track.
Managed Google Play iframe
With the managed Google Play iframe, you can embed managed Google Play
directly in your EMM console to offer customers a unified mobility management
experience.
Figure 1. Managed Google Play iframe
The iframe contains a title bar and an expandable side menu. From the menu,
users can navigate to different pages:
Search apps: Allows IT admins to search for and browse Google
Play apps, view app details, and select apps.
Private apps: Allows IT admins to publish and manage private
apps for their enterprise.
Web apps: Allows IT admins to publish and distribute website
shortcuts as apps.
Organize apps: Allows IT admins to configure how apps are
organized in the Play Store app on their user’s devices.
Features
This section describes the features available in the managed Google Play iframe.
For information on how to embed the iframe and implement these features, see
Add the iframe to your console.
Search apps
The Search apps page (shown in Figure 1.) lets IT admins search for, browse, and
select Google Play apps.
Search box
A search box in the title bar is enabled on the page by default. The search box supports features
such as auto-suggest and returns results from apps listed publicly on Google Play. The search
results are displayed within the iframe.
Private apps
Figure 2. Private app details screen
The Private apps page allows IT admins to publish and manage private apps directly from your EMM
console. To streamline private app publishing for IT admins, the page:
Silently creates a Play Console account on behalf of the enterprise and grants admin access to
IT admins.
Waives the $25 USD Play Console registration fee previously required to publish apps.
Publishes apps in as little as 10 minutes (compared to 2 hours in the Play Console). Note: apps published from the Private apps page can never be made public.
The first time an IT admin publishes an app in the iframe, the iframe silently creates a Play
Console account on behalf of the enterprise. If they make advanced edits, they're prompted
to sign in with a Google Account—this can be any Google Account (e.g. Gmail, Cloud Identity).
This Google Account is added as an admin of the enterprise's Play Console account. Afterwards, an
IT admin can use their Google Account to sign into the Play Console directly, where they
can:
After an app is published, an IT admin can edit its title and APK in the app details page. The
app details page also displays a SELECT button (see Figure 2). You need to specify
the action that takes place when the IT admin clicks this button (see
onproductselect in Step 3. Handle iframe
events).
Web apps
Figure 3. The web apps creation form.
The Web apps page lets IT admins publish website shortcuts as private apps to managed Google Play.
Web apps are identifiable by their package name (productId) and typically take 10
minutes to publish. After publishing, they're automatically approved for their enterprise can be
distributed to users just like any other approved app. Web apps are compatible with other managed
Play iframe features: they're searchable in the Play Search page and can be added to
collections.
The web app creation form requires a title, HTTPS or HTTP URL, and icon image (512 x 512 JPG or
32-bit PNG). Additionally, IT admins can choose from the three display options:
Full screen: The app opens in full screen mode, hiding the device's status bar and navigation bar.
Standalone (default): The app shows the device's status bar and navigation bar.
Minimal UI: The app shows the device's status bar and navigation bar, the app's URL, and a refresh
option. For HTTP URLs, this is the only available option.
The Web apps page also lets IT admins edit and delete web apps. Deleting a web app removes it
from a user's managed Google Play store, but the user may still have access to it if the app is
already installed on their device. To delete a web app from a user's device, see
delete apps. Instructions for users on how to
create and edit web apps are available in the
managed Google Play Help
Center.
Select button
After a web app is published, its details page includes a SELECT button. You need to specify the
action (for example, distribute the app) that takes place when the IT admin clicks on this button
(see onproductselect in
Step 3. Handle
iframe events).
Organize apps
Figure 4. The managed Google Play iframe
showing the Organize apps page.
The Organize apps page lets IT admins organize apps into collections (also called
clusters). For example, an IT admin can create an Essentials collection for
frequently used apps or an Expenses collection for apps related to tracking expenses,
logging travel, etc. Collections are displayed in the Play Store homepage on user's devices.
EMM's must utilize the SELECT mode in the iframe URL's parameters to allow searching and adding of apps
to collections.
On user's devices, the Play Store app only displays apps from a collection that are available for
the user (or device). If a collection doesn't include any apps that are available to the user (or
device), the collection won't appear in the Play Store.
Figure 5. App collections (clusters) on a device.
IT admins can also edit, delete, and copy existing collections in the organize apps page. User
instructions for how to perform these tasks are available in the
Managed Google Play Help
Center.
Add the iframe to your console
Step 1. Generate a web token
Call enterprises.webTokens.create to generate a web token
that identifies the enterprise. The response contains the token's value.
Set parentFrameUrl to the URL of the parent frame hosting
the iframe.
Use iframeFeature to specify which features
to enable in the iframe: PLAY_SEARCH, PRIVATE_APPS, WEB_APPS,
STORE_BUILDER (organize apps). If iframeFeature is not set, then the
iframe enables all features by default.
Step 2. Render the iframe
Here's an example of how to render the managed Google Play iframe:
This code generates an iframe inside the container div. Attributes to be
applied to the iframe tag can be set with the 'attributes' option, as previously
mentioned.
URL parameters
The table below lists all the available parameters for the iframe that can be added to the URL
as URL parameters, e.g:
The initial page displayed when the iframe is rendered. Possible values are
PLAY_SEARCH, WEB_APPS, PRIVATE_APPS, and STORE_BUILDER (organize apps). If not specified, the following order
of precedence determines which page is displayed: 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3.
WEB_APPS, 4. STORE_BUILDER.
locale
N/A
No
A well-formed BCP 47 language tag
that is used to localize the content in the iframe. If not specified, the
default value is en_US.
mode
Search apps
No
SELECT: lets IT admins select apps. APPROVE (default): lets IT admins select, approve, and un-approve apps.
Deprecated: This mode is deprecated, use SELECT
instead. This method will no longer be accessible by anyone after September 30, 2025.
APPROVE mode only works if PlaySearch.ApproveApps is set to
true in the web token.
showsearchbox
Search apps
No
TRUE (default): displays the search box and
initiates the search query from within the iframe. FALSE:
the search box is not displayed.
search
Search apps
No
Search string. If specified, the iframe directs the IT admin to search results with
the specified string.
Step 3. Handle iframe events
You should also handle the following events as part of your integration.
Event
Description
onproductselect
The user selects or approves an app. This returns an object containing:
{
"packageName": The package name of the app, e.g. "com.google.android.gm",
"productId": The product ID of the app, e.g. "app:com.google.android.gm",
"action": The type of action performed on the document. Possible values are:
"approved", "unapproved" or "selected." If you implement the iframe in SELECT
mode, the only possible value is "selected".
}
The sample below shows how to listen for onproductselect:
If you or your customer develop an Android app, you can upload it on the Play
Store using the Google Play Console.
If you don't want the app to be publicly available on the Play Store, you can
restrict your app to a single enterprise using Google Play
Console. Another option is to publish a private app programmatically using
the Google Play Custom App Publishing API.
Private apps are only available to the enterprise they are restricted to. They
can still be installed using a policy, but are not be visible to users outside
your enterprise.
[[["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-08-28 UTC."],[],["Managed Google Play enables app distribution and management within organizations. Key actions include: installing apps via policies using package names or the managed Google Play iframe; distributing closed test tracks by targeting organizations; and adding them to device policies via `accessibleTrackIds`. The iframe, embedded in EMM consoles, allows browsing, private app publishing, web app creation, and app organization into collections. IT admins can also manage the iframe features using web tokens and url parameters. Finally, apps can be uploaded using Google play console.\n"]]