# SDK de cliente de PlayDrop para juegos de navegador

SDK de navegador opcional para cualquier juego de PlayDrop: ciclo de vida del host, inicio de sesión, partidas guardadas, clasificaciones, compras, anuncios, amigos, multijugador y bibliotecas compartidas, con una sola etiqueta script.

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

El SDK de PlayDrop es opcional: los juegos que no lo usan también se pueden jugar en PlayDrop. Añádelo para usar funciones de la plataforma como el inicio de sesión de los jugadores, las partidas guardadas, los logros y las tablas de clasificación, las compras con créditos, los anuncios, los amigos y las tarjetas de juego en PlayDrop Chat, los enlaces para compartir, la pausa y el audio gestionados por el host, el multijugador alojado y la generación con IA. [PlayDrop Cloud](https://www.playdrop.ai/es/create) lo integra por ti; con [PlayDrop Connector](https://www.playdrop.ai/es/docs/connectors), tu agente añade una sola etiqueta script.

## Añade el SDK y sigue el ciclo de vida del host

Carga el SDK desde la CDN de PlayDrop; no hace falta instalar ningún paquete. Renderiza el primer fotograma jugable y prepara la entrada antes de llamar a `sdk.host.ready()`. Pausa la simulación cuando el host entre en pausa, reanúdala sin duplicar bucles y respeta la política de audio del 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>
```

## Identidad, partidas guardadas e idioma

`sdk.me` expone la identidad del jugador y `sdk.me.appData` almacena sus partidas guardadas privadas; `sdk.achievements` y `sdk.leaderboards` gestionan los logros y las puntuaciones. Las partidas guardadas, los logros y las tablas de clasificación funcionan sin comprobar previamente el inicio de sesión. Usa `sdk.me.isLoggedIn` para las funciones que requieren una cuenta real, como las compras o el multijugador. Los modos de vista previa y de captura no deben guardar el progreso del jugador. `sdk.host.locale` proporciona el idioma del jugador: ofrece tu juego en inglés y también en tu propio idioma si es distinto. Traducir una ficha no traduce el contenido del juego.

## Bibliotecas, recursos y multijugador

`sdk.libs` carga versiones compatibles de Three.js, Phaser, Rapier, nipplejs y Colyseus. `sdk.assets` proporciona referencias de catálogo, de paquetes y de recursos; `sdk.social` ofrece amigos, tarjetas de juego y acciones para compartir. Para el multijugador alojado, `sdk.multiplayer.getConnection()` devuelve la dirección del servidor y el token del jugador que ha iniciado sesión; únete con el cliente de Colyseus. La página del [SDK de servidor](https://www.playdrop.ai/es/docs/server-sdk) cubre los servidores alojados; un servidor que gestiones tú mismo no necesita nada del SDK. Las antiguas API de salas de retransmisión se han retirado.

## Prueba con el SDK antes de publicar

Ejecuta tu servidor de desarrollo habitual y abre `https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/` en Chrome para jugar dentro del marco real de PlayDrop con el host del SDK. Funciona cualquier puerto de localhost o URL https. Las funciones que requieren una cuenta, como las partidas guardadas y las compras, funcionan en cuanto el juego se ha subido una vez; basta con una subida privada. La generación de contenido multimedia desde el navegador se ejecuta como tareas asíncronas con un costo en créditos confirmado por el host. Consulta [catalogue.json](https://www.playdrop.ai/es/docs/catalogue-json) para los metadatos de la ficha.
