Salvataggio sul cloud

I giocatori giocano su più dispositivi e installano un gioco sullo stesso dispositivo più volte. Di conseguenza, devono sempre iniziare la partita dall'ultimo stato di avanzamento. Per farlo, devi implementare una soluzione di salvataggio nel cloud nel tuo gioco.

Per rispettare le linee guida per l'esperienza utente del programma per sviluppatori di giochi, il tuo gioco deve aver implementato una soluzione di salvataggio sul cloud composta da due parti:

  1. Salvataggio nel cloud

    Salva lo stato del gioco del giocatore nel cloud. Recuperalo quando inizia la partita. Il servizio Partite salvate di Play Games Services fornisce un servizio per questo scopo, ma puoi utilizzare qualsiasi soluzione di salvataggio nel cloud di tua scelta.

  2. Risoluzione dei conflitti per più stati di gioco

    Se un utente ha più account o se c'è un conflitto tra i dati di gioco salvati sul dispositivo e nel cloud, devi disporre di una norma di risoluzione dei conflitti. In genere, l'utente decide come risolvere questi conflitti. Le norme di risoluzione dei conflitti devono affrontare i seguenti scenari chiave:

    • Più account per utente:gestisci i casi in cui un singolo utente interagisce con l'applicazione utilizzando account diversi.
    • Conflitti di stato:risolvi le discrepanze che si verificano tra lo stato del gioco locale e quello salvato nel cloud.

Partite salvate

Il servizio Partite salvate ti offre un modo pratico per salvare i progressi di gioco dei tuoi giocatori sui server di Google. Il tuo gioco può recuperare i dati delle partite salvate per consentire ai giocatori di continuare una partita dall'ultimo punto di salvataggio da qualsiasi dispositivo.

Questo servizio offre diversi vantaggi chiave sia per i giocatori che per gli sviluppatori:

  • Sincronizzare i dati di gioco su più dispositivi. Ad esempio, un giocatore può iniziare una partita su uno smartphone Android e continuare a giocare senza problemi su un tablet senza perdere i progressi.
  • Garantisci la persistenza dei dati. I giocatori possono riprendere la partita anche se il loro dispositivo è stato smarrito, distrutto o sostituito con un modello più recente.

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

Nozioni di base su Giochi salvati

Un salvataggio è composto 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.
  • Metadati strutturati: proprietà aggiuntive associate ai dati binari che consentono a Google Play Games Services di presentare visivamente le partite salvate nell'interfaccia utente (UI) dell'elenco predefinito delle partite salvate e di presentare informazioni utili nell'app Google Play Giochi (ad esempio, il timestamp dell'ultimo aggiornamento).

Un gioco può scrivere un numero arbitrario di partite salvate per un singolo giocatore, soggetto alla quota utente, quindi non è necessario 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 vivamente di associare immagini rappresentative ai file di salvataggio corrispondenti. Se nel tuo gioco utilizzi l'interfaccia utente (UI) predefinita dell'elenco delle partite salvate fornita dall'SDK Play Giochi, la UI 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 deve riassumere lo stato rappresentato dalla partita salvata, ad esempio "Lotta contro i goblin nel bosco oscuro".

Quota

Gli sviluppatori non pagano per i dati delle partite salvate archiviati nel cloud. Questi dati vengono invece conteggiati in base alla quota di Google Drive del giocatore, quindi non devi preoccuparti. L'unica quota di cui gli sviluppatori di giochi devono preoccuparsi è quella dell'API Google Drive.

Isolamento lettura/scrittura

Tutte le partite salvate vengono archiviate 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 il danneggiamento dei dati. Inoltre, le partite salvate sono protette da manomissioni dirette da parte dei giocatori, che non possono modificare le singole partite salvate.

Supporto offline

Il gioco può comunque leggere e scrivere in una partita salvata quando il dispositivo del giocatore è offline, ma non sarà in grado di sincronizzarsi con Google Play Games Services finché non viene stabilita la connettività di rete. Una volta ristabilita la connessione, Google Play Games Services 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 salvare i dati. 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 modo da fornire la migliore esperienza utente.

In genere, i conflitti di dati si verificano quando un'istanza dell'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 alla ripresa dell'applicazione e salvare i dati nel servizio con una frequenza ragionevole. Tuttavia, non è sempre possibile evitare conflitti di dati. La tua applicazione deve fare ogni sforzo per gestire i conflitti in modo che i dati degli utenti vengano conservati e che abbiano una buona esperienza.

Limiti

Google Play Games Services applica limiti di dimensione ai dati binari e alle dimensioni delle immagini di copertina di 3 MB e 800 KB rispettivamente.

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 Giochi per questo gioco salvato. Utilizza questo ID per fare riferimento al gioco salvato nei client di gioco.
Nome Un nome breve fornito dallo sviluppatore per la partita salvata, ad esempio "Slot di salvataggio 1" o "NomeGiocatore_Salvataggio1". Non viene mostrato ai giocatori.
Descrizione Una descrizione del gioco salvato fornita dallo sviluppatore.
Ultima modifica Timestamp in millisecondi generato da Google Play Games Services per l'ultimo aggiornamento della partita salvata.
Tempo di gioco

Tempo fornito dallo sviluppatore (in millisecondi) da visualizzare nella partita salvata. Questo valore deve rappresentare la durata della riproduzione della partita salvata corrispondente.

Ad esempio, un valore di tempo di gioco di 3600000 verrà visualizzato da Google Play Games Services 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: