REST Resource: applications.deviceTierConfigs

Resource: DeviceTierConfig

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

JSON representation
{
  "deviceTierConfigId": string,
  "deviceGroups": [
    {
      object (DeviceGroup)
    }
  ],
  "deviceTierSet": {
    object (DeviceTierSet)
  },
  "userCountrySets": [
    {
      object (UserCountrySet)
    }
  ]
}
Fields
deviceTierConfigId

string (int64 format)

Output only. The device tier config ID.

deviceGroups[]

object (DeviceGroup)

Definition of device groups for the app.

deviceTierSet

object (DeviceTierSet)

Definition of the set of device tiers for the app.

userCountrySets[]

object (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 (DeviceSelector)
    }
  ]
}
Fields
name

string

The name of the group.

deviceSelectors[]

object (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 (DeviceRam)
  },
  "includedDeviceIds": [
    {
      object (DeviceId)
    }
  ],
  "excludedDeviceIds": [
    {
      object (DeviceId)
    }
  ],
  "requiredSystemFeatures": [
    {
      object (SystemFeature)
    }
  ],
  "forbiddenSystemFeatures": [
    {
      object (SystemFeature)
    }
  ],
  "systemOnChips": [
    {
      object (SystemOnChip)
    }
  ]
}
Fields
deviceRam

object (DeviceRam)

Conditions on the device's RAM.

includedDeviceIds[]

object (DeviceId)

Device models included by this selector.

excludedDeviceIds[]

object (DeviceId)

Device models excluded by this selector, even if they match all other conditions.

requiredSystemFeatures[]

object (SystemFeature)

A device needs to have all these system features to be included by the selector.

forbiddenSystemFeatures[]

object (SystemFeature)

A device that has any of these system features is excluded by this selector, even if it matches all other conditions.

systemOnChips[]

object (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 (int64 format)

Minimum RAM in bytes (bound included).

maxBytes

string (int64 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 (DeviceTier)
    }
  ]
}
Fields
deviceTiers[]

object (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

create

Creates a new device tier config for an app.

get

Returns a particular device tier config.

list

Returns created device tier configs, ordered by descending creation time.