Targeting asset per paese

Che cos'è il targeting degli asset per paese?

Il targeting degli asset per paese ti consente di pubblicare versioni diverse (ad esempio le risoluzioni) dello stesso asset sui dispositivi in base al paese la località in cui si trova l'utente. Ad esempio, puoi scegliere di pubblicare annunci per i vari paesi in cui è disponibile la tua app, senza dover aumenta le dimensioni complessive del gioco fornendo solo il gli asset necessari all'account dispositivi mobili. Si basa sul concetto di pacchetti di asset in Asset Delivery di Play. Come illustrato di seguito, è possibile definire i criteri di targeting con un massimo di 20 paesi set di dati. In questo contesto, il paese del dispositivo è determinato in genere dall'indirizzo di fatturazione dell'utente registrato nelle sue Google Play.

Analogamente a Play Asset Delivery, il targeting per paese supporta Android 4.1 (livello API 16) e successive. Tuttavia, sui dispositivi con Android 4.4 (livello API 19) o versioni precedenti, il paese predefinito impostato viene pubblicato indipendentemente dalla località dell'utente.

Percorso dello sviluppatore

Per integrare il targeting per paese nel gioco esistente, segui questi passaggi:

  1. Integrare il targeting per paese (e per estensione, Play Asset Delivery) all'interno del tuo gioco
    • Integra Play Asset Delivery nel tuo gioco (se non l'hai ancora fatto già fatto)
    • Dividi gli asset in pacchetti di asset
    • Pacchettizza il codice e gli asset insieme per il finale L'elemento Android App Bundle che caricherai su Google Play.
  2. Crea la configurazione del targeting per dispositivo in modo che Play sappia come inviare gli asset ai dispositivi degli utenti.
    • Configurare l'API Google Play Developer (se non l'hai già fatto) che utilizzerai per inviare a Google Play le configurazioni di targeting.
    • Segui la procedura per creare la configurazione di targeting.
  3. Carica il tuo AAB su Google Play ed esegui il test per assicurarti che tutto funzioni configurato correttamente

Gradle è il sistema di build consigliato per i giochi Java e nativi. Per i giochi creati utilizzando Gradle, segui questi passaggi per configurare il sistema di compilazione per creare il tuo AAB con il supporto del targeting per paese.

Se esporti il gioco in Gradle e poi finisci la build lì, ti consigliamo di seguire queste istruzioni (ad es. Giochi Unity esportata in Gradle)).

Configurare il targeting per asset in base al paese all'interno dell'app

Integrazione di Play Asset Delivery nel gioco (se non già completato)

Play Asset Delivery (PAD) ti consente di pubblicare in modo dinamico il al momento dell'installazione o del runtime e puoi leggere una panoramica al riguardo qui. Con targeting per paese, Google Play pubblicherà i contenuti dei pacchetti di asset in base sulle configurazioni del paese prescritte per le diverse località degli utenti. È consigliabile seguire le indicazioni riportate di seguito e integrare PAD il tuo gioco (ovvero creare pacchetti di asset, implementare il recupero nel gioco), e poi modificare il codice del progetto per attivare il targeting per paese.

Gradle

Per i giochi creati con Gradle, utilizza queste istruzioni per creare i tuoi pacchetti di asset con Gradle, segui le istruzioni per integrare il recupero dei pacchetti di asset all'interno del gioco:

Creare directory specifiche per paese

Se utilizzi Gradle

D'ora in poi suddividerai gli asset tra insiemi di paesi (massimo 20) da definire in seguito. Crea le directory scelte come target prendendo le directory esistenti directory del bundle di asset create nell'ultimo passaggio, poi correggi il cartella appropriata (come descritto di seguito) con #countries_latam, #countries_na, e così via. Quando usi i pacchetti di asset nel gioco, non dovrai le cartelle in base alla correzione (in altre parole, il postfix viene vengono eliminati durante il processo di compilazione).

Dopo il passaggio precedente, il risultato potrebbe essere il seguente:

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

Quando accedi ai file che si trovano nella cartella, puoi utilizzare lo stesso senza correzione dei post, (in questo esempio, uso il termine level1/assets/character-textures/ senza postfix).

Creazione di Android App Bundle

Gradle

