Giochi salvati

Il servizio Partite salvate ti offre un modo pratico per salvare i progressi dei tuoi giocatori sui server di Google. Il tuo gioco può recuperare i dati della partita salvata per consentire ai giocatori di tornare a giocare da qualsiasi dispositivo dal punto di salvataggio precedente.

Il servizio Giochi salvati consente di sincronizzare i dati di gioco di un giocatore su più dispositivi. Ad esempio, se hai un gioco che funziona su Android, puoi utilizzare il servizio Giochi salvati per consentire a un giocatore di avviare un gioco sul suo smartphone Android e poi continuare a giocare su un tablet senza perdere i progressi. Questo servizio può essere utilizzato anche per garantire che la partita di un giocatore continui da dove si è interrotta anche se il dispositivo viene perso, distrutto o scambiato con un modello più recente.

Per scoprire come implementare le partite salvate per la tua piattaforma, consulta Implementazioni client.

Nozioni di base su Partite salvate

Una partita salvata è composta da due parti:

  • Un blob binario non strutturato: questi dati possono rappresentare ciò che preferisci e il tuo gioco è responsabile dell'analisi e della scrittura.
  • Metadati strutturati: proprietà aggiuntive associate ai dati binari che consentono a Google Play Giochi di presentare visivamente i giochi salvati nell'interfaccia utente (UI) dell'elenco Giochi salvati predefinito e di presentare informazioni utili nell'app Google Play Giochi (ad esempio, l'ora e la data dell'ultimo aggiornamento).

Un gioco può scrivere un numero arbitrario di partite salvate per un singolo giocatore, in base alla quota utente, pertanto non esiste un requisito obbligatorio per limitare i giocatori a un singolo file di salvataggio.

Immagini di copertina

Il servizio Saved Games offre un'esperienza utente visiva oltre alle funzionalità di persistenza. Ti consigliamo vivamente di associare immagini rappresentative ai file di salvataggio corrispondenti. Se nel tuo gioco utilizzi l'interfaccia utente (UI) predefinita della lista Giochi salvati fornita dall'SDK Play Giochi, l'UI mostrerà queste immagini di copertina. Le immagini di copertina possono 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 deve riassumere lo stato rappresentato dalla partita salvata; ad esempio, "Combattimento con i goblin nella foresta oscura".

Quota

Gli sviluppatori non vengono addebitati per i dati di gioco salvati archiviati nel cloud. Questi dati vengono invece conteggiati ai fini della quota di Google Drive del giocatore, quindi non devi preoccuparti. L'unica quota che devono tenere presente gli sviluppatori di giochi è la quota dell'API Google Drive.

Isolamento di lettura/scrittura

Tutti i giochi salvati vengono archiviati nella cartella Dati delle applicazioni di Google Drive dei giocatori. Questa cartella può essere letta e scritta solo dal tuo gioco, non può essere visualizzata o modificata dai giochi di altri sviluppatori, quindi offre una protezione aggiuntiva contro la corruzione dei dati. Inoltre, le partite salvate sono isolate da eventuali manomissioni dirette da parte dei giocatori, che non possono modificare le 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 Google Play Giochi Services finché non viene stabilita la connettività di rete. Una volta ricollegato, Google Play Services per i giochi aggiorna in modo asincrono i dati di gioco salvati sui server di Google.

Risoluzione dei conflitti

Quando utilizzi il servizio Giochi salvati, il gioco potrebbe riscontrare conflitti durante il tentativo di salvataggio dei dati. Questi conflitti possono verificarsi quando un utente esegue più di un'istanza della tua applicazione su computer o dispositivi diversi. La tua applicazione deve essere in grado di risolvere questi conflitti in 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 Saved Games 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 riavvio dell'applicazione e salvarli nel servizio con una frequenza ragionevole. Tuttavia, non è sempre possibile evitare conflitti di dati. L'applicazione deve fare ogni sforzo per gestire i conflitti in modo che i dati degli utenti vengano preservati e che possano usufruire di un'esperienza positiva.

Limiti

Al momento, Google Play Services per i giochi applica limiti di dimensione ai dati binari e copre dimensioni delle immagini rispettivamente di 3 MB e 800 KB.

Metadati dei giochi salvati

I metadati strutturati di una partita salvata contengono le seguenti proprietà:

Proprietà Descrizione
ID Una stringa univoca generata da Google Play Services per questo gioco salvato. Utilizza questo ID per fare riferimento alla partita salvata nei tuoi clienti di gioco.
Nome Un nome breve fornito dallo sviluppatore per la partita salvata, ad esempio "Slot di salvataggio 1" o "Nome giocatore_Salvataggio1". Questo valore non viene mostrato ai giocatori.
Descrizione Una descrizione fornita dallo sviluppatore della partita salvata.
Ultima modifica Timestamp in millisecondi generato da Google Play Services relativo all'ultimo aggiornamento della partita salvata.
Tempo di gioco Un tempo (in millisecondi) fornito dallo sviluppatore da visualizzare sul gioco salvato. Questo valore deve rappresentare il tempo di gioco del salvataggio corrispondente. Ad esempio, un valore di tempo di gioco pari a 3600000 verrà visualizzato da Google Play Giochi come "1 ora".
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 le partite salvate per la tua piattaforma, consulta le seguenti risorse: