I giocatori giocano su più dispositivi e installano un gioco sullo stesso dispositivo più volte. Di conseguenza, devono sempre iniziare il gioco 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 di Google Play Games Level Up , il tuo gioco deve implementare una soluzione di salvataggio nel cloud composta da due parti:
Salvataggio nel cloud
Salva lo stato di avanzamento del gioco del giocatore nel cloud. Recuperalo quando il giocatore avvia il gioco. 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.
Risoluzione dei conflitti per più stati di avanzamento del gioco
Se un utente ha più account o se si verifica un conflitto tra i dati delle partite salvate sul dispositivo e nel cloud, è necessario disporre di una policy di risoluzione dei conflitti. In genere, l'utente decide come risolvere questi conflitti. La tua policy di risoluzione dei conflitti deve affrontare i seguenti scenari chiave:
- Più account per utente: gestisci le istanze in cui un singolo utente interagisce con l'applicazione utilizzando account diversi.
- Conflitti di stato: risolvi le discrepanze che si verificano tra lo stato di avanzamento del gioco locale e quello salvato nel cloud.
Account ospite
Quando un giocatore con un account ospite esegue l'accesso e si collega a un ID giocatore con progressi salvati nel cloud esistenti, il gioco potrebbe sovrascrivere accidentalmente dati storici importanti. Se un giocatore ha un account ospite locale con progressi significativi e un backup nel cloud dell'ultimo account in-game (IGA) giocato collegato a Play Games Services, il gioco non deve sovrascrivere automaticamente i dati. Un gioco deve dare la priorità alla migliore esperienza di gioco possibile, pertanto ti consigliamo di informare il giocatore di questa scelta prima di effettuarla o di chiedergli esplicitamente di scegliere tra le opzioni.
Tenendo conto di ciò, hai due opzioni:
- Opzione 1: mantieni il flusso attuale in cui viene ripristinato un progresso locale o nel cloud. Viene visualizzato un messaggio di avviso per indicare che è stato rilevato un account esistente e che verranno utilizzati i relativi progressi.
- Opzione 2 (consigliata): visualizza un messaggio che informa il giocatore che è stato rilevato un account esistente con progressi. Il collegamento dell'account ospite sostituisce i progressi nel cloud con i progressi dell'ospite correnti. Il messaggio visualizzato per i progressi salvati sia in locale sia nel cloud consente al giocatore di prendere una decisione informata.
Partite salvate
Il servizio Partite salvate ti offre un modo pratico per salvare i progressi di gioco dei giocatori sui server di Google. Il gioco può recuperare i dati di gioco salvati per consentire ai giocatori che ritornano di continuare una partita dall'ultimo punto di salvataggio da qualsiasi dispositivo.
Questo servizio offre diversi vantaggi chiave sia per i giocatori sia per gli sviluppatori:
- Sincronizza 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 dispositivo viene perso, distrutto o sostituito con un modello più recente.
Per scoprire come implementare le partite salvate per la tua piattaforma, consulta Implementazioni client.
Nozioni di base sulle partite salvate
Una partita salvata è composta da due parti:
- Un blob binario non strutturato: questi dati possono rappresentare ciò che scegli e il tuo gioco è responsabile dell'analisi e della scrittura.
- Metadati strutturati: proprietà aggiuntive associate ai dati binari che consentono a Play Games Services di presentare visivamente le partite salvate nell'interfaccia utente (UI) predefinita dell'elenco 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 qualsiasi di Partite salvate per un giocatore singolo, soggetto a limitazioni delle dimensioni dei file, quindi non è necessario limitare i giocatori a un singolo file di salvataggio.
Risoluzione dei conflitti
Quando utilizzi il servizio Partite salvate, il gioco potrebbe riscontrare conflitti durante il tentativo di salvare i dati. Questi conflitti possono verificarsi quando un utente esegue più istanze dell'applicazione su dispositivi o computer 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 dell'applicazione non riesce a raggiungere il servizio Partite salvate 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.
Immagini di copertina
Il servizio Partite salvate offre un'esperienza utente visiva oltre alle funzionalità di persistenza. Ti consigliamo vivamente di associare immagini rappresentative ai file di salvataggio corrispondenti. Se utilizzi l'interfaccia utente (UI) predefinita dell'elenco delle partite salvate fornita dall'SDK Play Games nel tuo gioco, l'interfaccia utente visualizzerà 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 visualizzata direttamente dai giocatori e deve riassumere lo stato rappresentato dalla partita salvata, ad esempio "Combattere i goblin nel bosco oscuro".
Limite di dimensione
Non ti vengono addebitati costi per i dati di gioco salvati in Google Cloud, ma ogni file di partita salvata ha una dimensione massima di 3 MB.
Supporto modalità 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 riconnesso, Google Play Games Services aggiorna in modo asincrono i dati di gioco salvati sui server di Google.
Limiti
Google Play Games Services applica limiti di dimensione ai dati binari e alle dimensioni delle immagini di copertina, rispettivamente di 3 MB e 800 kB.
Metadati delle partite salvate
I metadati strutturati di una partita salvata contengono queste proprietà:
| Proprietà | Descrizione |
|---|---|
| ID | Una stringa univoca generata da Google Play Games Services per questa partita salvata Utilizza questo ID per fare riferimento alla partita salvata nei client di gioco. |
| Nome | Un nome breve fornito dallo sviluppatore per la partita salvata, ad esempio "Slot di salvataggio 1" o "NomeGiocatore_Salvataggio1". Questo nome non viene mostrato ai giocatori. |
| Descrizione | Una descrizione della partita salvata fornita dallo sviluppatore. |
| Ultima modifica | Timestamp in millisecondi generato da Google Play Games Services per l'ultimo aggiornamento della partita salvata. |
| Tempo di gioco | Un tempo (in millisecondi) fornito dallo sviluppatore da visualizzare nella partita salvata gioco. Questo valore deve rappresentare il tempo trascorso dal giocatore a giocare la 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: