Penargetan Tingkat Perangkat

Apa itu Penargetan Tingkat Perangkat?

Dengan Penargetan Tingkat Perangkat, Anda dapat mengirimkan versi lain (mis. resolusi, dll.) dari aset yang sama ke perangkat berdasarkan hardware-nya. Misalnya, Anda dapat memilih untuk mengirim aset resolusi rendah ke perangkat dengan kelas lebih rendah untuk meningkatkan performa, dan memberikan aset resolusi tinggi ke perangkat yang lebih canggih untuk meningkatkan kualitas grafis, semua tanpa menyebabkan peningkatan pada ukuran game secara menyeluruh dengan hanya mengirimkan aset yang diperlukan ke perangkat pengguna. Cara ini dibuat berdasarkan konsep paket aset di Play Asset Delivery. Seperti yang akan Anda lihat di bawah, Anda memiliki kemampuan untuk menentukan kriteria tingkat (untuk saat ini berdasarkan RAM, model perangkat tertentu, atau fitur sistem yang tersedia), dan dapat menggunakan hingga 5 tingkat.

Seperti Play Asset Delivery, Penargetan Tingkat Perangkat mendukung API 16 (Jelly Bean 4.1) dan yang lebih baru, tetapi di perangkat API 19 (KitKat 4.4.X) dan yang lebih lama, tingkat default akan dikirimkan, terlepas dari build perangkatnya.

Perjalanan Developer

Pada level yang tinggi, untuk mengintegrasikan DTT ke dalam game yang sudah ada, Anda harus melakukan langkah-langkah berikut:

  1. Integrasikan Penargetan Tingkat Perangkat (dan dengan demikian juga Play Asset Delivery) dalam game
    • Integrasikan Play Asset Delivery ke dalam game (jika Anda belum melakukannya)
    • Pisahkan aset Anda menjadi paket aset
    • Gabungkan kode dan aset Anda untuk artefak Android App Bundle final yang akan diupload ke Play.
  2. Buat konfigurasi Penargetan Tingkat Perangkat sehingga Play tahu cara mengirimkan aset Anda ke perangkat pengguna.
    • Siapkan Google Play Developer API (jika belum selesai), yang akan Anda gunakan untuk mengirimkan konfigurasi DTT ke Play.
    • Ikuti langkah-langkah untuk membuat konfigurasi DTT.
  3. Upload AAB Anda ke Play, lalu uji untuk memastikan semuanya dikonfigurasi dengan benar

Di bagian pertama, Anda akan melihat fork dalam panduan tersebut, bergantung pada sistem build yang Anda gunakan. Sistem yang Anda pilih bergantung pada komputer yang Anda gunakan, juga penyiapan yang ada.

  • Gradle (direkomendasikan untuk game Java dan Native): Untuk game yang di-build menggunakan Gradle, ikuti langkah-langkah berikut untuk mengonfigurasi sistem build guna mem-build AAB dengan dukungan DTT.
    • Jika Anda mengekspor game ke Gradle, lalu menyelesaikan build di sana, sebaiknya ikuti petunjuk berikut (misalnya, game Unity yang diekspor ke Gradle))
  • Plugin Unity: Kami akan menyediakan paket unity untuk diimpor ke dalam project Unity Anda, yang akan memungkinkan Anda mengonfigurasi dan mem-build AAB dengan dukungan DTT.

Menyiapkan Penargetan Tingkat Perangkat dalam aplikasi

Mengintegrasikan Play Asset Delivery ke dalam game (jika belum selesai)

Dengan Play Asset Delivery (PAD), Anda dapat mengirimkan aset game secara dinamis pada waktu penginstalan atau runtime, dan Anda dapat membaca ringkasannya di sini. Dengan Penargetan Tingkat Perangkat, Play akan mengirimkan paket aset berdasarkan konfigurasi tingkat perangkat yang Anda tentukan untuk berbagai tingkat perangkat. Sebaiknya ikuti panduan di bawah ini dan integrasikan PAD ke dalam game (yaitu buat paket aset, implementasikan pengambilan dalam game Anda), lalu ubah kode project untuk mengaktifkan Penargetan Tingkat Perangkat.

Gradle

Untuk game yang di-build dengan Gradle, gunakan petunjuk ini untuk mem-build paket aset dengan Gradle, lalu ikuti petunjuk untuk mengintegrasikan pengambilan paket aset dalam game:

