Cloud-Speicherstände

Speichern Sie JSON-Dokumente pro Spieler unter Schlüsseln – mit Revisionen, damit sich zwei Geräte nie unbemerkt gegenseitig überschreiben.

Codekommentare und API-Namen bleiben auf Englisch, damit sie zu den SDKs passen.

Auf dieser Seite

Speichern#

Speichern Sie beliebige serialisierbare Objekte (Unity) oder JSON-Werte unter einem Schlüssel. Jeder Speichervorgang erhält die nächste Revisionsnummer.

C#
[System.Serializable]
public class Progress { public int level; public int coins; }

var saved = await Majacloud.CloudSave.SaveAsync("progress", new Progress { level = 3, coins = 120 });
if (saved.Ok) Debug.Log("Saved revision " + saved.Value.Revision);

Laden#

Das Laden eines nie gespeicherten Schlüssels liefert not_found: Behandeln Sie das als ersten Start.

C#
var loaded = await Majacloud.CloudSave.LoadAsync<Progress>("progress");
if (loaded.Ok) progress = loaded.Value.Data;
else if (loaded.IsNotFound) progress = new Progress(); // first launch

Revisionen und Konflikte#

Übergeben Sie die geladene Revision als erwartete Revision. Hat ein anderes Gerät zwischenzeitlich gespeichert, schlägt das Speichern mit revision_mismatch und details.current_revision fehl; laden Sie erneut, führen Sie die Daten zusammen und versuchen Sie es noch einmal. Eine erwartete Revision von 0 bedeutet nur neu anlegen.

C#
// Only overwrite the revision we loaded; another device may have saved since
var safe = await Majacloud.CloudSave.SaveAsync("progress", progress, expectedRevision: loaded.Value.Revision);
if (!safe.Ok && safe.Error.Code == MajacloudErrorCode.RevisionMismatch)
{
    // Load again, merge, and save with the new revision
}

Auflisten und löschen#

Listen Sie die Schlüssel des Spielers mit Revisionen und Größen auf und löschen Sie Schlüssel, die Sie nicht mehr benötigen:

C#
var keys = await Majacloud.CloudSave.ListAsync();
foreach (var entry in keys.Value) Debug.Log(entry.Key + " r" + entry.Revision + " " + entry.SizeBytes + " B");

await Majacloud.CloudSave.DeleteAsync("old_slot");

Limits#

  • Bis zu 256 KB pro Dokument und 100 Schlüssel pro Spieler.
  • Schlüssel dürfen Buchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten (bis zu 80 Zeichen).
  • Der Gesamtspeicher pro Konto hängt vom Tarif ab (siehe Limits); ist er erschöpft, schlägt das Speichern mit plan_limit fehl, und es wird nichts gelöscht.

Durchsucht Seitentitel, Überschriften und Text.

↑↓ zum Navigieren ↵ zum Öffnen Esc zum Schließen