Asset-Targeting nach Land

Was ist Inhalts-Targeting nach Land?

Beim Asset-Targeting nach Land können Sie verschiedene Versionen (z. B. Auflösungen) desselben Assets auf Geräten je nach Land wo sich die Nutzenden befinden. Sie können beispielsweise maßgeschneiderte in verschiedenen Ländern verfügbar, in denen Ihre App verfügbar ist. die Spielgröße insgesamt erhöht, indem nur die notwendige Assets für die Geräte. Dies baut auf dem Konzept der Asset-Packs in der Asset Delivery von Google Play Wie Sie sehen, können Sie die Ausrichtungskriterien mit bis zu 20 Ländern, festgelegt. In diesem Zusammenhang ist das Geräteland Diese wird in der Regel anhand der Rechnungsadresse ermittelt, die in ihrem Google-Konto hinterlegt ist. Google Play-Konto.

Wie bei Play Asset Delivery wird auch beim Targeting nach Ländern Android 4.1 (API-Level) unterstützt. 16) und höher. Auf Geräten mit Android 4.4 (API-Level 19) oder niedriger wird das standardmäßig festgelegte Land unabhängig vom Standort des Nutzers ausgeliefert.

Vorgehensweise für Entwickler

Um die länderbasierte Ausrichtung in Ihr Spiel zu integrieren, führen Sie die folgenden Schritte aus:

  1. Länderspezifische Ausrichtung (und damit Play Asset Delivery) integrieren innerhalb deines Spiels <ph type="x-smartling-placeholder">
      </ph>
    • Integriere Play Asset Delivery in dein Spiel (falls du noch bereits erledigt haben)
    • Assets in Asset-Packs aufteilen
    • Verpacken Sie Code und Assets, um die finale Android App Bundle-Artefakt, das Sie bei Google Play hochladen
  2. Konfiguration für die Ausrichtung auf Geräte erstellen, damit Google Play wie Assets auf Nutzergeräten bereitgestellt werden.
    • Richten Sie die Google Play Developer API ein (falls noch nicht geschehen) Damit senden Sie die Targeting-Konfigurationen an Google Play.
    • Führen Sie die Schritte zum Erstellen der Targeting-Konfiguration aus.
  3. Lade dein AAB bei Google Play hoch und teste, ob alles funktioniert richtig konfiguriert

Gradle wird als Build-System für Java und native Spiele empfohlen. So konfigurieren Sie das Build-System für Spiele, die mit Gradle erstellt wurden um Ihr AAB mit Unterstützung für die Länderausrichtung zu erweitern.