Unity

Untuk game yang di-build di Unity, Anda akan mengonfigurasi paket aset menggunakan class AssetPackConfig, seperti yang diuraikan dalam petunjuk ini.

Membuat direktori khusus tingkat perangkat

Jika menggunakan Gradle

Sekarang Anda akan membagi aset di antara tingkat N (maks. 5) yang akan Anda tentukan nanti. Buat direktori DTT Anda dengan mengambil direktori paket aset yang ada yang dibuat di langkah terakhir, dan pasca-perbaikan folder yang sesuai (seperti yang dijelaskan di bawah) dengan #tier_0, #tier_1, #tier_2, dll. Saat menggunakan paket aset dalam game, Anda tidak perlu menangani folder dengan postfix (dengan kata lain, postfix akan otomatis dihilangkan selama proses build).

Setelah langkah sebelumnya, tampilannya mungkin seperti ini:

...
.../level1/src/main/assets/character-textures#tier_2/
.../level1/src/main/assets/character-textures#tier_1/
.../level1/src/main/assets/character-textures#tier_0/
...

Saat mengakses file dalam folder, Anda cukup menggunakan jalur yang sama tanpa pasca-perbaikan, (dalam contoh ini - saya akan mereferensikan sebagai level1/assets/character-textures/ tanpa postfix apa pun).

Jika menggunakan Unity

Untuk menambahkan paket aset yang menggunakan DTT, Anda dapat menggunakan metode AssetPackConfig di bawah ini:

/// Package the specified raw assets in the specified folders,
/// keyed by DeviceTier, in an AssetPack with the specified delivery mode.
public void AddAssetsFolders(
    string assetPackName,
    IDictionary<DeviceTier, string> deviceTierToAssetPackDirectoryPath,
    AssetPackDeliveryMode deliveryMode)

/// Package the specified AssetBundle files, which vary only by DeviceTier,
/// in an AssetPack with the specified delivery mode.
public void AddAssetBundles(
    IDictionary<DeviceTier, string> deviceTierToAssetBundleFilePath,
    AssetPackDeliveryMode deliveryMode)

Misalnya, Anda memiliki tiga AssetBundles untuk karakter Anda di berbagai tingkat detail.

Untuk memetakan AssetBundles ini ke tingkat perangkat yang sesuai, gunakan cuplikan berikut.

var assetPackConfig = new AssetPackConfig();
var tiers = new Dictionary<DeviceTier, string>
{
    {0, "Assets/LowPoly/Character"},
    {1, "Assets/Mid/Character"},
    {2, "Assets/Detailed/Character"}
};
assetPackConfig.AddAssetBundles(tiers, AssetPackDeliveryMode.OnDemand);

Mem-build Android App Bundle

Gradle

Dalam file build.gradle project Anda, konfigurasikan dependensi agar memiliki versi di bawah ini (atau yang lebih tinggi) untuk plugin Android Gradle dan bundletool:

buildscript {
  dependencies {
    classpath 'com.android.tools.build:gradle:4.2.0'
    classpath "com.android.tools.build:bundletool:1.7.1"
    ...
  }
  ...
}

Anda juga harus mengupdate versi Gradle ke 6.7.1 atau yang lebih baru. Anda dapat mengupdatenya di gradle/wrapper/gradle-wrapper.properties dalam project Anda.

distributionUrl=https://services.gradle.org/distributions/gradle-6.7.1-all.zip

Terakhir, Anda harus menggunakan Library Play Asset Delivery jika Anda masih menggunakan Library Play Core monolitik, update library ke versi 1.8.3 atau yang lebih baru. Sebaiknya mulailah beralih ke Library Play Asset Delivery dan update ke versi terbaru jika memungkinkan.

dependencies {
  implementation 'com.google.android.play:asset-delivery:2.0.1'
  ...
}

Di file build.gradle modul aplikasi utama, aktifkan pembagian DTT:

android {
  bundle {
    deviceTier {
      enableSplit true
    }
    ...
  }
  ...
}

Terakhir, Anda dapat mem-build Android App Bundle (AAB).

Bundletool

Build paket Anda dengan bundletool, dan saat melakukan langkah untuk menyesuaikan AAB, tambahkan kode berikut ke file BundleConfig.pb Anda.

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

