Il servizio Giochi salvati offre un modo pratico per salvare l'avanzamento di gioco dei tuoi giocatori sui server di Google. Il gioco può recuperare i dati di gioco salvati per consentire ai giocatori di ritorno di continuare una partita dall'ultimo punto di salvataggio da qualsiasi dispositivo.
Il servizio Partite salvate consente di sincronizzare i dati di gioco di un giocatore tra più dispositivi. Ad esempio, se hai un gioco che funziona su Android, puoi utilizzare il servizio Giochi salvati per consentire a un giocatore di iniziare un gioco sul proprio telefono Android e poi continuare a giocare su un tablet senza perdere i progressi fatti. Questo servizio può essere utilizzato anche per garantire che il gameplay di un giocatore continui dal punto in cui è stato interrotto anche se il dispositivo viene perso, distrutto o permutato con un modello più recente.
Per informazioni su come implementare il salvataggio delle partite per la tua piattaforma, consulta Implementazioni per i client.
Nozioni di base su Giochi salvati
Una partita salvata è costituita da due parti:
- Un blob binario non strutturato: questi dati possono rappresentare qualsiasi cosa tu scelga e il tuo gioco è responsabile dell'analisi e della scrittura al suo interno.
- Metadati strutturati: proprietà aggiuntive associate ai dati binari che consentono ai servizi per i giochi di Google Play di presentare visivamente le partite salvate nell'interfaccia utente (UI) predefinita dell'elenco Giochi salvati e di presentare informazioni utili nell'app Google Play Giochi (ad esempio, il timestamp dell'ultimo aggiornamento).
Un gioco può creare un numero arbitrario di Partite salvate per un singolo giocatore, soggetto alla quota di utenti, pertanto non è obbligatorio limitare i giocatori a un singolo file di salvataggio.
Immagini di copertina
Il servizio Giochi salvati offre un'esperienza utente visiva oltre alle funzionalità di persistenza. Ti consigliamo di associare immagini rappresentative ai file di salvataggio corrispondenti. Se usi l'interfaccia utente (UI) predefinita dell'elenco Giochi salvati fornita dall'SDK di Play Giochi, l'interfaccia utente mostrerà queste immagini di copertina. Le immagini di copertina potrebbero essere visualizzate anche nell'app Google Play Giochi.
Descrizioni
Puoi fornire una breve descrizione testuale dei contenuti di una determinata partita salvata. Questa descrizione viene mostrata direttamente ai giocatori e dovrebbe riassumere lo stato della partita salvata; ad esempio, "Combatti i goblin nel bosco scuro".
Quota
Agli sviluppatori non viene addebitato alcun costo per i dati di gioco salvati che sono archiviati nel cloud. Questi dati vengono infatti conteggiati nella quota di Google Drive del player e non devi mai preoccuparti. L'unica quota di cui gli sviluppatori di giochi devono fare attenzione è la quota dell'API Google Drive.
Isolamento lettura/scrittura
Tutte le partite salvate sono archiviate nella cartella dei dati dell'applicazione Google Drive dei tuoi giocatori. Questa cartella può essere letta e scritta solo dal tuo gioco. Non può essere visualizzata o modificata dai giochi di altri sviluppatori, pertanto esiste un'ulteriore protezione contro la corruzione dei dati. Inoltre, le Partite salvate sono isolate dalle manomissioni dirette da parte dei giocatori, in modo da non poter modificare singole Partite salvate.
Assistenza offline
Il gioco può comunque leggere e scrivere in una partita salvata quando il dispositivo del giocatore è offline, ma non potrà sincronizzarsi con i servizi per i giochi di Google Play finché non verrà stabilita la connettività di rete. Dopo la riconnessione, i servizi per i giochi di Google Play aggiornano in modo asincrono i dati dei giochi salvati sui server di Google.
Risoluzione dei conflitti
Quando utilizzi il servizio Giochi salvati, durante il tentativo di salvataggio dei dati il gioco potrebbe riscontrare conflitti. Questi conflitti possono verificarsi quando un utente esegue più di un'istanza della tua applicazione su dispositivi o computer diversi. La tua applicazione deve essere in grado di risolvere questi conflitti in un modo da offrire la migliore esperienza utente.
In genere, i conflitti di dati si verificano quando un'istanza della tua applicazione non riesce a raggiungere il servizio Giochi salvati durante il tentativo di caricare o salvare i dati. In generale, il modo migliore per evitare conflitti di dati è caricare sempre i dati più recenti dal servizio all'avvio o al ripristino dell'applicazione e salvare i dati nel servizio con una frequenza ragionevole. Tuttavia, non è sempre possibile evitare i conflitti di dati. L'applicazione deve fare il possibile per gestire i conflitti, in modo che i dati degli utenti vengano conservati e che l'esperienza offerta sia positiva.
Limiti
Attualmente i servizi per i giochi di Google Play applicano limiti di dimensione ai dati binari e coprono le dimensioni delle immagini rispettivamente di 3 MB e 800 kB.
Metadati del gioco salvati
I metadati strutturati per una partita salvata contengono le seguenti proprietà:
Proprietà | Descrizione |
---|---|
ID | Una stringa univoca generata dai servizi per i giochi di Google Play per questo gioco salvato. Usa questo ID per fare riferimento al gioco salvato nei tuoi client di gioco. |
funzionalità | Un nome breve fornito dallo sviluppatore per la partita salvata, ad esempio "Salva slot 1" o "PlayerName_Save1". Questa informazione non viene mostrata ai giocatori. |
Descrizione | Una descrizione della partita salvata fornita dallo sviluppatore. |
Ultima modifica | Timestamp in millisecondi generato dai servizi per i giochi di Google Play relativo all'ultimo aggiornamento della partita salvata. |
Tempo di riproduzione | Un tempo (in millisecondi) fornito dallo sviluppatore per la visualizzazione nel gioco salvato. Questo valore dovrebbe rappresentare da quanto tempo il giocatore ha giocato alla partita salvata corrispondente. Ad esempio, il valore del tempo di riproduzione pari a 3600000 verrà visualizzato dai servizi per i giochi di Google Play come "1 h". |
Immagine di copertina | Si tratta di una proprietà facoltativa fornita dallo sviluppatore che contiene informazioni sull'immagine di copertina. |
Implementazioni client
Per scoprire come implementare la funzione Partite salvate per la tua piattaforma, consulta le seguenti risorse: