브라우저 게임용 PlayDrop 클라이언트 SDK
모든 PlayDrop 게임에서 쓸 수 있는 선택형 브라우저 SDK입니다. 스크립트 태그 하나로 호스트 수명 주기, 로그인, 저장, 리더보드, 구매, 광고, 친구, 멀티플레이어, 공유 라이브러리를 이용하세요.
PlayDrop SDK는 선택 사항이며, SDK가 없는 게임도 PlayDrop에서 플레이할 수 있습니다. 플레이어 로그인, 저장, 업적과 리더보드, 크레딧 구매, 광고, PlayDrop Chat의 친구와 게임 카드, 공유 링크, 호스트가 관리하는 일시 정지와 오디오, 호스팅 멀티플레이어, AI 생성 같은 플랫폼 기능이 필요할 때 추가하세요. PlayDrop Cloud는 SDK를 대신 통합해 주고, PlayDrop Connector를 사용하면 에이전트가 스크립트 태그 하나를 추가합니다.
SDK 추가 및 호스트 수명 주기 준수
<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>PlayDrop CDN에서 SDK를 로드하세요. 패키지를 설치할 필요가 없습니다. sdk.host.ready()를 호출하기 전에 플레이 가능한 첫 프레임을 렌더링하고 입력을 준비하세요. 호스트가 일시 정지하면 시뮬레이션을 일시 정지하고, 루프가 중복되지 않도록 재개하며, 호스트 오디오 정책을 따르세요.
신원, 저장 및 언어
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 페이지에서 다룹니다. 직접 운영하는 서버에는 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을 참고하세요.