Guardado en la nube

Guarda documentos JSON por jugador bajo claves, con revisiones para que dos dispositivos nunca se sobrescriban sin avisar.

Los comentarios del código y los nombres de la API se mantienen en inglés para que coincidan con los SDK.

En esta página

Guardar#

Guarda cualquier objeto serializable (Unity) o valor JSON bajo una clave. Cada guardado recibe el siguiente número de revisión.

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);

Cargar#

Cargar una clave que nunca se guardó devuelve not_found: trátalo como el primer inicio.

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

Revisiones y conflictos#

Pasa la revisión que cargaste como revisión esperada. Si otro dispositivo guardó mientras tanto, el guardado falla con revision_mismatch y details.current_revision; vuelve a cargar, combina los datos y reintenta. Una revisión esperada de 0 significa solo crear.

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
}

Listar y eliminar#

Lista las claves del jugador con sus revisiones y tamaños, y elimina las que ya no necesites:

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");

Límites#

  • Hasta 256 KB por documento y 100 claves por jugador.
  • Las claves pueden contener letras, números, puntos, guiones y guiones bajos (hasta 80 caracteres).
  • El almacenamiento total por cuenta depende del plan (consulta Límites); si se supera, los guardados fallan con plan_limit y no se elimina nada.

Busca en títulos, encabezados y texto de las páginas.

↑↓ para navegar ↵ para abrir Esc para cerrar