Çeşitli Boyutlara Göre Öğe Hedefleme (İç İçe Yerleştirilmiş Hedefleme)

Bir öğe paketindeki veya paket modülündeki bir klasörü çeşitli boyutlara (doku sıkıştırma biçimi, cihaz katmanı, ülke grubu) göre hedeflemek için iç içe hedefleme kullanabilirsiniz.

İç içe yerleştirilmiş hedefleme, 2 adede kadar hedefleme boyutunu birleştiren hedefleme ölçütlerinin tanımlanmasını sağlar.

Biçim

Bir klasörü birden fazla boyuta göre hedeflemek için bir hashtag son eki dizisindeki boyutlar listesini klasör adına belirtin.

Örneğin, bir öğe klasörünü doku sıkıştırma biçimi ASTC ve cihaz katmanı 2'ye göre hedeflemek için hedefleme şöyle görünür:

...
.../level1/src/main/assets/character-textures#tcf_astc#tier_2/
...

Uygulamanızı oluşturmak için Gradle'ı kullanıyorsanız hedefleme sonekleri, kullanıcı cihazlarına teslim edilen nihai APK'larda veya öğe paketlerinde dizin adından çıkarılır.

Bundletool'u doğrudan kullanıyorsanız sonekin boyutların her biri için ayrı ayrı çıkarılmasını isteyip istemediğinizi BundleConfig.json bölümünde belirtin. Cihaz katmanı hedefleme örneğini kullanarak:

{
  ...
  "optimizations": {
    "splitsConfig": {
      "splitDimension": [
      ...
      {
        "value": "DEVICE_TIER",
        "negate": false,
        "suffixStripping": {
          "enabled": true,
      }],
    }
  }
}

İç içe yerleştirilmiş hedefleme, Bundletool 1.14.1 veya sonraki sürümleri ile Gradle 8.1 veya sonraki sürümlerini gerektiren Android Gradle Eklentisi 8.2.0-alpha01 veya sonraki sürümlerde desteklenir.

Her bir hedefleme boyutuyla ilgili dokümanlarda, her bir boyut için yapılandırmanızı nasıl özelleştireceğiniz hakkında daha fazla bilgi bulabilirsiniz.

Sınırlamalar

  • İç içe yerleştirilmiş en fazla 2 boyut kullanabilirsiniz. Başka bir deyişle, aynı anda cihaz katmanına, doku sıkıştırma biçimine ve ülkeye göre hedeflenmiş bir klasörünüz olamaz. İkisini seçmeniz gerekir.

  • İç içe yerleştirilmiş 2 boyutu klasör yolunun aynı düzeyinde belirtmeniz gerekir. Örneğin, #tcf_astc ve #tier_2 farklı yol segmentlerinde göründüğü için aşağıdaki klasör hedefleme yasaktır:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • İç içe yerleştirilmiş boyutlarınız tüm paketinizde aynı olmalıdır. Örneğin, cihaz katmanlarını ve ülke grubunu iç içe yerleştirdiğiniz bir öğe paketiniz ve ülke ayarı ile doku sıkıştırma biçimini iç içe yerleştirdiğiniz başka bir öğe paketiniz olamaz.

  • 2 boyut için kullandığınız değerler, tüm paket genelinde aynı olmalıdır ve değer kombinasyonunu tam olarak belirtmeniz gerekir. Örneğin, doku sıkıştırma biçimini ve ülke grubunu iç içe yerleştirmek istiyorsanız ve 4 TCF (ASTC, ETC2, PVRTC, varsayılan yedek) ve 3 ülke grubunuz (Latin Amerika, deniz, varsayılan yedek) varsa 12 kombinasyonun tamamı için bir klasör belirtmeniz gerekir:

level1/textures#countries_latam#tcf_astc/…
level1/textures#countries_latam#tcf_etc2/…
level1/textures#countries_latam#tcf_pvrtc/…
level1/textures#countries_latam/…
level1/textures#countries_sea#tcf_astc/…
level1/textures#countries_sea#tcf_etc2/…
level1/textures#countries_sea#tcf_pvrtc/…
level1/textures#countries_sea/…
level1/textures#tcf_astc/…
level1/textures#tcf_etc2/…
level1/textures#tcf_pvrtc/…
level1/textures/…
  • Aynı öğe paketi veya paket modülündeki farklı içerik klasörlerinde hem iç içe yerleştirilmiş hedeflemeyi hem de tek boyutlu hedeflemeyi kullanmanıza izin verilir. Bir boyutu hem tek boyutlu hedeflemede hem de iç içe yerleştirilmiş hedeflemede kullanıyorsanız kullandığınız değer grubu her zaman aynı olmalıdır. Örneğin, tek boyutlu cihaz katmanı hedeflemede 4 katmana göre hedefleme yapamaz ve ülke grupları veya TCF'lerle iç içe yerleştirildiğinde yalnızca 3 katman kullanamazsınız.