For a list of methods for this resource, see the end of this page.
Resource representations
A Products resource represents an app in the Google Play store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.)
The information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.
{ "kind" : "androidenterprise#product" , "productId" : string , "title" : string , "authorName" : string , "iconUrl" : string , "smallIconUrl" : string , "detailsUrl" : string , "workDetailsUrl" : string , "requiresContainerApp" : boolean , "appVersion" : [ { "versionString" : string , "versionCode" : integer , "track" : string , "targetSdkVersion" : integer , "trackId" : [ string ], "isProduction" : boolean } ], "distributionChannel" : string , "productPricing" : string , "signingCertificate" : { "certificateHashSha256" : string , "certificateHashSha1" : string } , "availableTracks" : [ string ], "appTracks" : [ { "trackId" : string , "trackAlias" : string } ], "description" : string , "fullDescription" : string , "screenshotUrls" : [ string ], "category" : string , "recentChanges" : string , "minAndroidSdkVersion" : integer , "contentRating" : string , "lastUpdatedTimestampMillis" : long , "permissions" : [ { "permissionId" : string , "state" : string } ], "availableCountries" : [ string ], "features" : [ string ], "iarcGenericRating" : string , "appRestrictionsSchema" : { "kind" : string , "restrictions" : [ { "key" : string , "title" : string , "restrictionType" : string , "description" : string , "entry" : [ string ], "entryValue" : [ string ], "defaultValue" : { "type" : string , "valueBool" : boolean , "valueString" : string , "valueInteger" : integer , "valueMultiselect" : [ string ] } , "nestedRestriction" : [ ( AppRestrictionsSchemaRestriction ) ] } ] } }
appRestrictionsSchema
nested object
appRestrictionsSchema.
kind
string
appRestrictionsSchema.
restrictions[]
list
appRestrictionsSchema.restrictions[].
defaultValue
nested object
bundle
and bundleArray
restrictions never have a default value. appRestrictionsSchema.restrictions[].defaultValue.
type
string
Acceptable values are:
- "
bool
" - "
bundle
" - "
bundleArray
" - "
choice
" - "
hidden
" - "
integer
" - "
multiselect
" - "
string
"
appRestrictionsSchema.restrictions[].defaultValue.
valueBool
boolean
appRestrictionsSchema.restrictions[].defaultValue.
valueInteger
integer
appRestrictionsSchema.restrictions[].defaultValue.
valueMultiselect[]
list
appRestrictionsSchema.restrictions[].defaultValue.
valueString
string
appRestrictionsSchema.restrictions[].
description
string
appRestrictionsSchema.restrictions[].
entryValue[]
list
choice
or multiselect
restrictions, the list of possible entries' machine-readable values. These values should be used in the configuration, either as a single string
value for a choice
restriction or in a stringArray
for a multiselect
restriction. appRestrictionsSchema.restrictions[].
entry[]
list
choice
or multiselect
restrictions, the list of possible entries' human-readable names. appRestrictionsSchema.restrictions[].
key
string
appRestrictionsSchema.restrictions[].
nestedRestriction[]
list
bundle
or bundleArray
restrictions, the list of nested restrictions. A bundle
restriction is always nested within a bundleArray
restriction, and a bundleArray
restriction is at most two levels deep. appRestrictionsSchema.restrictions[].
restrictionType
string
Acceptable values are:
- "
bool
" - "
bundle
" - "
bundleArray
" - "
choice
" - "
hidden
" - "
integer
" - "
multiselect
" - "
string
"
appRestrictionsSchema.restrictions[].
title
string
appTracks[]
list
appTracks[].
trackAlias
string
appTracks[].
trackId
string
appVersion[]
list
appVersion[].
isProduction
boolean
appVersion[].
targetSdkVersion
integer
appVersion[].
track
string
trackId
instead.Acceptable values are:
- "
alpha
" - "
beta
" - "
production
"
appVersion[].
trackId[]
list
track
field (deprecated), but doesn't include the production track (see isProduction
instead). appVersion[].
versionCode
integer
appVersion[].
versionString
string
availableCountries[]
list
availableTracks[]
list
appTracks
instead.category
string
contentRating
string
Acceptable values are:
- "
all
" - "
mature
" - "
preTeen
" - "
teen
"
description
string
detailsUrl
string
distributionChannel
string
publicGoogleHosted
means that the package is available through the Play store and not restricted to a specific enterprise. The value privateGoogleHosted
means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted
means that the package is a private app (restricted to an enterprise) and is privately hosted.Acceptable values are:
- "
privateGoogleHosted
" - "
privateSelfHosted
" - "
publicGoogleHosted
"
features[]
list
fullDescription
string
iarcGenericRating
string
Acceptable values are:
- "
eighteenYears
" - "
iarcGenericRatingUnspecified
" - "
sevenYears
" - "
sixteenYears
" - "
threeYears
" - "
twelveYears
"
iconUrl
string
kind
string
lastUpdatedTimestampMillis
long
minAndroidSdkVersion
integer
productId
string
app:<package name>
. For example, app:com.google.android.gm
represents the Gmail app.productPricing
string
Acceptable values are:
- "
free
" - "
freeWithInAppPurchase
" - "
paid
"
recentChanges
string
requiresContainerApp
boolean
screenshotUrls[]
list
signingCertificate
nested object
signingCertificate.
certificateHashSha1
string
signingCertificate.
certificateHashSha256
string
smallIconUrl
string
title
string
workDetailsUrl
string
Methods
- approve
-
Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000.
To learn how to use managed Google Play to design and create a store layout to display approved products to your users, see Store Layout Design .
- generateApprovalUrl
-
Generates a URL that can be rendered in an iframe to display the
permissions (if any) of a product. An enterprise admin must view these
permissions and accept them on behalf of their organization in order to
approve that product.
Admins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as theapprovalUrlInfo.approvalUrl
property in aProducts.approve
call to approve the product. This URL can only be used to display permissions for up to 1 day. - get
- Retrieves details of a product for display to an enterprise admin.
- getAppRestrictionsSchema
- Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play .
- getPermissions
- Retrieves the Android app permissions required by this app.
- list
- Finds approved products that match a query, or all approved products if there is no query.
- unapprove
- Unapproves the specified product (and the relevant app permissions, if any)