Unity

Setelah mengonfigurasi AssetPackConfig untuk menyertakan paket DTT, Anda dapat meneruskan konfigurasi tersebut ke salah satu metode di bawah ini untuk mem-build AAB:

// Configures the build system to use the newly created assetPackConfig when
// calling Google > Build and Run or Google > Build Android App
Bundle.AssetPackConfigSerializer.SaveConfig(assetPackConfig);
// Alternatively, use BundleTool.BuildBundle to build an App Bundle from script
BuildBundle(new buildPlayerOptions(), assetPackConfig)

Pengujian Lokal

Sebelum melanjutkan, sebaiknya Anda menguji app bundle secara lokal untuk memastikan semuanya telah disiapkan dengan benar. Dengan bundletool (1.8.0 atau yang lebih baru), Anda mem-build dan menguji aplikasi secara lokal, yang secara eksplisit menentukan tingkat perangkat yang benar. Pertama-tama, Anda akan menggunakan build-apks untuk membuat serangkaian file .apks, lalu men-deploy aplikasi ke perangkat terhubung menggunakan install-apks. Anda juga dapat menentukan tingkat yang ingin diinstal melalui flag tingkat perangkat. Anda dapat menemukan informasi metode pengujian lokal ini selengkapnya di sini (perhatikan bahwa halaman ini belum diperbarui untuk DTT, sehingga flag device-tier tidak ada).

bundletool build-apks --bundle=/path/to/app.aab --output=/path/to/app.apks --local-testing
bundletool install-apks --apks=/path/to/app.apks --device-tier=1

Atau: Anda juga dapat menggunakan extract-apks untuk mengekstrak serangkaian APK untuk perangkat tertentu. Namun, menggunakan get-device-spec serta menentukan tingkat perangkat untuk perangkat ini tidak akan berhasil jika diiringi dengan flag --local-testing, yang berarti Anda tidak akan dapat menguji paket aset fast-follow atau on-demand.

bundletool get-device-spec --output=/path/to/device-spec.json --device-tier=1
bundletool extract-apks --apks=/path/to/existing_APK_set.apks --output-dir=/path/to/device_specific_APK_set.apks --device-spec=/path/to/device-spec.json

Unity

Opsi menu Google -> Build and Run akan mem-build dan menjalankan game dengan flag --local-testing yang diaktifkan. Namun, hal ini tidak memungkinkan Anda menentukan tingkat perangkat yang diteruskan ke perintah install-apks.

Jika ingin menentukan tingkat perangkat selain 0, Anda harus:

  1. Mem-build AAB menggunakan opsi menu Google -> Build Android App Bundle.
  2. Mengikuti petunjuk di bagian sebelumnya untuk menjalankan bundletool, build-apks, dan install-apks pada AAB yang di-build.

Membuat Konfigurasi Tingkat Perangkat melalui Google Play Developer API

Memulai Google Play Developer API (jika belum selesai)

Untuk mengonfigurasi Penargetan Tingkat Perangkat (mis., Menentukan persyaratan untuk setiap tingkat), Anda harus menggunakan Android Publisher API untuk mengupload konfigurasi ke Google Play. Anda dapat membaca API ini selengkapnya pada link di atas - ada beberapa langkah yang harus Anda ikuti untuk memulai:

  1. Buat (jika diperlukan) dan tautkan project API Anda ke Konsol Google Play.
  2. Siapkan Klien Akses API.

Anda dapat menemukan referensi API di sini. Nanti, jika memilih untuk mengupload build melalui API, Anda akan menggunakan metode Edits. Selain itu, sebaiknya tinjau halaman ini sebelum menggunakan API.

Menggunakan Device Tier Configuration API

Anda dapat menggunakan panggilan API berikut untuk membuat konfigurasi tingkat perangkat:

Membuat Konfigurasi Tingkat Perangkat

Permintaan HTTP POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Parameter jalur T/A
Isi Permintaan Konfigurasi Tingkat Perangkat
Isi Respons Konfigurasi Tingkat Perangkat
Objek Konfigurasi Tingkat Perangkat

Penentuan tingkat perangkat terdiri dari 2 langkah:

  1. Tentukan serangkaian grup perangkat.
  2. Tentukan serangkaian tingkat perangkat dengan menetapkan level ke grup perangkat.

