Implementare la distribuzione cloud di asset

Avviso: Google Play Instant non sarà più disponibile. A partire da dicembre 2025, le app istantanee non potranno essere pubblicate tramite Google Play e tutte le API istantanee di Google Play Services non funzioneranno più. Play non fornirà più app istantanee agli utenti tramite alcun meccanismo.

Stiamo apportando questa modifica in base al feedback degli sviluppatori e ai nostri investimenti continui per migliorare l'ecosistema dall'introduzione di Google Play Instant.

Per continuare a ottimizzare per la crescita degli utenti, invitiamo gli sviluppatori a indirizzare gli utenti a alla loro app o al loro gioco normale utilizzando i deep link per reindirizzarli a percorsi o funzionalità specifici, se pertinenti.

Quando riduci le dimensioni dell'app per soddisfare i requisiti di dimensione, prova prima le tecniche standard di ottimizzazione delle dimensioni dell'APK. Se devi ridurre ulteriormente le dimensioni, potresti dover ricorrere alla distribuzione degli asset tramite cloud. Questo documento descrive come preparare gli asset per la distribuzione tramite cloud e le opzioni di assistenza di vari motori di gioco. Sebbene le indicazioni riportate in questa pagina si concentrino sui giochi, i principi si applicano a qualsiasi app che contenga asset di grandi dimensioni.

Preparazione

Quando pensi di suddividere l'app per la distribuzione degli asset tramite cloud, considera come puoi dividere i file dell'app in sezioni in base a quando devono essere disponibili per l'utente. In genere, questi tempi rientrano nelle seguenti tre categorie: necessari sempre, necessari all'avvio e necessari in un secondo momento.

Necessari sempre

Alcuni asset sono difficili da separare in blocchi più piccoli o devono essere inclusi nell'APK di base. Ad esempio, il codice del gioco e le relative dipendenze di libreria o motore. Sebbene la libreria di base Play supporti gli app bundle per il codice, molti motori non supportano il codice scaricato in un secondo momento.

Necessari all'avvio

Dopo l'avvio 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 l'avvio in modo che sia grande solo quanto necessario per supportare l'esperienza iniziale. Ad esempio, un download fast-follow subito dopo il lancio potrebbe includere il primo livello di gioco e gli asset della località o qualsiasi codice necessario per eseguire i primi minuti di gameplay.

Necessari in un secondo momento

In questa categoria rientra tutto ciò che puoi scaricare in un secondo momento, in background, in base alle esigenze. Questa categoria include la maggior parte degli asset per i giochi a lunga durata. Il download di questi asset in un secondo momento contribuirà a ridurre le dimensioni dell'app il più possibile.

Supporto del motore

La distribuzione degli asset tramite 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 degli asset varia in base al motore grafico. Di seguito sono riportati i casi più comuni, nonché le opzioni per l'hosting degli asset.

Tieni presente che un numero inferiore di asset necessari all'avvio consente all'utente di accedere più rapidamente al gioco, il che si traduce in una riduzione dell'abbandono e in una migliore fidelizzazione dei giocatori per il primo avvio.

Play Feature Delivery (tramite app bundle)

Se pubblichi l'app come app bundle (che è il metodo preferito), puoi utilizzare i moduli di funzionalità per recuperare risorse aggiuntive oltre all'APK di base. Per l'app istantanea, ogni modulo della funzionalità deve impostare dist:instant="true" nel manifest. La proprietà dist:on-demand non deve essere utilizzata; viene utilizzata principalmente per i moduli on demand negli APK installati. Inoltre, ogni modulo della funzionalità deve rispettare il limite di 15 MB dell'APK istantaneo, indipendentemente dal fatto che il modulo contenga o meno codice. Se non rispetti questo limite per ogni modulo, non potrai pubblicare le tracce alpha o di rilascio. Una volta configurati correttamente, puoi recuperare i moduli di funzionalità in fase di runtime utilizzando la libreria PlayCore.

Cocos Creator

Cocos supporta la distribuzione degli asset tramite cloud da versione v2.0.4. Cocos scarica gli asset on demand, eseguendo il rendering dei segnaposto se gli asset non sono stati scaricati in tempo. Cocos genera file di asset che devono essere ospitati con un servizio online, in quanto Cocos non ne fornisce uno proprio.

Unità

La distribuzione tramite cloud è supportata nel plug-in Google Play Instant per Unity per le versioni 5.6, 2017.4 o 2018.2 di Unity. Le versioni successive di Unity offrono maggiori vantaggi per la rimozione del motore, pertanto potrebbe essere utile eseguire la migrazione per liberare più spazio. Gli asset cloud di Unity sono ospitati nei file AssetBundle creati da Unity. Il caricamento di questi file su un server cloud consente la distribuzione degli asset tramite cloud, in quanto Unity supporta in modo nativo il download degli asset bundle .

Altri motori

Se utilizzi un motore personalizzato o una raccolta di librerie native, la tua scelta potrebbe supportare il download degli asset tramite cloud. Se hai un numero sufficiente di asset da scaricare dal cloud, dovrai codificare 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 degli asset

A meno che tu non utilizzi gli app bundle di Google Play per scaricare gli asset tramite Play, dovrai ospitarli altrove. Puoi ospitarli con qualsiasi servizio che preferisci, purché abbia una distribuzione e una disponibilità globali ragionevoli. Gli utenti dell'app Google Play Games giocano in tutto il mondo, quindi gli asset ospitati nel cloud devono essere forniti rapidamente in qualsiasi località.