Wenn Sie Ihr Spiel nach Gradle exportieren, schließen Sie den Build dort ab. folgen Sie diesen Anweisungen (z. B. Unity-Spiele nach Gradle exportiert.

Richten Sie in Ihrer App Asset-Ausrichtung nach Land ein

Integration von Play Asset Delivery in dein Spiel (falls noch nicht abgeschlossen)

Mit Play Asset Delivery (PAD) kannst du die Assets bei der Installation oder Laufzeit und Sie können einen Überblick. Mit mit der Ausrichtung nach Land, liefert Google Play die Inhalte Ihrer Asset-Packs zu den Länderkonfigurationen, die Sie für verschiedene Nutzerstandorte vorgeschrieben haben. Es wird empfohlen, der Anleitung unten zu folgen und PAD in Ihr Spiel (z.B. Asset-Packs erstellen, Abruf in Ihrem Spiel implementieren), und ändern Sie dann den Projektcode, um die Ausrichtung nach Land zu aktivieren.

Logo: Gradle

Folgen Sie bei Spielen, die mit Gradle erstellt wurden, dieser Anleitung für Erstellen von Asset-Packs mit Gradle Folgen Sie dann der Anleitung zum Integrieren des Asset-Pack-Abrufs innerhalb deines Spiels:

Länderspezifische Verzeichnisse erstellen

Bei Verwendung von Gradle

Sie teilen nun Ihre Assets auf die Ländergruppen auf (max. 20), definieren können. Erstellen Sie Ihre Zielverzeichnisse, indem Sie die vorhandenen Asset-Set-Verzeichnisse erstellen, die im letzten Schritt erstellt wurden, und anschließend, entsprechenden Ordner (wie unten beschrieben) mit den Attributen #countries_latam, #countries_na, Wenn Sie die Asset-Packs in Ihrem Spiel verwenden, nach postfix (mit anderen Worten, das Postfix wird automatisch während des Build-Prozesses entfernt werden).

Nach dem vorherigen Schritt könnte das so aussehen:

...
.../level1/src/main/assets/character-textures#countries_latam/
.../level1/src/main/assets/character-textures#countries_na/
.../level1/src/main/assets/character-textures/
...

Wenn Sie auf die Dateien im Ordner zugreifen, können Sie einfach dasselbe Verzeichnis ohne Beitragskorrektur (in diesem Beispiel würde ich als level1/assets/character-textures/ ohne Postfixes).

Android App Bundle erstellen

Logo: Gradle

Konfigurieren Sie in der Datei build.gradle Ihres Projekts die Abhängigkeiten so, dass die Versionen unten (oder höher) für Android-Gradle-Plug-in und bundletool:

buildscript {
  dependencies {
    classpath 'com.android.tools.build:gradle:8.1.0-alpha01'
    classpath "com.android.tools.build:bundletool:1.14.0"
    ...
  }
  ...
}

Außerdem müssen Sie Ihre Gradle-Version auf 8.0 oder höher aktualisieren. Du kannst dies in den gradle/wrapper/gradle-wrapper.properties aktualisieren innerhalb Ihres Projekts.

distributionUrl=https://services.gradle.org/distributions/gradle-8.0-rc-1-all.zip

Zum Schluss müssen Sie die Asset Delivery Library von Play verwenden. wenn Sie noch monolithische Play Core Library auf Version 1.8.3 oder höher aktualisieren. Wir empfehlen, zur Play Asset Delivery Library wechseln und auf die neueste Version aktualisieren wenn möglich.

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

Aktiviere in der Datei build.gradle des Hauptmoduls die Länder-Targeting-Aufteilung:

android {
  bundle {
    countrySet {
      enableSplit true
    }
    ...
  }
  ...
}

Schließlich können Sie Ihr Android App Bundle (AAB) erstellen.

Bündeltool

Sets mit Bundletool zusammen und während Sie Ihr AAB anpassen, Fügen Sie Ihrer BundleConfig.pb-Datei Folgendes hinzu:

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

Lokale Tests

Bevor Sie fortfahren, sollten Sie Ihr App Bundle lokal testen, überprüfen Sie, ob alles korrekt eingerichtet ist. Mit bundletool (1.14.0 oder höher), Sie Ihre App lokal erstellen und testen und dabei das richtige Land angeben. Zuerst verwenden Sie build-apks zum Generieren eines .apks-Dateien herunterladen und die App dann auf einem verbundenen Gerät bereitstellen mit install-apks. Sie können auch über die Flag country-set. Weitere Informationen zu dieser Methode hier (Hinweis: diese Seite wurde noch nicht für die Länderausrichtung aktualisiert und fehlt daher Flag country-set).

bundletool build-apks --bundle=/path/to/app.aab --output=/path/to/app.apks --local-testing
bundletool install-apks --apks=/path/to/app.apks --country-set=latam

Alternativ: Sie können auch extract-apks zum Extrahieren: Satz von APKs für ein bestimmtes Gerät Mit get-device-spec zusammen mit dem Land für dieses Gerät, funktionieren nicht in Verbindung mit dem Flag --local-testing. Sie können also Schnell-Follow- oder On-Demand-Asset-Packs testen können.

bundletool get-device-spec --output=/path/to/device-spec.json --country-set=latam
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

Konfiguration für die Ausrichtung auf Geräte über die Google Play Developer API erstellen

Erste Schritte mit der Google Play Developer API (falls noch nicht abgeschlossen)

Um die länderbasierte Ausrichtung zu konfigurieren (d.h. Ihre Ländereinstellungen festzulegen), gehen Sie wie folgt vor: müssen Sie den Android Publisher API um Ihre Konfiguration bei Google Play hochzuladen. Weitere Informationen zur API finden Sie unter oben klicken. Es gibt einige die ersten Schritte:

  1. Erstelle bei Bedarf dein API-Projekt und verknüpfe es mit der Google Play Console.
  2. API-Zugriffsclient einrichten

Sie finden die API-Referenz, hier - Wenn Sie später Ihren Build über die API hochladen, mithilfe der Bearbeitungsmethoden: Außerdem wird empfohlen, diese Seite ansehen bevor Sie die API verwenden.

Konfigurations-API für das Geräte-Targeting verwenden

Mit dem folgenden API-Aufruf können Sie die Konfiguration für die Ausrichtung auf Geräte erstellen:

Konfiguration für Ausrichtung auf Geräte erstellen

HTTP-Anfrage POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Pfadparameter
Anfragetext Konfiguration für die Ausrichtung auf Geräte
Antworttext Konfiguration für die Ausrichtung auf Geräte
Konfigurationsobjekt für die Ausrichtung auf Geräte
{
  "user_country_sets": [
    {
      "name": "latam",
      "country_codes": [
        "AR",
        "BR",
        ...
      ]
    },
    {
      "name": "sea",
      "country_codes": [
        "VN",
        "TW",
        ...
      ]
    }
  ]
}

Felder:

  • device_confid_id (Ganzzahl): ID für dieses Gerät Targeting-Konfiguration.
  • user_country_sets (Objekt): Ländergruppendefinitionen <ph type="x-smartling-placeholder">
      </ph>
    • name (String): Der Name der Länderauswahl (eine von Ihnen definierte String-ID).
    • country_codes (String): Länder, die zu dieser Ländergruppe gehören (Format: ISO 3166-1 alpha-2).

Folgen Sie der Anleitung unten für Ihre Konfiguration für die Ausrichtung auf Geräte zu validieren, bei Google Play hochladen.

Konfiguration für Ausrichtung auf Geräte nach ID abrufen

Sie können eine bestimmte Konfiguration für das Targeting auf Geräte anhand der ID abrufen. Verwenden Sie dazu den folgenden Aufruf:

HTTP-Anfrage GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId}
Pfadparameter
Anfragetext
Antworttext Konfiguration für die Ausrichtung auf Geräte

