Penargetan perangkat (beta)

Penargetan perangkat memberi Anda kontrol yang lebih baik atas bagian app bundle mana yang dikirim ke perangkat tertentu. Misalnya, Anda dapat memastikan bahwa aset besar hanya dikirim ke perangkat dengan RAM tinggi, atau Anda dapat mengirimkan versi aset yang berbeda ke perangkat yang berbeda.

Anda dapat menargetkan properti perangkat seperti:

  • Model perangkat
  • RAM Perangkat
  • Fitur sistem
  • Sistem di chip (untuk perangkat dengan API level minimal 31)

Ringkasan langkah-langkah yang diperlukan

Langkah-langkah berikut diperlukan untuk mengaktifkan penargetan perangkat:

  1. Tentukan grup perangkat Anda dalam file XML.
  2. Tentukan bagian paket yang harus dikirim ke grup perangkat mana.
  3. [Opsional] Uji konfigurasi Anda secara lokal.
  4. Upload paket Anda (yang berisi file XML) ke Google Play.

Memeriksa versi Plugin Android Gradle

Untuk menggunakan penargetan perangkat, pastikan versi Plugin Android Gradle (AGP) Anda setidaknya 8.10.0-alpha01. Paket ini dikemas dengan Android Studio Meerkat 2 dan yang lebih tinggi.

Mengaktifkan penargetan perangkat di Plugin Android Gradle

Penargetan perangkat harus diaktifkan secara eksplisit dalam file gradle.properties Anda:

android.experimental.enableDeviceTargetingConfigApi=true

Membuat file XML konfigurasi penargetan perangkat

File konfigurasi penargetan perangkat adalah file XML tempat Anda menentukan grup perangkat kustom. Misalnya, Anda dapat menentukan grup perangkat bernama high_ram yang berisi semua perangkat dengan RAM minimal 8 GB:

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

Grup perangkat terdiri dari maksimal 5 pemilih perangkat. Perangkat disertakan dalam grup perangkat jika memenuhi salah satu pemilih perangkatnya.

Pemilih perangkat dapat memiliki satu atau beberapa properti perangkat. Perangkat akan dipilih jika cocok dengan semua properti perangkat pemilih.

Properti perangkat yang tersedia

  • device_ram: Persyaratan RAM perangkat
    • min_bytes (inklusif): RAM minimum yang diperlukan (dalam byte)
    • max_bytes (eksklusif): RAM maksimum yang diperlukan (dalam byte)
  • included_device_ids: Model perangkat yang akan disertakan dalam pemilih ini (maks. 10.000 device_ids per grup). Properti ini terpenuhi jika perangkat cocok dengan device_id apa pun dalam daftar.
    • build_brand: Produsen perangkat
    • build_device: Kode model perangkat
  • excluded_device_ids: Model perangkat yang akan dikecualikan dalam pemilih ini (maks. 10.000 device_ids per grup). Properti ini terpenuhi jika perangkat tidak cocok dengan device_id dalam daftar.
    • build_brand: Produsen perangkat
    • build_device: Kode model perangkat
  • required_system_features: Fitur yang diperlukan perangkat agar disertakan oleh pemilih ini (maks. 100 fitur per grup). Perangkat harus memiliki semua fitur sistem dalam daftar ini untuk memenuhi properti ini.

    Referensi fitur sistem

    • name: Fitur sistem
  • forbidden_system_features: Fitur yang tidak boleh disertakan oleh pemilih ini (maks. 100 fitur per grup). Jika perangkat memiliki salah satu fitur sistem dalam daftar ini, perangkat tidak memenuhi properti ini.

    Referensi fitur sistem

    • name: Fitur sistem
  • system-on-chip: Sistem di chip yang akan disertakan dalam pemilih ini. Perangkat harus memiliki chip dalam daftar ini untuk memenuhi properti ini. Sistem di chip hanya dapat ditargetkan di perangkat dengan API level minimal 31.

Menyertakan beberapa properti dalam satu pemilih akan membuat AND logis, misalnya:

  <config:device-selector ram-min-bytes="7000000000">
      <config:included-device-id brand="google" device="flame"/>
  </config:device-selector>

akan membuat kondisi untuk semua perangkat dengan RAM > 7 GB DAN merupakan Pixel 4, yang juga ditulis sebagai berikut:

Jika Anda menginginkan kondisi ATAU, buat pemilih terpisah dalam satu grup perangkat, misalnya:

  <config:device-selector ram-min-bytes="7000000000"/>
  <config:device-selector>
        <config:included-device-id brand="google" device="flame"/>
  </config:device-selector>

akan membuat kondisi untuk semua perangkat dengan RAM > 7 GB ATAU merupakan Pixel 4, yang juga ditulis sebagai berikut:

Berikut adalah contoh yang menunjukkan semua kemungkinan properti perangkat:

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

Kode model perangkat dan produsen perangkat resmi

Anda dapat menemukan pemformatan yang benar untuk produsen dan kode model perangkat menggunakan Katalog Perangkat di Konsol Google Play, dengan salah satu dari opsi berikut:

  • Memeriksa setiap perangkat menggunakan Katalog Perangkat, dan menemukan produsen dan kode model di lokasi seperti yang ditunjukkan pada contoh di bawah ini (Untuk Google Pixel 4a, produsennya adalah "Google" dan kode modelnya adalah "sunfish"):

    halaman pixel 4a di katalog perangkat

    halaman pixel 4a di katalog perangkat

  • Mendownload CSV perangkat yang didukung, dan menggunakan Produsen dan Kode Model untuk masing-masing kolom build_brand dan build_device.

Menyertakan file konfigurasi penargetan perangkat dalam app bundle

Tambahkan kode berikut ke file build.gradle modul utama Anda:

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 adalah jalur file konfigurasi Anda yang relatif terhadap modul utama. Tindakan ini memastikan bahwa file konfigurasi dikemas dengan app bundle Anda.

Klausa deviceGroup memastikan bahwa APK yang dihasilkan dari app bundle Anda dibagi menurut grup perangkat.

Penargetan perangkat untuk Play Feature Delivery

Untuk menggunakan penargetan perangkat dengan Play Feature Delivery, lihat dokumentasi untuk pengiriman bersyarat.