Grup perangkat adalah serangkaian perangkat yang cocok dengan pemilih yang Anda tentukan dalam konfigurasi.

Pemilih dapat menentukan persyaratan RAM di perangkat dan model perangkat.

Grup diidentifikasi dengan nama yang Anda pilih; grup dapat tumpang-tindih.

Selanjutnya, Anda dapat menentukan rangkaian tingkat perangkat dengan memberi peringkat pada grup: setiap tingkat perangkat ditentukan oleh levelnya dan grup perangkat.

Jika perangkat cocok dengan beberapa tingkat, perangkat akan menerima konten untuk tingkat pencocokan tertinggi.

  {
    device_groups: [
      {
        name: string,
        device_selectors: [
          {
            device_ram: {
              min_bytes: integer
              max_bytes: integer
            },
            included_device_ids: [
              {
                build_brand: string,
                build_device: string
              }
            ],
            excluded_device_ids: [
              {
                build_brand: string,
                build_device: string
              }
            ],
            required_system_features: [
              {
                name: string
              }
            ],
            forbidden_system_features: [
              {
                name: string
              }
            ]
          }
        ]
      }
    ],
    device_tier_set: {
      device_tiers: [
        {
          level: int,
          device_group_names: [string]
        }
      ]
    }
  }

Kolom:

  • device_confid_id (bilangan bulat): ID yang sesuai dengan konfigurasi tingkat perangkat ini.
  • device_groups (objek): Penentuan grup

    • name (string): Nama grup perangkat (ID string yang Anda tentukan).
    • device_selectors (objek): Persyaratan perangkat untuk perangkat yang termasuk dalam grup ini.
    • device_ram (objek): Persyaratan RAM perangkat
      • min_bytes (bilangan bulat, inklusif): RAM minimum yang diperlukan (dalam byte)
      • max_bytes (bilangan bulat, eksklusif): RAM maksimum yang diperlukan (dalam byte)
    • included_device_ids (objek): Model perangkat yang akan disertakan dalam pemilih ini (maks. 10.000 device_ids per grup) Perangkat harus ada dalam daftar ini agar cocok dengan pemilih. Syarat untuk mencocokkan pemilih penuh ini diperlukan, tetapi tidak memadai (lihat catatan di atas tentang menggabungkan persyaratan dalam pemilih)
      • build_brand (string): Produsen perangkat
      • build_device (string): Kode model perangkat
    • excluded_device_ids (objek): Model perangkat untuk dikecualikan dalam pemilih ini (maks. 10.000 device_ids per grup) Perangkat dari daftar ini tidak akan mencocokkan pemilih, meskipun cocok dengan semua persyaratan lainnya di pemilih.
      • build_brand (string): Produsen perangkat
      • build_device (string): Kode model perangkat
    • required_system_features (objek): Fitur yang diperlukan perangkat agar disertakan oleh pemilih ini (maks. 100 fitur per grup). Perangkat harus memiliki semua fitur sistem dalam daftar ini agar cocok dengan pemilih. Syarat untuk mencocokkan pemilih penuh ini diperlukan, tetapi tidak memadai (lihat catatan di atas tentang menggabungkan persyaratan dalam pemilih).

      Referensi fitur sistem

      • name (string): Fitur sistem
    • forbidden_system_features (objek): Fitur yang mana perangkat tidak boleh disertakan oleh pemilih ini (maks. 100 fitur per grup). Jika perangkat memiliki salah satu fitur sistem dalam daftar, perangkat tidak akan cocok dengan pemilih, meski cocok dengan semua persyaratan lain dalam pemilih.

      Referensi fitur sistem

      • name (string): Fitur sistem
  • device_tiers (objek): Penentuan tingkat

    • level (int): Level tingkat
    • group_name (array string): Nama grup perangkat yang termasuk dalam tingkat ini

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.

Berikut adalah contoh konfigurasi dengan 3 tingkat - tingkat 2 menggunakan grup perangkat tinggi (yang mencakup semua perangkat berukuran lebih dari 7 GB dan Pixel 4), tingkat 1 menggunakan grup perangkat medium (yang mencakup semua perangkat antara 4-7 GB), dan tingkat 0, yang secara implisit didefinisikan sebagai grup menyeluruh.

