GETTING STARTED / 10 MINUTES
첫 게임을 등록하세요.
게임 서버는 그대로 유지하면서 공개 HTTPS 진입점과 공용 플레이어 계약만 연결합니다. 등록은 초안으로 시작하며 기존 라이브 게임에는 영향을 주지 않습니다.01 / PREPARE
등록 전에 준비할 것
- 변경하지 않을 kebab-case 게임 ID와 공개 HTTPS 런타임 URL
- 한국어·영어·일본어 제목, 장르, 지원 언어, 정사각형 대표 이미지
- 데스크톱 16:9와 모바일 9:16에서 동작하는 반응형 화면
- 젬 상품이 있다면 서버 지급 키, 젬 가격, 멱등 처리 방식
02 / MANIFEST
등록 매니페스트
내부 등록 콘솔 또는 발급받은 MCP 키에 아래 형태로 전달합니다. 외부 등록은 항상 draft로 생성됩니다.
{
"gameId": "studio-puzzle",
"title": { "ko": "스튜디오 퍼즐", "en": "Studio Puzzle", "ja": "スタジオパズル" },
"genres": ["puzzle", "casual"],
"runtimeUrl": "https://games.example.com/studio-puzzle",
"thumbnailUrl": "https://games.example.com/studio-puzzle/icon.webp",
"locales": ["ko", "ja", "en"],
"desktopAspect": "16 / 9",
"mobileAspect": "9 / 16",
"webBannerEnabled": true,
"products": []
}03 / PLAYER
iframe을 실제 크기로 채우기
기준 해상도는 제작 좌표계일 뿐 고정 CSS 크기가 아닙니다. 게임은 포털이 준 iframe의 실제 너비와 높이를 채워야 하며 모바일 내부 스크롤을 만들면 안 됩니다.
html, body, #game-root {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
}
canvas {
display: block;
width: 100%;
height: 100%;
touch-action: none;
}웹과 앱인토스 모두 KOISCORE 공통 플레이어 셸에서 게임 타이틀과 젬 잔액을 표시합니다. 게임 iframe은 이를 중복해서 그리지 않습니다.
채널별 차이
| 항목 | WEB | APPS IN TOSS |
|---|---|---|
| 플레이어 셸 | KOISCORE 공통 셸 | KOISCORE 앱인토스용 공통 셸 |
| 상단 표시 | 게임 타이틀 + 공용 젬 | 게임 타이틀 + 공용 젬 |
| 사용자 | Google 로그인 + 프로필 설정 | Google 로그인 + 프로필 설정 |
| 게임 콘텐츠 | 공통 게임 프레임 | 공통 게임 프레임 |
| 광고 | 웹 포털 광고 | Apps in Toss 광고 SDK |
즉, 게임 연동 방식은 동일하고 실행 채널이 선택하는 광고 어댑터만 달라집니다. 앱인토스에서는 웹 광고 슬롯을 숨기고 Apps in Toss 광고만 호출합니다.
04 / REVIEW
검수와 출시
- 등록 데이터와 상품 매니페스트를 검증합니다.
- 390×844, 360×800, 1366×768, 1920×1080 뷰포트를 확인합니다.
- 언어, 음소거, 포털 메시지, 지갑 영수증과 중복 지급 방지를 확인합니다.
- 설정된 유효 플레이타임·세션 조건을 충족하면 승인하거나 운영자가 강제 출시합니다.