# 브라우저 게임용 PlayDrop 클라이언트 SDK

모든 PlayDrop 게임에서 쓸 수 있는 선택형 브라우저 SDK입니다. 스크립트 태그 하나로 호스트 수명 주기, 로그인, 저장, 리더보드, 구매, 광고, 친구, 멀티플레이어, 공유 라이브러리를 이용하세요.

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

PlayDrop SDK는 선택 사항이며, SDK가 없는 게임도 PlayDrop에서 플레이할 수 있습니다. 플레이어 로그인, 저장, 업적과 리더보드, 크레딧 구매, 광고, PlayDrop Chat의 친구와 게임 카드, 공유 링크, 호스트가 관리하는 일시 정지와 오디오, 호스팅 멀티플레이어, AI 생성 같은 플랫폼 기능이 필요할 때 추가하세요. [PlayDrop Cloud](https://www.playdrop.ai/ko/create)는 SDK를 대신 통합해 주고, [PlayDrop Connector](https://www.playdrop.ai/ko/docs/connectors)를 사용하면 에이전트가 스크립트 태그 하나를 추가합니다.

## SDK 추가 및 호스트 수명 주기 준수

PlayDrop CDN에서 SDK를 로드하세요. 패키지를 설치할 필요가 없습니다. `sdk.host.ready()`를 호출하기 전에 플레이 가능한 첫 프레임을 렌더링하고 입력을 준비하세요. 호스트가 일시 정지하면 시뮬레이션을 일시 정지하고, 루프가 중복되지 않도록 재개하며, 호스트 오디오 정책을 따르세요.

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

## 신원, 저장 및 언어

`sdk.me`는 플레이어 신원을 제공하고 `sdk.me.appData`는 비공개 저장 데이터를 보관합니다. `sdk.achievements`와 `sdk.leaderboards`는 업적과 점수를 처리합니다. 저장, 업적, 리더보드는 로그인 사전 확인 없이 작동합니다. 구매나 멀티플레이어처럼 실제 계정이 필요한 기능에는 `sdk.me.isLoggedIn`을 사용하세요. 미리보기 및 캡처 모드에서는 플레이어 진행 상황을 기록해서는 안 됩니다. `sdk.host.locale`은 플레이어의 언어를 제공합니다. 영어를 기본으로 제공하고, 본인의 언어가 다르다면 그 언어도 함께 제공하세요. 등록 정보를 번역해도 게임 콘텐츠는 번역되지 않습니다.

## 라이브러리, 에셋 및 멀티플레이어

`sdk.libs`는 지원되는 버전의 Three.js, Phaser, Rapier, nipplejs 및 Colyseus를 로드합니다. `sdk.assets`는 카탈로그, 팩 및 에셋 참조를 제공하고, `sdk.social`은 친구, 게임 카드 및 공유 기능을 제공합니다. 호스팅 멀티플레이어에서는 `sdk.multiplayer.getConnection()`이 서버 주소와 로그인한 플레이어의 토큰을 반환하므로, Colyseus 클라이언트로 참여하세요. 호스팅 서버는 [서버 SDK](https://www.playdrop.ai/ko/docs/server-sdk) 페이지에서 다룹니다. 직접 운영하는 서버에는 SDK가 전혀 필요하지 않습니다. 이전 릴레이 룸 API는 폐기되었습니다.

## 게시 전에 SDK로 테스트하기

평소처럼 개발 서버를 실행하고 Chrome에서 `https://www.playdrop.ai/creators/<username>/apps/game/<slug>/dev?url=http://localhost:5173/`를 열면, SDK 호스트가 포함된 실제 PlayDrop 프레임 안에서 게임을 플레이할 수 있습니다. localhost 포트나 https URL이라면 무엇이든 사용할 수 있습니다. 저장이나 구매처럼 계정이 필요한 기능은 게임을 한 번 업로드한 뒤부터 작동하며, 비공개 업로드로도 충분합니다. 브라우저 미디어 생성은 호스트가 확인한 크레딧 비용과 함께 비동기 작업으로 실행됩니다. 등록 정보 메타데이터는 [catalogue.json](https://www.playdrop.ai/ko/docs/catalogue-json)을 참고하세요.