Liste der Konfigurationen für die Ausrichtung auf Geräte abrufen

Mit dem folgenden Aufruf können Sie die letzten zehn Konfigurationen für die Ausrichtung auf Geräte abrufen. Sie können auch einen Satz von zehn sollen mithilfe des Abfrageparameters page_token angeben:

HTTP-Anfrage GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Pfadparameter
Abfrageparameter page_token (optional): Wird verwendet, um ein Token anzugeben. Gruppe von 10 DTCs fest. Dies ist nützlich, wenn Sie mehr als zehn DTCs vorhanden sind, und wir würden gerne sehen, welche DTCs erstellt wurden, vor den letzten 10.
Anfragetext
Antworttext Liste der Konfigurationen für die Ausrichtung auf Geräte

page_token

Konfiguration der Ausrichtung auf Geräte validieren

bundletool enthält zwei Befehle, mit denen Sie prüfen können, ob Ihr Gerät Die Targeting-Konfiguration funktioniert vor dem Hochladen in Google Play wie vorgesehen.

Mit bundletool print-device-targeting-config können Sie prüfen, ob Ihre JSON-Datei syntaktisch korrekt ist.

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

Mit bundletool evaluate-device-targeting-config können Sie auswerten, die für ein bestimmtes Gerät gelten. Sie können dem Nutzer durch die Flagge --country-code.

