PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
Logga in
Molnsparningar
Dokumentation

Börja här

ÖversiktDitt första spelPlayDrop-spelFAQ

Skapa med Cloud

Skapa med CloudPlaner och genereringar

Anslut din AI-app

Alla connectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publicera och dela

Publicera från din AI-appEnkla HTML-spelPaketering och .playPublicera och importeraSpelfilerSynlighet och räckviddBilder och video för spelsidanGenrer och taggarLokaliseringInstant-spel

Spelupplevelse

Inläsning, paus och ljudHelskärm och säkra områdenMolnsparningarLokala grupper och handkontroller

Spela tillsammans

Delning, vänner och inbjudningarTopplistorPrestationerOnlinegrupper och röstSpelservrar i realtid

Tjäna

IntäkterKrediter och belöningar

Assets

SpelassetsAI-generering av assetsEgna format och skapelser

Referens

Klient-SDKServer-SDKcatalogue.jsonFel och åtgärderFelsökning
DokumentationMolnsparningar
Spelupplevelse

Molnsparningar för PlayDrop-spel

Spara och läs in spelarens framsteg med sdk.me.appData och updateAppData, för gäster och inloggade, med regler för skrivningar, förhandsvisningar och offline.

Molnsparningar behåller varje spelares framsteg i ditt spel på PlayDrop, så att de följer med från webbplatsen till apparna. Ett JSON-objekt per spelare och spel sparas; ingen server eller flerspelarrum behövs.

Läs och skriv

Efter init() är sdk.me.appData den sparade ögonblicksbilden: { data, seq, ts_event, ts_arrival }, eller null före den första sparningen. Läs ditt objekt från data. Skriv hela objektet med updateAppData, som returnerar den sparade ögonblicksbilden och uppdaterar 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
}
  • Varje skrivning ersätter hela det sparade objektet: behåll alla fält som du fortfarande behöver.
  • Utför skrivningar i följd, som ovan, så att en äldre sparning aldrig landar efter en nyare, och håll kön igång efter ett fel.
  • Visa ”Sparat” först när promise-objektet har slutförts. Att ändra appData.data i minnet sparar ingenting.
  • appData har inga metoder get, set eller save.

När du ska spara

Spara vid kontrollpunkter, slutet av banor och köp i stället för varje bildruta. Spara aldrig under förhandsvisningar eller inspelningar: skriv bara när sdk.host.phase är play. Håll sparningen liten och versionerad med ett eget fält, som saveVersion: 2, så att en senare version av spelet kan migrera den.

Gäster och inloggade spelare

Du behöver inte kontrollera sdk.me.isLoggedIn innan du sparar: PlayDrop-gäster behåller också sina sparningar. En spelare helt utan session behåller sparningen i minnet under det besöket, så en slutförd skrivning bevisar inte att sparningen nådde molnet. Använd isLoggedIn bara för funktioner som kräver ett riktigt konto, som köp och hostat flerspelarläge.

Offline

I en webbläsare kräver sparningar en anslutning och det finns ingen offlinekö: fortsätt spela vid fel och försök igen vid nästa kontrollpunkt. Värdar som anger stöd för enhetsdata, som PlayDrop-appar med offlinestöd, behåller sparningar på enheten och synkroniserar dem när de är online.

Vad sparningar inte är

Sparningar är privata för en spelare och ett spel. De är skilda från topplistor och prestationer, som har egna API:er och visas på PlayDrop. Tillstånd som delas mellan spelare, som en match eller en värld, hör hemma på en spelserver i ditt spels MongoDB-samlingar.

Testa

Sparningar hör till ett uppladdat spel. Ladda upp en privat version minst en gång och testa sedan från kvittots url eller från den lokala Dev-ramen som beskrivs i publicera från din AI-app.

Relaterade guider

  • TopplistorDeklarera topplistor i catalogue.json, skicka poäng med sdk.leaderboards och visa toppen och spelarens grannar. Poängtyper, gränser och uppdateringsregler.
  • PrestationerDeklarera vanliga och stegvisa prestationer med ikoner i catalogue.json, lås upp dem och rapportera framsteg med sdk.achievements.
  • Spelservrar i realtidKör en hostad Colyseus 0.17-server med en MongoDB-databas för ditt spel, anslut från webbläsaren med SDK:t, testa med två spelare och känn till gränserna.
FöregåendeHelskärm, säkra områden och HUD-hörn för PlayDrop-spelNästaLokala grupper, handkontroller och telefonkontroller i PlayDrop-spel
Visa Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På den här sidan

Läs och skrivNär du ska sparaGäster och inloggade spelareOfflineVad sparningar inte ärTesta
Visa Markdown