Targeting di una cartella in un pacchetto di asset o in un modulo bundle in base a diverse dimensioni (formato di compressione delle texture, livello dispositivo, paese impostato), puoi usare targeting.
Il targeting nidificato permette di definire criteri di targeting che combinano fino a 2 dimensioni di targeting.
Formato
Per scegliere una cartella come target in base a più dimensioni, specifica l'elenco di dimensioni in un serie di suffissi hashtag al nome della cartella.
Ad esempio, per scegliere come target una cartella di asset in base al formato di compressione delle texture ASTC e dispositivo di livello 2, il targeting avrà il seguente aspetto:
...
.../level1/src/main/assets/character-textures#tcf_astc#tier_2/
...
Se utilizzi Gradle per creare la tua app, i suffissi di targeting vengono rimossi il nome della directory negli APK finali o nei pacchetti di asset pubblicati per l'utente dispositivi mobili.
Se utilizzi direttamente bundletool, specifica se desideri il suffisso
rimosso per ogni dimensione individualmente in BundleConfig.json
. Con
Esempio di targeting per dispositivo:
{
...
"optimizations": {
"splitsConfig": {
"splitDimension": [
...
{
"value": "DEVICE_TIER",
"negate": false,
"suffixStripping": {
"enabled": true,
}],
}
}
}
Il targeting nidificato è supportato in bundletool 1.14.1 o versioni successive e in Android Gradle Plug-in 8.2.0-alpha01 o versione successiva, che richiede Gradle 8.1 o versione successiva.
Puoi trovare ulteriori informazioni su come personalizzare la configurazione per alle singole dimensioni nella documentazione per ogni dimensione di targeting.
Limitazioni
Puoi utilizzare al massimo due dimensioni nidificate. In altre parole, non puoi avere cartella scelta come target per livello dispositivo, formato di compressione delle texture e paese impostato su contemporaneamente: devi sceglierne 2.
Devi specificare le 2 dimensioni nidificate allo stesso livello della cartella del tuo percorso di apprendimento. Per esempio, il seguente targeting per cartella è vietato, dato che #tcf_astc e #tier_2 vengono visualizzati in segmenti di percorso diversi:
.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
Le dimensioni nidificate devono essere le stesse in tutto il pacchetto. Per Ad esempio, non puoi avere un pacchetto di asset in cui nidificare i livelli e il paese dei dispositivi e un altro pacchetto di asset in cui nidificano l'impostazione del paese e la compressione delle texture formato.
I valori utilizzati per le due dimensioni devono essere uguali in tutto ed è necessario specificare la combinazione completa di valori. Ad esempio, se vuoi nidificare il formato di compressione delle texture e il paese impostato e hai 4 TCF (ASTC, ETC2, PVRTC, fallback predefinito) e 3 insiemi di paesi (latam, mare, di riserva predefinito), devi specificare una cartella per tutte e 12 le combinazioni:
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/…
- Puoi utilizzare sia il targeting nidificato sia il targeting a dimensione singola su cartelle di contenuti distinte nello stesso pacchetto di asset o modulo bundle. Se utilizzi un sia nel targeting a dimensione singola che nel targeting nidificato, l'insieme che utilizzi devono essere sempre gli stessi. Ad esempio, non puoi scegliere come target 4 livelli nel targeting a livello di dispositivo a una dimensione, quindi utilizzare solo 3 livelli se nidificati con insiemi di paesi o TCF.