Page Summary
-
A DeviceTierConfig defines device targeting criteria for app content, including device groups, device tiers, and user country sets.
-
Device groups categorize devices based on criteria like RAM, device models (included/excluded), and system features (required/forbidden).
-
Device tiers determine which app content variation a device receives, based on matching device groups and a defined priority level.
-
User country sets allow for targeting app content based on the user's geographical location.
-
This resource provides methods to create, retrieve, and list device tier configurations.
- Resource: DeviceTierConfig
- DeviceGroup
- DeviceSelector
- DeviceRam
- DeviceId
- SystemFeature
- SystemOnChip
- DeviceTierSet
- DeviceTier
- UserCountrySet
- Methods
Resource: DeviceTierConfig
Configuration describing device targeting criteria for the content of an app.
| JSON representation |
|---|
{ "deviceTierConfigId" : string , "deviceGroups" : [ { object ( |
| Fields | |
|---|---|
deviceTierConfigId
|
Output only. The device tier config ID. |
deviceGroups[]
|
Definition of device groups for the app. |
deviceTierSet
|
Definition of the set of device tiers for the app. |
userCountrySets[]
|
Definition of user country sets for the app. |
DeviceGroup
A group of devices.
A group is defined by a set of device selectors. A device belongs to the group if it matches any selector (logical OR).
| JSON representation |
|---|
{
"name"
:
string
,
"deviceSelectors"
:
[
{
object (
|
| Fields | |
|---|---|
name
|
The name of the group. |
deviceSelectors[]
|
Device selectors for this group. A device matching any of the selectors is included in this group. |
DeviceSelector
Selector for a device group. A selector consists of a set of conditions on the device that should all match (logical AND) to determine a device group eligibility.
For instance, if a selector specifies RAM conditions, device model inclusion and device model exclusion, a device is considered to match if: device matches RAM conditions AND device matches one of the included device models AND device doesn't match excluded device models
| JSON representation |
|---|
{ "deviceRam" : { object ( |
| Fields | |
|---|---|
deviceRam
|
Conditions on the device's RAM. |
includedDeviceIds[]
|
Device models included by this selector. |
excludedDeviceIds[]
|
Device models excluded by this selector, even if they match all other conditions. |
requiredSystemFeatures[]
|
A device needs to have all these system features to be included by the selector. |
forbiddenSystemFeatures[]
|
A device that has any of these system features is excluded by this selector, even if it matches all other conditions. |
systemOnChips[]
|
Optional. The SoCs included by this selector. Only works for Android S+ devices. |
DeviceRam
Conditions about a device's RAM capabilities.
| JSON representation |
|---|
{ "minBytes" : string , "maxBytes" : string } |
| Fields | |
|---|---|
minBytes
|
Minimum RAM in bytes (bound included). |
maxBytes
|
Maximum RAM in bytes (bound excluded). |
DeviceId
Identifier of a device.
| JSON representation |
|---|
{ "buildBrand" : string , "buildDevice" : string } |
| Fields | |
|---|---|
buildBrand
|
Value of Build.BRAND. |
buildDevice
|
Value of Build.DEVICE. |
SystemFeature
Representation of a system feature.
| JSON representation |
|---|
{ "name" : string } |
| Fields | |
|---|---|
name
|
The name of the feature. |
SystemOnChip
Representation of a System-on-Chip (SoC) of an Android device. Can be used to target S+ devices.
| JSON representation |
|---|
{ "manufacturer" : string , "model" : string } |
| Fields | |
|---|---|
manufacturer
|
Required. The designer of the SoC, eg. "Google" Value of build property "ro.soc.manufacturer" https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER Required. |
model
|
Required. The model of the SoC, eg. "Tensor" Value of build property "ro.soc.model" https://developer.android.com/reference/android/os/Build#SOC_MODEL Required. |
DeviceTierSet
A set of device tiers.
A tier set determines what variation of app content gets served to a specific device, for device-targeted content.
You should assign a priority level to each tier, which determines the ordering by which they are evaluated by Play. See the documentation of DeviceTier.level for more details.
| JSON representation |
|---|
{
"deviceTiers"
:
[
{
object (
|
| Fields | |
|---|---|
deviceTiers[]
|
Device tiers belonging to the set. |
DeviceTier
A single device tier.
Devices matching any of the device groups in deviceGroupNames are considered to match the tier.
| JSON representation |
|---|
{ "deviceGroupNames" : [ string ] , "level" : integer } |
| Fields | |
|---|---|
deviceGroupNames[]
|
Groups of devices included in this tier. These groups must be defined explicitly under deviceGroups in this configuration. |
level
|
The priority level of the tier. Tiers are evaluated in descending order of level: the highest level tier has the highest priority. The highest tier matching a given device is selected for that device. You should use a contiguous range of levels for your tiers in a tier set; tier levels in a tier set must be unique. For instance, if your tier set has 4 tiers (including the global fallback), you should define tiers 1, 2 and 3 in this configuration. Note: tier 0 is implicitly defined as a global fallback and selected for devices that don't match any of the tiers explicitly defined here. You mustn't define level 0 explicitly in this configuration. |
UserCountrySet
A set of user countries.
A country set determines what variation of app content gets served to a specific location.
| JSON representation |
|---|
{ "name" : string , "countryCodes" : [ string ] } |
| Fields | |
|---|---|
name
|
Country set name. |
countryCodes[]
|
List of country codes representing countries. A Country code is represented in ISO 3166 alpha-2 format. For Example:- "IT" for Italy, "GE" for Georgia. |
Methods |
|
|---|---|
|
Creates a new device tier config for an app. |
|
Returns a particular device tier config. |
|
Returns created device tier configs, ordered by descending creation time. |
Error codes
The operations of this resource, return the following HTTP error codes:
| Error code | Reason | Resolution |
|---|---|---|
5xx
|
Generic error in the Google Play server. | Retry your request. If the problem persists contact your Google Play account manager or submit a support request. Consider checking the Play Status Dashboard for any known outages. |
409
|
Concurrency update error. There was an attempt to update an object that is being updated. For example, a purchase
is getting acknowledged by calling the Play Billing Library's |
Retry your request. |