bundletool evaluate-device-targeting-config --config=mydtc.json --connected-device --country-code=AR

Android App Bundle bei Google Play hochladen

Über API

Du kannst dein Android App Bundle mit der Google Play Developer API hochladen mit Google Play verknüpft und eine bestimmte Konfiguration für die Ausrichtung auf Geräte Ihren Build.

Es gibt eine Allgemeine Übersicht über die Bearbeitungsmethoden, zusammen mit genauere Beispiele für Veröffentlichungen in den verschiedenen Tracks in der Google Play Console (Für den letzten Link verwenden Sie die Methode AAB-freundliche APIs anstelle des APK-freundliche API die auf der Seite aufgeführt sind). So legen Sie die Konfiguration für das Geräte-Targeting fest für Ihrem Build hinzufügen, fügen Sie dem deviceTierConfigId die Konfigurations-ID hinzu. Abfrageparameter edits.bundle.upload-Methode so:

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

Über die Google Play Console

Eine Anleitung dazu finden Sie hier. um dein Android App Bundle hochzuladen. Die neueste DTC-Konfiguration ist auf Ihr App Bundle angewendet.

Überprüfen, ob die richtigen Assets bereitgestellt werden

Verwenden Sie die folgende Methode, um sicherzustellen, dass nur die richtigen Assets bereitgestellt werden zum Gerät

adb shell pm path {packageName}

Die Ausgabe sollte etwa so aussehen:

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

Zusatz

Schnellstart mit Curl

Nachfolgend sehen Sie ein Beispiel mit dem curl-Befehlszeilentool Erstellen einer neuen Konfiguration für die Ausrichtung auf Geräte und Erstellen Sie mit der Edits API eine neue Änderung, laden Sie ein neues AAB hoch (durch Verknüpfung mit einer bestimmten Konfiguration für das Geräte-Targeting), legen Sie die Konfiguration für Tracks/Releases fest und übernehmen Sie den Commit. der Änderung. (damit die Änderung öffentlich gemacht wird). Achten Sie darauf, Standort von:

  • Den Schlüssel für Ihren API-Client
  • Der Paketname Ihrer App

Erstellen Sie zunächst eine Konfiguration für die Ausrichtung auf Geräte und notieren Sie sich die deviceTierConfigId, die Sie bei einem erfolgreichen Anruf erhalten.

curl -H "$(oauth2l header --json $HOME/{apiKey} androidpublisher)" -XPOST -H "Content-Type: application/json" -d "{ "user_country_sets": [ { "name": "latam", "country_codes": [ "AR", "BR" ] }, { "name": "sea", "country_codes": [ "VN", "TW" ] } ] }" https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs

Bearbeitung starten erhalten Sie eine ID und eine Ablaufzeit für die Änderung. Speichern Sie die ID für die folgenden Anrufen.

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

Laden Sie das AAB hoch, Angabe der Konfiguration für das Geräte-Targeting als Suchparameter, falls der Aufruf erfolgreich war, sehen Sie den Versionscode, sha1 und sha256, des Builds. Speichern den Versionscode für den nächsten Aufruf.

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="{deviceTargetingConfigID}"

AAB dem gewünschten Track zuweisen Wir empfehlen für Tests den internen Test-Track. Sie können weitere Informationen zu den verschiedenen Tracks), führen wir ein einfaches Roll-out ohne Versionshinweise durch. Sie können diese Seite lesen finden Sie weitere Informationen zu gestaffelten Roll-outs, Versionsentwürfen und Versionshinweisen. Wenn Sie die Publisher API zum ersten Mal verwenden, sollten Sie als Versionsentwurf und die Fertigstellung des Release auf Ihrem Google Play Console, um zu prüfen, ob alles richtig konfiguriert wurde.

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 für Änderungen durchführen (Achtung: Da dadurch alle Änderungen bei Google Play veröffentlicht werden in den gewünschten Track)

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