Cloud save

Simpan dokumen JSON per pemain di bawah key, dengan revisi agar dua perangkat tidak pernah saling menimpa diam-diam.

Komentar kode dan nama API tetap dalam bahasa Inggris agar sesuai dengan SDK.

Di halaman ini

Menyimpan#

Simpan objek apa pun yang bisa diserialisasi (Unity) atau nilai JSON di bawah sebuah key. Setiap penyimpanan mendapat nomor revisi berikutnya.

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

Memuat#

Memuat key yang belum pernah disimpan menghasilkan not_found: anggap saja game baru pertama kali dibuka.

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

Revisi dan konflik#

Berikan revisi yang Anda muat sebagai revisi yang diharapkan. Jika perangkat lain menyimpan di sela-selanya, penyimpanan gagal dengan revision_mismatch dan details.current_revision; muat lagi, gabungkan, lalu coba lagi. Revisi yang diharapkan bernilai 0 berarti hanya buat baru.

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
}

Daftar dan hapus#

Tampilkan daftar key milik pemain beserta revisi dan ukurannya, lalu hapus key yang tidak lagi dibutuhkan:

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

Batas#

  • Hingga 256 KB per dokumen dan 100 key per pemain.
  • Key boleh berisi huruf, angka, titik, strip, dan garis bawah (hingga 80 karakter).
  • Total penyimpanan per akun bergantung pada paket (lihat Batas); jika terlampaui, penyimpanan gagal dengan plan_limit dan tidak ada yang dihapus.

Cari judul halaman, subjudul, dan teks.

↑↓ untuk berpindah ↵ untuk membuka Esc untuk menutup