# SDK klien PlayDrop untuk game browser

SDK browser opsional untuk game PlayDrop apa pun: siklus hidup host, login, data simpanan, papan peringkat, pembelian, iklan, teman, multiplayer, dan pustaka bersama, cukup dengan satu tag script.

Source: https://www.playdrop.ai/id/docs/sdk

SDK PlayDrop bersifat opsional: game tanpa SDK tetap bisa dimainkan di PlayDrop. Tambahkan SDK untuk fitur platform seperti login pemain, data simpanan, pencapaian dan papan peringkat, pembelian dengan kredit, iklan, teman dan kartu game di PlayDrop Chat, tautan berbagi, jeda dan audio yang dikelola host, multiplayer yang di-hosting, serta pembuatan konten AI. [PlayDrop Cloud](https://www.playdrop.ai/id/create) mengintegrasikannya untuk Anda; dengan [PlayDrop Connector](https://www.playdrop.ai/id/docs/connectors), agen Anda cukup menambahkan satu tag script.

## Tambahkan SDK dan ikuti siklus hidup host

Muat SDK dari CDN PlayDrop; tidak perlu menginstal paket apa pun. Render frame pertama yang dapat dimainkan dan siapkan input sebelum memanggil `sdk.host.ready()`. Jeda simulasi saat host melakukan jeda, lanjutkan kembali tanpa loop duplikat, dan ikuti kebijakan audio host.

```html
<script src="https://assets.playdrop.ai/sdk/playdrop.js"></script>
<script type="module">
  const sdk = await playdrop.init();
  // Render the game and prepare input, then:
  sdk.host.ready();
  sdk.host.onPause(() => pauseGame());
  sdk.host.onResume(() => resumeGame());
  sdk.host.onAudioPolicyChange(({ enabled }) => setAudioEnabled(enabled));
</script>
```

## Identitas, data simpanan, dan bahasa

`sdk.me` menyediakan identitas pemain dan `sdk.me.appData` menyimpan data simpanan privat; `sdk.achievements` dan `sdk.leaderboards` menangani pencapaian dan skor. Data simpanan, pencapaian, dan papan peringkat berfungsi tanpa pemeriksaan login terlebih dahulu. Gunakan `sdk.me.isLoggedIn` untuk fitur yang memerlukan akun sungguhan, seperti pembelian atau multiplayer. Mode pratinjau dan mode capture tidak boleh menulis progres pemain. `sdk.host.locale` memberikan bahasa pemain: sediakan bahasa Inggris ditambah bahasa Anda sendiri jika berbeda. Menerjemahkan listingan tidak menerjemahkan konten game.

## Pustaka, aset, dan multiplayer

`sdk.libs` memuat versi Three.js, Phaser, Rapier, nipplejs, dan Colyseus yang didukung. `sdk.assets` menyediakan referensi katalog, pack, dan aset; `sdk.social` menyediakan teman, kartu game, dan aksi berbagi. Untuk multiplayer yang di-hosting, `sdk.multiplayer.getConnection()` mengembalikan alamat server dan token pemain yang sedang login; bergabunglah dengan klien Colyseus. Halaman [SDK server](https://www.playdrop.ai/id/docs/server-sdk) membahas server yang di-hosting; server yang Anda jalankan sendiri tidak memerlukan apa pun dari SDK. API room relay yang lama sudah dihentikan.

## Uji dengan SDK sebelum memublikasikan

Jalankan server dev seperti biasa dan buka `https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/` di Chrome untuk memainkannya di dalam frame PlayDrop yang sebenarnya dengan host SDK. Port localhost atau URL https apa pun dapat digunakan. Fitur yang memerlukan akun, seperti data simpanan dan pembelian, berfungsi setelah game diunggah sekali; unggahan privat sudah cukup. Pembuatan media di browser berjalan sebagai tugas asinkron dengan biaya kredit yang dikonfirmasi oleh host. Lihat [catalogue.json](https://www.playdrop.ai/id/docs/catalogue-json) untuk metadata listingan.
