PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
Masuk
Simpanan cloud
Dokumentasi

Mulai di sini

RingkasanGame pertamamuGame PlayDropFAQ

Buat dengan Cloud

Pembuatan CloudPaket & generasi

Hubungkan aplikasi AI Anda

Semua konektorClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Terbitkan dan bagikan

Terbitkan dari aplikasi AI AndaGame HTML sederhanaPengemasan dan .playTerbitkan dan imporBerkas gameVisibilitas dan jangkauanGambar dan video listinganGenre dan tagLokalisasiGame Instan

Pengalaman bermain

Pemuatan, jeda, dan audioLayar penuh dan area amanSimpanan cloudGrup lokal dan pengontrol

Bermain bersama

Berbagi, teman, dan undanganPapan peringkatPencapaianGrup online dan suaraServer game realtime

Penghasilan

MonetisasiKredit & hadiah

Aset

Aset gamePembuatan aset AIFormat kustom dan kreasi pemain

Referensi

SDK klienSDK servercatalogue.jsonKesalahan dan pemulihanPemecahan masalah
DokumentasiSimpanan cloud
Pengalaman bermain

Simpanan cloud untuk game PlayDrop

Simpan dan muat progres dengan sdk.me.appData dan sdk.me.updateAppData untuk tamu dan pemain yang sudah masuk, plus aturan penulisan, pratinjau, dan offline.

Simpanan cloud menjaga progres setiap pemain di game Anda di PlayDrop, sehingga progres itu ikut bersama mereka dari situs web ke aplikasi. Satu objek JSON disimpan per pemain dan game; tidak perlu server atau room multiplayer.

Baca dan tulis

Setelah init(), sdk.me.appData adalah snapshot yang tersimpan: { data, seq, ts_event, ts_arrival }, atau null sebelum penyimpanan pertama. Baca objek Anda dari data. Tulis seluruh objek dengan updateAppData, yang mengembalikan snapshot tersimpan dan memperbarui 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
}
  • Setiap penulisan mengganti seluruh objek yang tersimpan: pertahankan setiap field yang masih Anda perlukan.
  • Lakukan penulisan secara berurutan, seperti di atas, agar simpanan lama tidak pernah tiba setelah simpanan yang lebih baru, dan biarkan antrean tetap berjalan setelah kegagalan.
  • Tampilkan "Tersimpan" hanya setelah promise selesai. Mengubah appData.data di memori tidak menyimpan apa pun.
  • appData tidak memiliki metode get, set, atau save.

Kapan menyimpan

Simpan di checkpoint, akhir level, dan pembelian, bukan di setiap frame. Jangan pernah menyimpan selama pratinjau atau perekaman: tulis hanya saat sdk.host.phase bernilai play. Buat simpanan tetap kecil dan berversi dengan field Anda sendiri, misalnya saveVersion: 2, agar versi game berikutnya bisa memigrasikannya.

Tamu dan pemain yang sudah masuk

Anda tidak perlu memeriksa sdk.me.isLoggedIn sebelum menyimpan: tamu PlayDrop juga menyimpan progres mereka. Pemain tanpa sesi sama sekali menyimpan data di memori selama kunjungan itu, jadi penulisan yang selesai tidak membuktikan simpanan sampai ke cloud. Gunakan isLoggedIn hanya untuk fitur yang memerlukan akun sungguhan, seperti pembelian dan multiplayer yang di-hosting.

Offline

Di browser, simpanan memerlukan koneksi dan tidak ada antrean offline: lanjutkan permainan jika gagal dan coba lagi di checkpoint berikutnya. Host yang menyatakan dukungan data perangkat, seperti aplikasi PlayDrop yang bisa offline, menyimpan data di perangkat dan menyinkronkannya saat online.

Yang bukan fungsi simpanan

Simpanan bersifat privat untuk satu pemain dan satu game. Simpanan terpisah dari papan peringkat dan pencapaian, yang memiliki API sendiri dan tampil di PlayDrop. Status yang dibagikan antarpemain, seperti pertandingan atau dunia, harus berada di server game dalam koleksi MongoDB game Anda.

Uji

Simpanan terikat pada game yang sudah diunggah. Unggah versi privat setidaknya sekali, lalu uji dari url di tanda terima atau dari frame Dev lokal yang dijelaskan di menerbitkan dari aplikasi AI Anda.

Panduan terkait

  • Papan peringkatDeklarasikan papan peringkat di catalogue.json, kirim skor lewat sdk.leaderboards, tampilkan peringkat teratas dan sekitar pemain. Jenis skor, batas, aturan.
  • PencapaianDeklarasikan pencapaian standar dan bertahap dengan ikon di catalogue.json, lalu buka dan laporkan progresnya dengan sdk.achievements.
  • Server game realtimeJalankan server Colyseus 0.17 yang di-hosting dengan MongoDB untuk game Anda, hubungkan dari browser lewat SDK, uji dengan dua pemain, dan pahami batasnya.
SebelumnyaLayar penuh, area aman, dan sudut HUD untuk game PlayDropBerikutnyaGrup lokal, gamepad, dan pengontrol ponsel di game PlayDrop
Lihat Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Di halaman ini

Baca dan tulisKapan menyimpanTamu dan pemain yang sudah masukOfflineYang bukan fungsi simpananUji
Lihat Markdown