Nel file build.gradle del progetto, configura le dipendenze in modo da avere le versioni seguenti (o successive) plug-in Android Gradle e bundletool:

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

Dovrai anche aggiornare il tuo Gradle alla versione 8.0 o successiva. Puoi aggiornare questa opzione in gradle/wrapper/gradle-wrapper.properties all'interno del progetto.

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

Infine, dovrai usare la libreria Play Asset Delivery Library. se sei ancora usando la libreria monolitica Play Core, aggiornala alla versione 1.8.3 o successiva. I nostri suggerimenti il passaggio alla libreria Play Asset Delivery e l'aggiornamento alla versione più recente se possibile.

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

Nel file build.gradle del modulo dell'app principale, attiva la suddivisione del targeting per paese:

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

Infine, puoi creare il tuo Android App Bundle (AAB).

Strumento bundle

Crea il tuo bundle con bundletool, e mentre sei nella fase di personalizzazione del tuo AAB, aggiungi quanto segue al tuo file BundleConfig.pb.

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

Test locale

Prima di andare avanti, ti consigliamo di testare localmente l'app bundle assicurati che tutto sia configurato correttamente. Utilizzo bundletool (1.14.0 o versioni successive), sviluppare e testare l'app localmente, specificando esplicitamente il paese corretto. Per prima cosa utilizzerai build-apks per generare insieme di .apks file, poi implementa l'app su un dispositivo connesso utilizzando install-apks. Puoi anche specificare l'insieme di paesi in cui desideri installarlo tramite il country-set flag. Puoi trovare maggiori informazioni su questo metodo di test locale qui (tieni presente che questa pagina non è stata ancora aggiornata per il targeting per paese ed è quindi mancante il 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

In alternativa: puoi utilizzare anche extract-apks per estrarre un un insieme di APK per un dispositivo specifico. Utilizzo get-device-spec oltre a specificare il paese di questo dispositivo, che non funziona in combinazione con il flag --local-testing, il che significa che non essere in grado di testare pacchetti di asset velocizzati o on demand.

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

Creazione di una configurazione di targeting per dispositivo tramite l'API Google Play Developer

Introduzione all'API Google Play Developer (se non l'hai già completata)

Per configurare il targeting per paese (ovvero gli insiemi di paesi) devi utilizzare API Android Publisher per caricare la configurazione su Google Play. Puoi scoprire di più sull'API all'indirizzo al link precedente. Ci sono alcuni passaggi da seguire per iniziare:

  1. Crea (se necessario) e collega il progetto API a Google Play Console.
  2. Configura un client accesso API.

Puoi trovare il riferimento dell'API qui - in seguito, se scegli di caricare la build tramite l'API, utilizzando Modifica metodi. Inoltre, ti invitiamo a consulta questa pagina prima di utilizzare l'API.

Utilizzo dell'API Device Targeting Configuration

Puoi utilizzare la seguente chiamata API per creare la configurazione del targeting per dispositivo:

Crea configurazione di targeting per dispositivo

Richiesta HTTP POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Parametri percorso N/D
Corpo della richiesta Configurazione del targeting per dispositivo
Corpo della risposta Configurazione del targeting per dispositivo
Oggetto configurazione targeting per dispositivo
{
  "user_country_sets": [
    {
      "name": "latam",
      "country_codes": [
        "AR",
        "BR",
        ...
      ]
    },
    {
      "name": "sea",
      "country_codes": [
        "VN",
        "TW",
        ...
      ]
    }
  ]
}

Campi:

  • device_confid_id (numero intero): ID corrispondente a questo dispositivo configurazione di targeting.
  • user_country_sets (oggetto): definizioni dell'insieme di paesi
      .
    • name (stringa): nome del paese impostato (un ID stringa definito da te).
    • country_codes (stringa): i paesi che appartengono a questo insieme di paesi (formato: ISO 3166-1 alpha-2).

Puoi seguire le istruzioni riportate di seguito per convalidare la configurazione del targeting per dispositivo prima del giorno su Google Play.

Ottieni la configurazione del targeting per dispositivo per ID

Puoi recuperare una specifica configurazione di targeting per dispositivo in base all'ID utilizzando il parametro seguente chiamata:

