Products

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 
 ) 
  
 ] 
  
}  
 ] 
  
}
}
Property name
Value
Description
Notes
appRestrictionsSchema
nested object
The app restriction schema
appRestrictionsSchema. kind
string
Deprecated.

appRestrictionsSchema. restrictions[]
list
The set of restrictions that make up this schema.
appRestrictionsSchema.restrictions[]. defaultValue
nested object
The default value of the restriction. bundle and bundleArray restrictions never have a default value.
appRestrictionsSchema.restrictions[].defaultValue. type
string
The type of the value being provided.

Acceptable values are:
  • " bool "
  • " bundle "
  • " bundleArray "
  • " choice "
  • " hidden "
  • " integer "
  • " multiselect "
  • " string "
appRestrictionsSchema.restrictions[].defaultValue. valueBool
boolean
The boolean value - this will only be present if type is bool.
appRestrictionsSchema.restrictions[].defaultValue. valueInteger
integer
The integer value - this will only be present if type is integer.
appRestrictionsSchema.restrictions[].defaultValue. valueMultiselect[]
list
The list of string values - this will only be present if type is multiselect.
appRestrictionsSchema.restrictions[].defaultValue. valueString
string
The string value - this will be present for types string, choice and hidden.
appRestrictionsSchema.restrictions[]. description
string
A longer description of the restriction, giving more detail of what it affects.
appRestrictionsSchema.restrictions[]. entryValue[]
list
For 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
For choice or multiselect restrictions, the list of possible entries' human-readable names.
appRestrictionsSchema.restrictions[]. key
string
The unique key that the product uses to identify the restriction, e.g. "com.google.android.gm.fieldname".
appRestrictionsSchema.restrictions[]. nestedRestriction[]
list
For 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
The type of the restriction.

Acceptable values are:
  • " bool "
  • " bundle "
  • " bundleArray "
  • " choice "
  • " hidden "
  • " integer "
  • " multiselect "
  • " string "
appRestrictionsSchema.restrictions[]. title
string
The name of the restriction.
appTracks[]
list
The tracks visible to the enterprise.
appTracks[]. trackAlias
string
A modifiable name for a track. This is the visible name in the play developer console.
appTracks[]. trackId
string
Unmodifiable, unique track identifier. This identifier is the releaseTrackId in the url of the play developer console page that displays the track information.
appVersion[]
list
App versions currently available for this product.
appVersion[]. isProduction
boolean
True if this version is a production APK.
appVersion[]. targetSdkVersion
integer
The SDK version this app targets, as specified in the manifest of the APK. See http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
appVersion[]. track
string
Deprecated, use trackId instead.

Acceptable values are:
  • " alpha "
  • " beta "
  • " production "
appVersion[]. trackId[]
list
Track ids that the app version is published in. Replaces the track field (deprecated), but doesn't include the production track (see isProduction instead).
appVersion[]. versionCode
integer
Unique increasing identifier for the app version.
appVersion[]. versionString
string
The string used in the Play store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be "1.4").
authorName
string
The name of the author of the product (for example, the app developer).
availableCountries[]
list
The countries which this app is available in.
availableTracks[]
list
Deprecated, use appTracks instead.
category
string
The app category (e.g. RACING, SOCIAL, etc.)
contentRating
string
The content rating for this app.

Acceptable values are:
  • " all "
  • " mature "
  • " preTeen "
  • " teen "
description
string
The localized promotional description, if available.
detailsUrl
string
A link to the (consumer) Google Play details page for the product.
distributionChannel
string
How and to whom the package is made available. The value 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
Noteworthy features (if any) of this product.
fullDescription
string
The localized full app store description, if available.
iarcGenericRating
string
The content rating for this app.

Acceptable values are:
  • " eighteenYears "
  • " iarcGenericRatingUnspecified "
  • " sevenYears "
  • " sixteenYears "
  • " threeYears "
  • " twelveYears "
iconUrl
string
A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px.
kind
string
lastUpdatedTimestampMillis
long
The approximate time (within 7 days) the app was last published, expressed in milliseconds since epoch.
minAndroidSdkVersion
integer
The minimum Android SDK necessary to run the app.
permissions[]
list
A list of permissions required by the app.
permissions[]. permissionId
string
An opaque string uniquely identifying the permission.
permissions[]. state
string
Whether the permission has been accepted or not.

Acceptable values are:
  • " accepted "
  • " required "
productId
string
A string of the form app:<package name> . For example, app:com.google.android.gm represents the Gmail app.
productPricing
string
Whether this product is free, free with in-app purchases, or paid. If the pricing is unknown, this means the product is not generally available anymore (even though it might still be available to people who own it).

Acceptable values are:
  • " free "
  • " freeWithInAppPurchase "
  • " paid "
recentChanges
string
A description of the recent changes made to the app.
requiresContainerApp
boolean
Deprecated.
screenshotUrls[]
list
A list of screenshot links representing the app.
signingCertificate
nested object
The certificate used to sign this product.
signingCertificate. certificateHashSha1
string
The base64 urlsafe encoded SHA1 hash of the certificate. (This field is deprecated in favor of SHA2-256. It should not be used and may be removed at any time.)

signingCertificate. certificateHashSha256
string
The base64 urlsafe encoded SHA2-256 hash of the certificate.
smallIconUrl
string
A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px.
title
string
The name of the product.
workDetailsUrl
string
A link to the managed Google Play details page for the product, for use by an Enterprise admin.

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 the approvalUrlInfo.approvalUrl property in a Products.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)
Design a Mobile Site
View Site in Mobile | Classic
Share by: