Device targeting gives you finer control over which parts of your app bundle are delivered to specific devices. For example, you could ensure that a large asset is only delivered to devices with high RAM, or you could deliver different versions of an asset to different devices.
You can target device properties such as:
- Device model
- Device RAM
- System features
- System on chip (for devices with API level at least 31)
Overview of required steps
The following steps are required to enable device targeting:
- Define your device groups in a device targeting configuration file.
- Specify which parts of your bundle should go to which device groups.
- Optional: Test your configuration locally.
- Upload your bundle (containing the configuration file) to Google Play.
Android Gradle Plugin versus Play Unity Plugin
The exact steps required are different depending on whether you are building your app with the Android Gradle Plugin or with the Play Unity Plugin. Before proceeding, select your build setup:
A device group is composed of up to 5 device selectors. A device is included in a device group if it satisfies any of its device selectors.
A device selector can have one or more device properties. A device is selected if it matches all of the selector's device properties.
Available device properties
- device_ram: Device RAM requirements
- min_bytes (inclusive): Minimum required RAM (in bytes)
- max_bytes (exclusive): Maximum required RAM (in bytes)
- included_device_ids: Device models to be included in this selector
(max of 10000 device_ids per group). This property is satisfied if the
device matches any device_id in the list.
- build_brand: Device manufacturer
- build_device: Device model code
- excluded_device_ids: Device models to be excluded in this selector
(max of 10000 device_ids per group). This property is satisfied if the
device matches no device_id in the list.
- build_brand: Device manufacturer
- build_device: Device model code
required_system_features: Features that a device needs to have to be included by this selector (max of 100 features per group). A device needs to have all system features in this list to satisfy this property.
System feature reference
- name: A system feature
forbidden_system_features: Features that a device mustn't have to be included by this selector (max of 100 features per group). If a device has any of the system features in this list it doesn't satisfy this property.
System feature reference
- name: A system feature
system-on-chip: System on chips to be included in this selector. A device needs to have any chip in this list to satisfy this property. System on chips can only be targeted on devices with API level at least 31.
- manufacturer: System on chip manufacturer
- model: System on chip model
Including multiple properties in a single selector creates a logical AND, for example:
will create the condition for all devices with > 7GB of RAM AND it is a Pixel 4, also written as follows:
If you want an OR condition, create separate selectors in a single device group, for example:
will create the condition for all devices with > 7GB of RAM OR it is a Pixel 4, also written as follows:
Here is an example showing all possible device properties:
Official device manufacturer and device model codes
You can find the correct formatting for the device manufacturer and model code by using the Device Catalog on the Google Play Console, by either:
Inspecting individual devices using the Device Catalog, and finding the manufacturer and model code in the locations as shown in the example below (For a Google Pixel 4a, the manufacturer is "Google" and the model code is "sunfish"):
Downloading a CSV of supported devices, and using the Manufacturer and Model Code for the build_brand and build_device fields, respectively.
Include your device targeting configuration file in your app bundle
Device targeting for Play Feature Delivery
To use device targeting with Play Feature Delivery, see the documentation for conditional delivery.
Device targeting for Play Asset Delivery
To use device targeting with Play Asset Delivery, see the documentation for asset packs.
Report bugs
Report any bugs on the public Issue Tracker.