Richiesta HTTP GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs/{deviceTierConfigId}
Parametri percorso N/D
Corpo della richiesta N/D
Corpo della risposta Configurazione del targeting per dispositivo

Recupera elenco di configurazioni di targeting per dispositivo

Puoi visualizzare le ultime 10 configurazioni di targeting per dispositivo in base alla chiamata seguente (o specificare in modo ottimale un insieme di dieci utilizzando il parametro di query page_token):

Richiesta HTTP GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/deviceTierConfigs
Parametri percorso N/D
Parametri di ricerca page_token (facoltativo): utilizzato per specificare un token un gruppo specifico di 10 DTC. È utile se hai creato più di 10 DTC e vorresti vedere le DTC create prima delle 10 più recenti.
Corpo della richiesta N/D
Corpo della risposta Elenco di configurazioni di targeting per dispositivo

token_pagina

Convalida della configurazione del targeting per dispositivo

bundletool include due comandi che ti aiutano a verificare che il tuo dispositivo La configurazione del targeting funziona come previsto prima di caricarla su Google Play.

Con bundletool print-device-targeting-config, puoi verificare che il tuo file JSON sia sintatticamente corretto.

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

Con bundletool evaluate-device-targeting-config, puoi valutare paese impostato corrisponde a un dispositivo specifico. Puoi fornire all'utente paese tramite la bandiera --country-code.

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

Caricare l'Android App Bundle su Google Play

Tramite API

Puoi utilizzare l'API Google Play Developer per caricare l'Android App Bundle a Google Play e collegare una specifica configurazione di targeting per dispositivo a la tua build.

C'è un Panoramica generale dei metodi di modifica qui, insieme a esempi più approfonditi sul rilascio nei diversi canali in Google Play Console (per l'ultimo link, utilizzerai il comando API compatibili con AAB anziché API compatibile con gli APK, elencati nella pagina). Per specificare la configurazione del targeting per dispositivo la tua build, aggiungerai l'ID configurazione al deviceTierConfigId durante la chiamata del parametro edits.bundle.upload, in questo modo:

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

Tramite Google Play Console

Puoi seguire queste istruzioni per caricare l'Android App Bundle. La configurazione DTC più recente verrà applicata all'app bundle.

Verificare che gli asset vengano inviati correttamente

Utilizza il seguente metodo per assicurarti che vengano pubblicate solo le risorse corrette al dispositivo

adb shell pm path {packageName}

Il risultato dovrebbe essere simile a questo:

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

Ausiliario

Avvio rapido con Curl

Di seguito è riportato un esempio (utilizzando lo strumento a riga di comando curl) di creare una nuova configurazione di targeting per dispositivo e utilizzando l'API Edits per creare una nuova modifica, carica un nuovo AAB (associandolo con una configurazione di targeting per dispositivo specifica), imposta la configurazione della traccia/rilascio e la modifica. (rendendo pubblica la modifica). Assicurati di avere località di:

  • La chiave corrispondente al tuo client API.
  • Il nome del pacchetto dell'app

Innanzitutto, crea una configurazione di targeting per dispositivo e prendi nota delle deviceTierConfigId che riceverai dopo una chiamata andata a buon fine.

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

Avvia una modifica - riceverai un ID e una data di scadenza per la modifica. Salva l'ID per il parametro le chiamate successive.

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

Carica l'AAB, specificando la configurazione del targeting per dispositivo come parametro di query, se la chiamata viene riuscito, vedrai il codice di versione, sha1 e sha256 della build. Salva il codice di versione per la chiamata successiva.

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

Assegnare l'AAB al canale desiderato (per i test, è consigliabile utilizzare il canale di test interno, ma puoi scopri di più sui diversi canali qui, qui facciamo un'implementazione semplice senza note di rilascio, ma leggi questa pagina per scoprire di più su implementazioni graduali, bozze di release e note di rilascio. Se è la prima volta che utilizzi l'API Publisher, ti consigliamo di creare come versione bozza e completare la release sul Google Play Console per verificare che tutto sia stato configurato correttamente.

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}

Esegui il commit delle modifiche (procedi con cautela, poiché tutte le modifiche verranno pubblicate su Google Play alla traccia desiderata)

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