# PlayDrop-Client-SDK für Browserspiele

Optionales Browser-SDK für jedes PlayDrop-Spiel: Host-Lebenszyklus, Anmeldung, Spielstände, Bestenlisten, Käufe, Werbung, Freunde, Multiplayer und gemeinsam genutzte Bibliotheken – mit einem einzigen Script-Tag.

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

Das PlayDrop-SDK ist optional: Auch Spiele ohne SDK laufen auf PlayDrop. Binden Sie es für Plattformfunktionen ein, etwa Spieleranmeldung, Spielstände, Erfolge und Bestenlisten, Käufe mit Credits, Werbung, Freunde und Spielkarten in PlayDrop Chat, Links zum Teilen, vom Host gesteuerte Pause und Audiowiedergabe, gehosteten Multiplayer und KI-Generierung. [PlayDrop Cloud](https://www.playdrop.ai/de/create) integriert es für Sie; mit [PlayDrop Connector](https://www.playdrop.ai/de/docs/connectors) fügt Ihr Agent ein einziges Script-Tag hinzu.

## SDK einbinden und den Host-Lebenszyklus beachten

Laden Sie das SDK vom CDN von PlayDrop; eine Paketinstallation ist nicht nötig. Rendern Sie den ersten spielbaren Frame und bereiten Sie die Eingabe vor, bevor Sie `sdk.host.ready()` aufrufen. Pausieren Sie die Simulation, wenn der Host pausiert, setzen Sie sie ohne doppelte Schleifen fort und befolgen Sie die Audiorichtlinie des Hosts.

```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>
```

## Identität, Spielstände und Sprache

`sdk.me` stellt die Spieleridentität bereit und `sdk.me.appData` speichert private Spielstände; `sdk.achievements` und `sdk.leaderboards` verwalten Erfolge und Punktestände. Spielstände, Erfolge und Bestenlisten funktionieren ohne vorherige Anmeldeprüfung. Verwenden Sie `sdk.me.isLoggedIn` für Funktionen, die ein echtes Konto erfordern, etwa Käufe oder Multiplayer. In Vorschau- und Aufnahmemodi darf kein Spielerfortschritt gespeichert werden. `sdk.host.locale` liefert die Sprache des Spielers: Bieten Sie Ihr Spiel auf Englisch an und zusätzlich in Ihrer eigenen Sprache, falls diese abweicht. Das Übersetzen eines Spieleintrags übersetzt keine Spielinhalte.

## Bibliotheken, Assets und Multiplayer

`sdk.libs` lädt unterstützte Versionen von Three.js, Phaser, Rapier, nipplejs und Colyseus. `sdk.assets` stellt Katalog-, Pack- und Asset-Referenzen bereit; `sdk.social` bietet Freunde, Spielkarten und Aktionen zum Teilen. Für gehosteten Multiplayer liefert `sdk.multiplayer.getConnection()` die Serveradresse und das Token des angemeldeten Spielers; verbinden Sie sich damit über den Colyseus-Client. Die Seite zum [Server-SDK](https://www.playdrop.ai/de/docs/server-sdk) behandelt gehostete Server; ein Server, den Sie selbst betreiben, braucht nichts vom SDK. Die alten Relay-Room-APIs wurden eingestellt.

## Vor der Veröffentlichung mit dem SDK testen

Starten Sie Ihren gewohnten Dev-Server und öffnen Sie `https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/` in Chrome, um das Spiel im echten PlayDrop-Rahmen mit dem SDK-Host zu spielen. Jeder localhost-Port und jede https-URL funktioniert. Funktionen, die ein Konto erfordern, etwa Spielstände und Käufe, funktionieren, sobald das Spiel einmal hochgeladen wurde; ein privater Upload genügt. Die Mediengenerierung im Browser läuft als asynchrone Aufgaben mit vom Host bestätigten Credit-Kosten. Die Metadaten des Spieleintrags finden Sie unter [catalogue.json](https://www.playdrop.ai/de/docs/catalogue-json).
