- [Resource: DeviceTierConfig](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierConfig)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierConfig.SCHEMA_REPRESENTATION)
- [DeviceGroup](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceGroup)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceGroup.SCHEMA_REPRESENTATION)
- [DeviceSelector](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceSelector)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceSelector.SCHEMA_REPRESENTATION)
- [DeviceRam](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceRam)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceRam.SCHEMA_REPRESENTATION)
- [DeviceId](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId.SCHEMA_REPRESENTATION)
- [SystemFeature](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature.SCHEMA_REPRESENTATION)
- [SystemOnChip](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemOnChip)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemOnChip.SCHEMA_REPRESENTATION)
- [DeviceTierSet](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierSet)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierSet.SCHEMA_REPRESENTATION)
- [DeviceTier](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTier)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTier.SCHEMA_REPRESENTATION)
- [UserCountrySet](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#UserCountrySet)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#UserCountrySet.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#METHODS_SUMMARY)

## Resource: DeviceTierConfig

Configuration describing device targeting criteria for the content of an app.

| JSON representation |
|---|
| ``` { "deviceTierConfigId": string, "deviceGroups": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceGroup`) } ], "deviceTierSet": { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierSet`) }, "userCountrySets": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#UserCountrySet`) } ] } ``` |

| Fields ||
|---|---|
| `deviceTierConfigId` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The device tier config ID. |
| `deviceGroups[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceGroup`)`` Definition of device groups for the app. |
| `deviceTierSet` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTierSet`)`` Definition of the set of device tiers for the app. |
| `userCountrySets[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#UserCountrySet`)`` 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 (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceSelector`) } ] } ``` |

| Fields ||
|---|---|
| `name` | `string` The name of the group. |
| `deviceSelectors[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceSelector`)`` 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 (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceRam`) }, "includedDeviceIds": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId`) } ], "excludedDeviceIds": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId`) } ], "requiredSystemFeatures": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature`) } ], "forbiddenSystemFeatures": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature`) } ], "systemOnChips": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemOnChip`) } ] } ``` |

| Fields ||
|---|---|
| `deviceRam` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceRam`)`` Conditions on the device's RAM. |
| `includedDeviceIds[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId`)`` Device models included by this selector. |
| `excludedDeviceIds[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceId`)`` Device models excluded by this selector, even if they match all other conditions. |
| `requiredSystemFeatures[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature`)`` A device needs to have all these system features to be included by the selector. |
| `forbiddenSystemFeatures[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemFeature`)`` A device that has any of these system features is excluded by this selector, even if it matches all other conditions. |
| `systemOnChips[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#SystemOnChip`)`` 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` | `string (https://developers.google.com/discovery/v1/type-format format)` Minimum RAM in bytes (bound included). |
| `maxBytes` | `string (https://developers.google.com/discovery/v1/type-format format)` Maximum RAM in bytes (bound excluded). |

## DeviceId

Identifier of a device.

| JSON representation |
|---|
| ``` { "buildBrand": string, "buildDevice": string } ``` |

| Fields ||
|---|---|
| `buildBrand` | `string` Value of Build.BRAND. |
| `buildDevice` | `string` Value of Build.DEVICE. |

## SystemFeature

Representation of a system feature.

| JSON representation |
|---|
| ``` { "name": string } ``` |

| Fields ||
|---|---|
| `name` | `string` 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` | `string` 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` | `string` 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 (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTier`) } ] } ``` |

| Fields ||
|---|---|
| `deviceTiers[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs#DeviceTier`)`` 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[]` | `string` Groups of devices included in this tier. These groups must be defined explicitly under deviceGroups in this configuration. |
| `level` | `integer` 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` | `string` Country set name. |
| `countryCodes[]` | `string` 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 ||
|---|---|
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs/create` | Creates a new device tier config for an app. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs/get` | Returns a particular device tier config. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/applications.deviceTierConfigs/list` | 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 | Description | Resolution |
|---|---|---|---|