{
  device_groups: [
    {
      name: 'high',
      device_selectors: [
        {
          device_ram: {
            min_bytes: 7516192768
          },
        },
        {
          included_device_ids: [
            {
              build_brand: 'google',
              build_device: 'flame'
            }
          ],
        }
      ]
    },
    {
      name: 'medium',
      device_selectors: [
        {
          device_ram: {
            min_bytes: 4294967296,
            max_bytes: 7516192768
          },
        }
      ]
    }
  ],
  device_tier_set: {
    device_tiers: [
      {
        level: 1,
        device_group_names: [
          'medium'
        ]
      },
      {
        level: 2,
        device_group_names: [
          'high'
        ]
      }
    ]
  }
}

Anda dapat mengikuti petunjuk di bawah ini untuk memvalidasi Konfigurasi Penargetan Perangkat sebelum menguploadnya ke Google Play.

Mendapatkan Konfigurasi Tingkat Perangkat menurut ID

Anda dapat mengambil konfigurasi tingkat perangkat tertentu menurut ID menggunakan panggilan berikut:

Permintaan HTTP GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId}
Parameter jalur T/A
Isi Permintaan T/A
Isi Respons Konfigurasi Tingkat Perangkat

Mendapatkan daftar Konfigurasi Tingkat Perangkat

Anda bisa mendapatkan 10 konfigurasi tingkat perangkat terakhir dengan panggilan berikut (atau secara optimal menentukan serangkaian sepuluh menggunakan parameter kueri page_token):

Permintaan HTTP GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Parameter jalur T/A
Parameter kueri page_token (opsional) - Digunakan untuk menentukan grup tertentu yang terdiri dari 10 DTC. Ini berguna jika Anda telah membuat lebih dari 10 DTC, dan ingin melihat DTC yang dibuat sebelum 10 terbaru.
Isi Permintaan T/A
Isi Respons Daftar Konfigurasi Tingkat Perangkat

page_token

Memvalidasi Konfigurasi Penargetan Perangkat

bundletool menyertakan dua perintah yang membantu Anda memvalidasi bahwa Konfigurasi Penargetan Perangkat berfungsi sebagaimana mestinya sebelum menguploadnya ke Play.

Dengan bundletool print-device-targeting-config, Anda dapat memvalidasi bahwa file JSON secara sintaksis benar dan memvisualisasikan grup perangkat dan tingkat perangkat dalam format yang lebih mudah dibaca.

bundletool print-device-targeting-config --config=mydtc.json

Dengan bundletool evaluate-device-targeting-config, Anda dapat mengevaluasi grup dan tingkat mana yang akan cocok dengan perangkat tertentu. Anda dapat menghubungkan perangkat target ke workstation dan menggunakan flag --connected-device; atau mengompilasi file JSON dengan properti perangkat secara manual dan memberikannya melalui flag --device-properties.

bundletool evaluate-device-targeting-config --config=mydtc.json --connected-device
bundletool evaluate-device-targeting-config --config=mydtc.json --device-properties=deviceproperties.json

File properti perangkat harus berupa file JSON yang mengikuti struktur protobuf DeviceProperties. Misalnya:

{
  "ram": 2057072640,
  "device_id": {
    "build_brand":"google",
    "build_device":"redfin"
  },
  "system_features": [
    {
      "name":"android.hardware.bluetooth"
    },
    {
      "name":"android.hardware.camera"
    }
  ]
}

Mengupload Android App Bundle ke Google Play

Melalui API

Anda dapat menggunakan Google Play Developer API untuk mengupload Android App Bundle ke Google Play, dan menautkan konfigurasi Penargetan Tingkat Perangkat tertentu ke build Anda.

Terdapat ringkasan umum metode Edits di sini, serta contoh yang lebih mendalam tentang merilis ke berbagai jalur di Konsol Google Play (untuk link terakhir, sebaiknya gunakan API yang kompatibel dengan AAB, bukan API yang kompatibel dengan APK, yang tercantum di halaman). Untuk menentukan konfigurasi tingkat perangkat bagi build, Anda akan menambahkan ID konfigurasi ke parameter kueri deviceTierConfigId saat memanggil metode edits.bundle.upload, seperti ini:

https://androidpublisher.googleapis.com/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles?deviceTierConfigId="{deviceTierConfigId}

