PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
Accedi
Salvataggi cloud
Documentazione

Inizia da qui

PanoramicaIl tuo primo giocoGiochi PlayDropFAQ

Crea con Cloud

Creazione con CloudPiani e generazioni

Collega la tua app di IA

Tutti i connettoriClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Pubblica e condividi

Pubblica dalla tua app di IAGiochi in HTML semplicePacchetti e .playPubblica e importaFile di giocoVisibilità e pubblicoImmagini e video della schedaGeneri e tagLocalizzazioneGiochi Instant

Esperienza di gioco

Caricamento, pausa e audioSchermo intero e aree sicureSalvataggi cloudGruppi locali e controller

Gioca insieme

Condivisione, amici e invitiClassificheObiettiviGruppi online e voceServer in tempo reale

Guadagna

MonetizzazioneCrediti e ricompense

Asset

Asset di giocoAsset con l’IAFormati e creazioni

Riferimento

SDK clientSDK servercatalogue.jsonErrori e recuperoRisoluzione dei problemi
DocumentazioneSalvataggi cloud
Esperienza di gioco

Salvataggi cloud per i giochi PlayDrop

Salva e carica i progressi con sdk.me.appData e sdk.me.updateAppData, per ospiti e giocatori con accesso: regole per scritture, anteprime e gioco offline.

I salvataggi cloud conservano su PlayDrop i progressi di ogni giocatore nel tuo gioco, così i progressi lo seguono dal sito alle app. Viene memorizzato un oggetto JSON per giocatore e per gioco; non servono un server né una stanza multiplayer.

Leggi e scrivi

Dopo init(), sdk.me.appData è l’istantanea salvata: { data, seq, ts_event, ts_arrival }, oppure null prima del primo salvataggio. Leggi il tuo oggetto da data. Scrivi l’intero oggetto con updateAppData, che restituisce l’istantanea salvata e aggiorna sdk.me.appData.

js
const sdk = await playdrop.init();
let progress = { level: 1, coins: 0, ...(sdk.me.appData?.data ?? {}) };
let queue = Promise.resolve();

// Resolves with the saved snapshot; rejects when the save failed.
function save(changes) {
  progress = { ...progress, ...changes };
  const snapshot = { ...progress };
  const attempt = queue.then(() => sdk.me.updateAppData(snapshot));
  queue = attempt.catch(() => {}); // a failed save must not block the next one
  return attempt;
}

try {
  await save({ level: 2 });
  showSaved();
} catch (error) {
  showSaveError(); // progress stays in memory; the next save sends it again
}
  • Ogni scrittura sostituisce l’intero oggetto salvato: conserva tutti i campi che ti servono ancora.
  • Esegui le scritture in sequenza, come sopra, così un salvataggio più vecchio non arriva mai dopo uno più recente, e mantieni attiva la coda dopo un errore.
  • Mostra «Salvato» solo dopo che la promise si è risolta. Modificare appData.data in memoria non salva nulla.
  • appData non ha metodi get, set o save.

Quando salvare

Salva ai checkpoint, alla fine dei livelli e dopo gli acquisti, invece che a ogni frame. Non salvare mai durante anteprime o acquisizioni: scrivi solo quando sdk.host.phase è play. Mantieni il salvataggio piccolo e indica una versione in un campo tuo, come saveVersion: 2, così una versione successiva del gioco può migrarlo.

Ospiti e giocatori con accesso

Non devi controllare sdk.me.isLoggedIn prima di salvare: anche gli ospiti di PlayDrop conservano i loro salvataggi. Un giocatore senza alcuna sessione mantiene il salvataggio in memoria per quella visita, quindi una scrittura risolta non dimostra che il salvataggio abbia raggiunto il cloud. Usa isLoggedIn solo per le funzioni che richiedono un vero account, come acquisti e multiplayer ospitato.

Offline

Nel browser i salvataggi richiedono una connessione e non c’è una coda offline: continua a giocare in caso di errore e riprova al checkpoint successivo. Gli host che dichiarano il supporto ai dati sul dispositivo, come le app PlayDrop che funzionano offline, conservano i salvataggi sul dispositivo e li sincronizzano quando sono online.

Cosa non sono i salvataggi

I salvataggi sono privati e legati a un solo giocatore e a un solo gioco. Sono separati dalle classifiche e dagli obiettivi, che hanno API proprie e compaiono su PlayDrop. Lo stato condiviso tra giocatori, come una partita o un mondo, va su un server di gioco, nelle collezioni MongoDB del tuo gioco.

Prova

I salvataggi appartengono a un gioco caricato. Carica almeno una volta una versione privata, poi prova dall’url della ricevuta o dal frame Dev locale descritto in pubblicare dalla tua app di IA.

Guide correlate

  • ClassificheDichiara le classifiche in catalogue.json, invia punteggi con sdk.leaderboards e mostra i primi posti e i vicini del giocatore. Tipi, limiti e aggiornamenti.
  • ObiettiviDichiara obiettivi standard e incrementali con icone in catalogue.json, sbloccali e segnala i progressi con sdk.achievements.
  • Server in tempo realeEsegui un server Colyseus 0.17 ospitato con un database MongoDB, collegati dal browser con l’SDK, prova con due giocatori e conosci i limiti.
PrecedenteSchermo intero, aree sicure e angoli dell’HUD nei giochi PlayDropSuccessivoGruppi locali, gamepad e telefoni come controller nei giochi PlayDrop
Vedi il Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

In questa pagina

Leggi e scriviQuando salvareOspiti e giocatori con accessoOfflineCosa non sono i salvataggiProva
Vedi il Markdown