PLAY NETWORK SDK · 0.1.0
게임에 친구를 초대하세요.
연결 서비스 요청, WebRTC 연결 객체 생성, 플랫폼 초대 링크를 제공하는 브라우저용 어댑터입니다.
1. HTML에서 불러오기
index.html에서 게임 코드보다 먼저 불러옵니다. 아래 두 예약 경로는 업로드 후 플랫폼이 제공합니다. 공개 URL과 게임 ID만 포함되며 비밀키를 넣지 않습니다.
<script src="./platform-config.js"></script> <script src="./platform-network.js"></script> <script src="./game.js"></script>
game.json에 "network": "play-v1"을 지정하세요. 로컬 게임 폴더만 열어서는 예약 경로를 사용할 수 없으므로 업로드 미리보기에서 확인하세요.
2. 모임 만들기와 초대
아래는 모임 생성 부분의 예시입니다. 네트워크 오류는 게임 UI에 표시하고, 반환된 토큰은 URL이나 채팅에 노출하지 마세요.
try {
const member = await PlatformNetwork.request(
"lobbies", "POST", { nickname: "푸른기사" }
);
const inviteUrl = PlatformNetwork.invite(member.lobbyId);
// inviteUrl을 게임의 초대 UI에 표시합니다.
// member.token은 본인 요청에만 사용합니다.
} catch (error) {
// error.message를 오류 UI에 표시합니다.
}입장은 lobbies/모임ID/join에 POST, 모임 상태는 lobbies/모임ID/poll에 GET으로 요청합니다. 상태 조회에는 네 번째 인자로 회원 토큰을 전달합니다. 연결 루프와 경기 상태 교환의 전체 예시는 ZIP의 lobby.js와 multiplayer.js를 참고하세요.
3. 제공 API
| API | 하는 일 |
|---|---|
request(path, method?, data?, token?) | 게임별 연결 서비스에 요청합니다. 기본 메서드는 GET이며 Promise로 결과를 반환합니다. 타임아웃은 12초입니다. |
createPeer(options) | RTCPeerConnection을 생성합니다. 모임 가입 후 request("config")로 ICE 서버 설정을 받습니다. |
invite(lobbyId) | 플랫폼 플레이 페이지의 초대 URL을 반환하고 부모 페이지에 초대 이벤트를 보냅니다. |
version | 현재 SDK 버전 문자열: 0.1.0 |
연동 전 확인할 점
- 운영 환경의 멀티플레이는 게시 승인 후 사용할 수 있습니다. 승인 전에는 싱글·AI 흐름을 확인하세요.
- 게임 파일은 상대 경로를 사용하세요. 외부 스크립트·임의 API·서비스 워커는 현재 실행 정책으로 제한됩니다.
- Supabase 서비스 키와 TURN 공유 비밀키를 게임 파일에 넣지 마세요. TURN 임시 인증정보는 모임 인증 후 서버에서 발급합니다.
- 결제, 공식 랭킹, 호스트 이전, 재접속 복구 API는 현재 SDK에 포함되지 않습니다.