개요
WebView는 PlayCamp가 제공하는 부스트/쿠폰 관리 웹 UI입니다. 게임 내 임베디드 브라우저(WebView)뿐만 아니라 외부 브라우저에서도 동작합니다. 별도의 UI 개발 없이 크리에이터 부스트와 쿠폰 기능을 제공할 수 있습니다.게임 내 임베디드 브라우저, 외부 브라우저(모바일/PC) 모두 지원됩니다. 게임 환경에 맞게 적합한 방식을 선택하세요.
Server API 직접 연동 vs WebView 비교
WebView와 Server API 직접 연동은 동시에 사용 가능합니다. 예를 들어 부스트는 WebView로, 결제 등록은 Server API로 처리할 수 있습니다.
아키텍처
연동 흐름
1
OTT 발급 (게임 서버)
게임 서버에서 Server API Key로 OTT(One-Time Token)를 발급합니다.
2
WebView 열기 (게임 클라이언트)
게임 서버로부터 받은 OTT를 URL 파라미터에 포함하여 WebView를 엽니다.
3
유저 인터랙션
유저가 WebView에서 크리에이터 부스트 등록/변경/해제, 쿠폰 검증/사용 등을 수행합니다. 별도의 게임 서버 처리가 필요 없습니다.
4
웹훅으로 결과 수신
WebView에서 발생한 이벤트(부스트 등록, 쿠폰 사용 등)가 웹훅으로 게임 서버에 전달됩니다.
OTT 발급 API
요청
- cURL
- Node SDK
- Go SDK
파라미터
응답 (201 Created)
WebView URL 구성
기본 URL
옵션 파라미터
tabs 옵션
tabs 미지정 시 기본 탭이 표시됩니다 (sponsor, coupon).테마 커스터마이징
WebView의 색상과 폰트를 URL 파라미터로 커스터마이징할 수 있습니다.hex 색상값은
# 없이 입력합니다. 예: primaryColor=FF6B35주요 기능
부스트 관리
WebView에서 유저가 크리에이터를 검색하고 부스트를 등록/변경/해제할 수 있습니다.- 크리에이터 검색: 크리에이터 키 또는 이름으로 검색 (실시간 자동완성)
- 부스트 등록: 선택한 크리에이터에게 부스트 등록
- 부스트 변경: 다른 크리에이터로 변경 (30일 쿨다운 적용)
- 부스트 해제: 현재 부스트 해제


쿠폰 사용
2단계로 쿠폰을 사용합니다: 검증 → 사용- 코드 입력: 5-50자, 자동 대문자 변환, 한글 입력 시 영문 키 위치로 자동 변환
- 검증: 유효성 확인 및 보상 아이템 미리보기
- 사용: 확인 버튼으로 최종 사용 (사용 ID 반환)


웹훅 이벤트 연동
WebView에서 유저가 수행한 액션은 웹훅으로 게임 서버에 전달됩니다.WebView에서 발생하는 이벤트
웹훅 페이로드 예시
sponsor.created (부스트 등록)OTT 발급 시
callbackId를 지정하면, 해당 세션에서 발생하는 모든 웹훅 이벤트에 지정된 ID가 포함됩니다. 웹훅 수신 및 서명 검증 방법은 웹훅 이벤트 페이지를 참고하세요.보안
OTT (One-Time Token)
- 1회성: OTT는 세션 교환 시 즉시 삭제됩니다. 재사용 불가합니다
- 60초 TTL: 발급 후 60초 내에 사용해야 합니다
- 서버 발급 필수: Server API Key가 필요하므로 게임 서버에서만 발급 가능
세션 관리
- 세션 쿠키:
httpOnly,SameSite=strict설정으로 XSS/CSRF 공격 방지 - 세션 TTL: 10분 (마지막 API 호출 기준으로 자동 연장)
- 단일 세션: 같은 유저는 하나의 세션만 허용. 새 세션 생성 시 기존 세션 자동 무효화
CSRF 보호
WebView 내부의 상태 변경 요청(POST/PUT/DELETE)에는 CSRF 토큰이 자동으로 포함됩니다. 게임사에서 별도로 처리할 필요 없습니다.PKCE (선택)
앱 환경에서 추가 보안이 필요한 경우 PKCE(Proof Key for Code Exchange)를 사용할 수 있습니다.FAQ
세션 만료 시 어떻게 되나요?
세션이 만료되면 WebView에 재접속 안내 화면이 표시됩니다. 유저가 계속 사용하려면 게임 서버에서 새 OTT를 발급받아 WebView를 다시 열어야 합니다.세션 TTL은 10분이며, API 호출 시마다 자동 연장됩니다. 단, 유휴 상태(아무 동작 없이 방치)에서는 연장되지 않습니다.
campaignId 스코핑이란?
OTT 발급 시campaignId를 지정하면 WebView 전체가 해당 캠페인으로 범위가 제한됩니다:
- 부스트 등록/변경/해제 시 해당 캠페인의 크리에이터만 표시
- 캠페인 목록 대신 해당 캠페인 정보만 표시
- 해당 캠페인에 참여하는 크리에이터만 검색 가능
다국어는 어떻게 지원되나요?
- 기본: 브라우저 언어 설정에 따라 자동 감지 (한국어/영어)
- URL 파라미터 지정:
?lang=ko또는?lang=en - 유저가 변경한 언어 설정은 브라우저에 저장되어 다음 접속 시에도 유지됩니다