# SDK de cliente do PlayDrop para jogos de navegador

SDK de navegador opcional para qualquer jogo do PlayDrop: ciclo de vida do host, login, salvamentos, placares, compras, anúncios, amigos, multijogador e bibliotecas compartilhadas, com uma única tag de script.

Source: https://www.playdrop.ai/pt-br/docs/sdk

O SDK do PlayDrop é opcional: jogos sem ele também rodam no PlayDrop. Adicione-o para ter recursos da plataforma, como login do jogador, salvamentos, conquistas e placares, compras com créditos, anúncios, amigos e cards de jogo no PlayDrop Chat, links de compartilhamento, pausa e áudio gerenciados pelo host, multijogador hospedado e geração com IA. O [PlayDrop Cloud](https://www.playdrop.ai/pt-br/create) faz a integração para você; com o [PlayDrop Connector](https://www.playdrop.ai/pt-br/docs/connectors), seu agente adiciona uma tag de script.

## Adicione o SDK e siga o ciclo de vida do host

Carregue o SDK pela CDN do PlayDrop; não é preciso instalar nenhum pacote. Renderize o primeiro quadro jogável e prepare a entrada antes de chamar `sdk.host.ready()`. Pause a simulação quando o host pausar, retome sem loops duplicados e siga a política de áudio do 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>
```

## Identidade, salvamentos e idioma

`sdk.me` expõe a identidade do jogador e `sdk.me.appData` armazena salvamentos privados; `sdk.achievements` e `sdk.leaderboards` cuidam de conquistas e pontuações. Salvamentos, conquistas e placares funcionam sem verificação prévia de login. Use `sdk.me.isLoggedIn` para recursos que exigem uma conta real, como compras ou multijogador. Os modos de prévia e de captura não devem gravar o progresso do jogador. `sdk.host.locale` fornece o idioma do jogador: ofereça o jogo em inglês e também no seu idioma, se for diferente. Traduzir uma listagem não traduz o conteúdo do jogo.

## Bibliotecas, assets e multijogador

`sdk.libs` carrega versões compatíveis de Three.js, Phaser, Rapier, nipplejs e Colyseus. `sdk.assets` fornece referências de catálogo, de pacote e de asset; `sdk.social` oferece amigos, cards de jogo e ações de compartilhamento. Para o multijogador hospedado, `sdk.multiplayer.getConnection()` retorna o endereço do servidor e o token do jogador logado; entre na sala com o cliente Colyseus. A página do [SDK de servidor](https://www.playdrop.ai/pt-br/docs/server-sdk) aborda os servidores hospedados; um servidor que você mesmo executa não precisa de nada do SDK. As antigas APIs de salas de retransmissão foram descontinuadas.

## Teste com o SDK antes de publicar

Rode seu servidor de desenvolvimento de sempre e abra `https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/` no Chrome para jogar dentro do frame real do PlayDrop, com o host do SDK. Qualquer porta de localhost ou URL https funciona. Recursos que exigem uma conta, como salvamentos e compras, funcionam depois que o jogo é enviado uma vez; um envio privado basta. A geração de mídia no navegador é executada como tarefas assíncronas, com custo em créditos confirmado pelo host. Consulte [catalogue.json](https://www.playdrop.ai/pt-br/docs/catalogue-json) para ver os metadados da listagem.
