Implementare la distribuzione cloud di asset

Quando riduci l'app in base ai requisiti di dimensione, prova innanzitutto le tecniche standard di ottimizzazione delle dimensioni degli APK. Se devi ridurre ulteriormente le dimensioni, potresti dover fare affidamento sulla distribuzione degli asset nel cloud. Questo documento descrive come preparare gli asset per il caricamento nel cloud e le opzioni di supporto disponibili da vari motori di gioco. Sebbene le linee guida in questa pagina si concentrino sui giochi, i principi si applicano a qualsiasi app con asset di grandi dimensioni.

Preparazione

Se stai pensando di suddividere la tua app per la distribuzione nel cloud degli asset, pensa a come suddividere i file dell'app in sezioni in base a quando devono essere disponibili per l'utente. Queste tempistiche tendenzialmente rientrano nelle seguenti tre categorie: necessarie sempre, necessarie al momento del lancio e necessarie in seguito.

Sempre necessaria

Alcuni asset sono difficili da separare in blocchi più piccoli oppure devono essere raggruppati nell'APK di base. Alcuni esempi sono il codice del tuo gioco e la sua libreria o le sue dipendenze del motore. Sebbene Google Play Core supporti gli app bundle per il codice, molti motori non supportano il codice scaricato in un secondo momento.

Richiesto al momento del lancio

Dopo l'inizio del gioco, l'utente dovrebbe essere in grado di giocare immediatamente. Google Play Instant richiede che gli utenti possano iniziare a giocare in meno di 15 secondi tramite una connessione LTE o 4G (consulta l'elenco di controllo di Google Play Instant). Pertanto, limita qualsiasi download secondario dopo il lancio in modo che abbia le dimensioni necessarie per supportare l'esperienza iniziale. Ad esempio, un download rapido immediatamente dopo il lancio potrebbe includere gli asset posizione e a livello di primo livello di gioco o qualsiasi codice necessario per eseguire i primi minuti del gameplay.

Necessario più tardi

Tutto ciò che puoi permetterti di scaricare in seguito, in background secondo necessità, rientrerà in questa categoria. Questa categoria include la maggior parte delle risorse per i giochi di lunga durata. Se scarichi questi asset in un secondo momento, riduci al minimo le dimensioni dell'app.

Assistenza motori

Il caricamento degli asset cloud è il modo principale per consentire al tuo gioco di superare il limite di 15 MB per i giochi istantanei. Il supporto per il download delle risorse varia in base al motore di gioco. Di seguito sono riportati i casi più comuni, nonché le opzioni di hosting degli asset.

Tieni presente che un minor numero di risorse necessarie al momento del lancio consente all'utente di iniziare il gioco più rapidamente, il che si traduce in un minor tasso di abbandono e in una migliore fidelizzazione dei giocatori per il primo lancio.

Distribuzione delle funzionalità di Google Play (tramite app bundle)

Se pubblichi la tua app come app bundle (metodo preferito), puoi utilizzare i moduli delle funzionalità per recuperare risorse aggiuntive oltre all'APK di base. Per la tua app istantanea, ogni modulo di funzionalità deve impostare dist:instant="true" nel file manifest. La proprietà dist:on-demand non deve essere utilizzata; viene utilizzata principalmente per i moduli on demand negli APK installati. Inoltre, ogni modulo delle funzionalità deve essere inferiore al limite degli APK istantanei di 15 MB, indipendentemente dal fatto che il modulo contenga o meno codice. Se non rispetti questi limiti ogni modulo impedirà la pubblicazione nei canali alpha o di rilascio. Una volta configurata correttamente, puoi recuperare i moduli delle funzionalità in fase di runtime utilizzando la libreria PlayCore.

Creator di Cocos

Cocos supporta la distribuzione cloud degli asset sin dalla versione 2.0.4. Cocos scarica gli asset on demand, visualizzando i segnaposto se gli asset non sono stati scaricati in tempo. Cocos genera file di asset che devono essere ospitati su alcuni servizi online in quanto Cocos non ne fornisce uno proprio.

Unity

La distribuzione nella cloud è supportata nel plug-in istantaneo Google Play per Unity per le versioni Unity 5.6, 2017.4 o 2018.2. Le versioni successive di Unity offrono maggiori vantaggi per l'eliminazione dei motori di ricerca, pertanto potrebbe essere utile eseguire la migrazione delle versioni per liberare più spazio. Gli asset cloud Unity sono ospitati in file AssetBundle creati da Unity per te. Il caricamento su un server cloud consente la distribuzione degli asset nel cloud, poiché Unity è innato il supporto per il download di pacchetti di asset.

Altri motori

Che tu utilizzi un motore personalizzato o una raccolta di librerie native, la tua scelta potrebbe supportare il download immediato degli asset sul cloud. Se hai un numero sufficiente di asset da scaricare dal cloud, dovrai programmare o integrare un modo per scaricare gli asset on demand per il tuo gioco. Le API Firebase Hosting o Firebase Cloud Storage sono un buon punto di partenza. Alcuni motori offrono un semplice recupero di file HTTPS, che potrebbe essere sufficiente per le tue esigenze.

Hosting di asset

A meno che tu non utilizzi gli app bundle di Google Play per scaricare gli asset tramite Play, dovrai ospitare gli asset altrove. Puoi ospitarli liberamente in qualsiasi servizio, purché offra una distribuzione e una disponibilità globali ragionevoli. Gli utenti dell'app Google Play Giochi giocano in tutto il mondo, per cui gli asset ospitati nel cloud devono essere pubblicati rapidamente in qualsiasi luogo.