Melalui Konsol Google Play

Anda dapat mengikuti petunjuk di sini untuk mengupload Android App Bundle. Konfigurasi DTC terbaru akan diterapkan ke App Bundle Anda.

Anda dapat memverifikasi bahwa paket dibuat dengan benar dengan membuka Penjelajah App Bundle (dengan build yang benar dipilih) > Delivery, lalu klik setiap aset paket. Ini akan menunjukkan bahwa Anda memiliki N tingkat yang Anda buat. Dalam contoh ini, saya mendapatkan 3 tingkat - 0, 1, dan 2 untuk paket aset main_asset.

paket aset dengan tiga tingkat

Memverifikasi bahwa tingkat yang benar sedang dikirim

Gunakan metode berikut untuk memastikan hanya tingkat yang benar yang dikirim ke perangkat

adb shell pm path {packageName}

Anda akan melihat yang seperti:

package:{...}/base.apk
package:{...}/split_config.en.apk
package:{...}/split_config.xxhdpi.apk
package:{...}/split_main_asset.apk
package:{...}/split_main_asset.config.tier_2.apk

Tambahan

Mulai Cepat menggunakan Curl

Berikut adalah contoh (menggunakan curl alat command line) membuat konfigurasi tingkat perangkat baru, dan menggunakan Edits API untuk membuat edit baru, mengupload AAB baru (mengaitkannya dengan konfigurasi tingkat perangkat tertentu), menyetel konfigurasi jalur/rilis, dan melakukan pengeditan. (yang akan menjadikan perubahan tersebut publik). Pastikan Anda memiliki lokasi:

  • Kunci yang sesuai dengan klien API Anda
  • Nama paket aplikasi Anda

Pertama, buat konfigurasi tingkat perangkat, dan catat deviceTierConfigId yang akan Anda terima setelah panggilan berhasil.

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" -XPOST -H "Content-Type: application/json" -d "{ device_groups: [ { name: 'high', device_selectors: [ { device_ram: { min_bytes: 7516192768 }, }, { included_device_ids: [ { build_brand: 'google', build_device: 'flame' } ], } ] }, { name: 'medium', device_selectors: [ { device_ram: { min_bytes: 4294967296, max_bytes: 7516192768 }, } ] } ], device_tier_set: { device_tiers: [ { level: 1, device_group_names: [ 'medium' ] }, { level: 2, device_group_names: [ 'high' ] } ] } }" https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs

Mulai pengeditan - Anda akan mendapatkan ID dan expiry time pengeditan. Simpan ID untuk panggilan berikut.

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" -XPOST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits

Upload AAB, dengan menentukan konfigurasi tingkat perangkat sebagai parameter kueri - jika panggilan berhasil, Anda akan melihat kode versi, sha1, dan sha256 build. Simpan kode versi untuk panggilan berikutnya.

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" --data-binary @$HOME/{aabFile} -H "Content-Type: application/octet-stream" -XPOST https://androidpublisher.googleapis.com/upload/androidpublisher/v3/applications/{packageName}/edits/{editID}/bundles?deviceTierConfigId="{dttConfigID}"

Tetapkan AAB ke jalur yang diinginkan (untuk pengujian, sebaiknya gunakan jalur pengujian internal, tetapi Anda dapat membaca berbagai jalur selengkapnya di sini), di sini kita melakukan peluncuran sederhana tanpa catatan rilis, tetapi Anda dapat membaca halaman ini untuk mempelajari lebih lanjut cara meluncurkan peluncuran bertahap, rilis draf, dan catatan rilis. Jika ini pertama kalinya Anda menggunakan Publisher API, sebaiknya buat ini sebagai rilis draf, dan selesaikan rilis di Konsol Google Play untuk memastikan semuanya telah dikonfigurasi dengan benar.

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" -XPUT -H "Content-Type: application/json" -d "{ releases: [{status: '{status}'</code>, <code><strong>versionCodes</strong></code>: <code>['{versionCode}']</code> <code><strong>}]}</strong></code>" <code>https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editID}/tracks/{track}

Commit perubahan (lanjutkan dengan hati-hati, karena tindakan ini akan membuat semua perubahan ditayangkan di Play pada jalur yang diinginkan)

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" -XPOST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/edits/{editID}:commit