AI-generated Key Takeaways
- 
          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. |