Cihaz hedefleme, uygulama paketinizin hangi bölümlerinin belirli cihazlara dağıtılacağı üzerinde daha ayrıntılı kontrol sahibi olmanızı sağlar. Örneğin, büyük bir öğenin yalnızca yüksek RAM'e sahip cihazlara yayınlanmasını sağlayabilir veya bir öğenin farklı sürümlerini farklı cihazlara yayınlayabilirsiniz.
Aşağıdakiler gibi cihaz özelliklerini hedefleyebilirsiniz:
- Cihaz modeli
- Cihaz RAM'i
- Sistem özellikleri
- Çip üzerinde sistem (API düzeyi en az 31 olan cihazlar için)
Gerekli adımlara genel bakış
Cihaz hedeflemeyi etkinleştirmek için aşağıdaki adımlar gereklidir:
- Cihaz hedefleme yapılandırma dosyasında cihaz gruplarınızı tanımlayın.
- Paketinizin hangi bölümlerinin hangi cihaz gruplarına gönderileceğini belirtin.
- İsteğe bağlı: Yapılandırmanızı yerel olarak test edin.
- Paketinizi (yapılandırma dosyasını içeren) Google Play'e yükleyin.
Android Gradle eklentisi ve Play Unity eklentisi karşılaştırması
Uygulamanızı Android Gradle Eklentisi ile mi yoksa Play Unity Eklentisi ile mi derleyeceğinize bağlı olarak, gereken adımlar değişiklik gösterir. Devam etmeden önce derleme ayarlarınızı seçin:
Android Gradle eklentisi sürümünü kontrol etme
Cihaz hedeflemeyi kullanmak için Android Gradle eklentinizin (AGP) en az 8.10.0-alpha01 sürümüne sahip olduğundan emin olun. Bu paket, Android Studio Meerkat 2 ve sonraki sürümlerde bulunur.
Android Gradle eklentisinde cihaz hedeflemeyi etkinleştirme
Cihaz hedefleme, gradle.properties
dosyanızda açıkça etkinleştirilmiş olmalıdır:
android.experimental.enableDeviceTargetingConfigApi=true
Cihaz hedefleme yapılandırması XML dosyası oluşturma
Cihaz hedefleme yapılandırma dosyası, özel cihaz gruplarınızı tanımladığınız bir XML dosyasıdır. Örneğin, en az 8 GB RAM'e sahip tüm cihazları içeren high_ram
adlı bir cihaz grubu tanımlayabilirsiniz:
<config:device-targeting-config
xmlns:config="http://schemas.android.com/apk/config">
<config:device-group name="high_ram">
<config:device-selector ram-min-bytes="8000000000"/>
</config:device-group>
</config:device-targeting-config>
Cihaz grubu, en fazla 5 cihaz seçiciden oluşur. Bir cihaz, cihaz seçicilerinden herhangi birini karşılıyorsa cihaz grubuna dahil edilir.
Cihaz seçici bir veya daha fazla cihaz özelliğine sahip olabilir. Bir cihaz, seçicinin tüm cihaz özellikleriyle eşleşirse seçilir.
Kullanılabilir cihaz özellikleri
- device_ram: Cihazın RAM gereksinimleri
- min_bytes (dahildir): Gerekli minimum RAM (bayt cinsinden)
- max_bytes (özel): Gerekli maksimum RAM (bayt cinsinden)
- included_device_ids: Bu seçiciye dahil edilecek cihaz modelleri(grup başına en fazla 10.000 device_id). Cihaz, listedeki bir device_id ile eşleşirse bu özellik karşılanır.
- build_brand: Cihaz üreticisi
- build_device: Cihaz modeli kodu
- excluded_device_ids: Bu seçicide hariç tutulacak cihaz modelleri(grup başına en fazla 10.000 device_id). Cihaz, listedeki hiçbir device_id ile eşleşmezse bu özellik karşılanır.
- build_brand: Cihaz üreticisi
- build_device: Cihaz modeli kodu
required_system_features: Bu seçici tarafından dahil edilmesi gereken özellikler (grup başına en fazla 100 özellik). Bu özelliği karşılamak için cihazın bu listedeki tüm sistem özelliklerine sahip olması gerekir.
Sistem özellik referansı
- ad: Sistem özelliği
forbidden_system_features: Bu seçici tarafından cihaza dahil edilmesi gerekmeyen özellikler (grup başına en fazla 100 özellik). Bu listedeki sistem özelliklerinden herhangi birine sahip olan cihazlar bu özelliği karşılamıyordur.
Sistem özellik referansı
- ad: Sistem özelliği
system-on-chip: Bu seçiciye eklenecek çip üzerinde sistemler. Bu özelliği karşılamak için cihazın bu listedeki bir çipe sahip olması gerekir. Sistem çipleri yalnızca API düzeyi en az 31 olan cihazlarda hedeflenmelidir.
- manufacturer: Çip üzerinde sistem üreticisi
- model: Çip üzerinde sistem modeli
Tek bir seçiciye birden fazla mülk eklemek mantıksal bir VE koşulu oluşturur. Örneğin:
<config:device-selector ram-min-bytes="7000000000">
<config:included-device-id brand="google" device="flame"/>
</config:device-selector>
7 GB'tan fazla RAM'e sahip VE Pixel 4 olan tüm cihazlar için koşulu oluşturur. Bu koşul aşağıdaki şekilde de yazılabilir:
VEYA koşulu istiyorsanız tek bir cihaz grubunda ayrı seçici oluşturun. Örneğin:
<config:device-selector ram-min-bytes="7000000000"/>
<config:device-selector>
<config:included-device-id brand="google" device="flame"/>
</config:device-selector>
koşulunu oluşturur. Bu koşul, 7 GB'tan fazla RAM'e sahip tüm cihazlar VEYA Pixel 4 için geçerlidir. Bu koşul aşağıdaki şekilde de yazılabilir:
Olası tüm cihaz özelliklerini gösteren bir örnek aşağıda verilmiştir:
<config:device-targeting-config
xmlns:config="http://schemas.android.com/apk/config">
<config:device-group name="myCustomGroup1">
<config:device-selector ram-min-bytes="8000000000">
<config:included-device-id brand="google" device="redfin"/>
<config:included-device-id brand="google" device="sailfish"/>
<config:included-device-id brand="good-brand"/>
<config:excluded-device-id brand="google" device="caiman"/>
<config:system-on-chip manufacturer="Sinclair" model="ZX80"/>
<config:system-on-chip manufacturer="Commodore" model="C64"/>
</config:device-selector>
<config:device-selector ram-min-bytes="16000000000"/>
</config:device-group>
<config:device-group name="myCustomGroup2">
<config:device-selector ram-min-bytes="4000000000" ram-max-bytes="8000000000">
<config:required-system-feature name="android.hardware.bluetooth"/>
<config:required-system-feature name="android.hardware.location"/>
<config:forbidden-system-feature name="android.hardware.camera"/>
<config:forbidden-system-feature name="mindcontrol.laser"/>
</config:device-selector>
</config:device-group>
</config:device-targeting-config>
Resmî cihaz üreticisi ve cihaz modeli kodları
Google Play Console'daki cihaz kataloğunu kullanarak cihaz üreticisi ve model kodu için doğru biçimlendirmeyi aşağıdaki yöntemlerden birini kullanarak bulabilirsiniz:
Cihaz Kataloğu'nu kullanarak cihazları tek tek inceleyin ve aşağıdaki örnekte gösterilen konumlarda üretici ile model kodunu bulun (Google Pixel 4a için üretici "Google", model kodu ise "sunfish"tir):
Desteklenen cihazların CSV dosyasını indirip build_brand ve build_device alanları için sırasıyla Üretici ve Model Kodu'nu kullanın.
Cihaz hedefleme yapılandırma dosyanızı uygulama paketinize ekleme
Ana modülünüzünbuild.gradle
dosyasına aşağıdakileri ekleyin:
android {
...
bundle {
deviceTargetingConfig = file('device_targeting_config.xml')
deviceGroup {
enableSplit = true // split bundle by #group
defaultGroup = "other" // group used for standalone APKs
}
}
...
}
device_targeting_config.xml
, yapılandırma dosyanızın ana modüle göre yoludur. Bu işlem, yapılandırma dosyanızın uygulama paketinizle birlikte paketlenmesini sağlar.
deviceGroup
yan tümcesi, paketinizden oluşturulan APK'ların cihaz gruplarına göre bölünmesini sağlar.
Play Feature Delivery için cihaz hedefleme
Play Feature Delivery ile cihaz hedeflemeyi kullanmak için koşullu yayınlama dokümanlarını inceleyin.
Play Asset Delivery için cihaz hedefleme
Play Asset Delivery ile cihaz hedeflemeyi kullanmak için öğe paketleriyle ilgili dokümanlara bakın.
Hata bildir
Hataları herkese açık Sorun İzleyici'ye bildirin.