PLAYUSDevelopers
PUBLISHING / v1PLAYUS 방문 ↗
PLAYUS PUBLISHING PLATFORM

시작하기

첫 목표는 게임 서버에서 인증을 확인하고, 테스트 계정으로 실행과 로그인을 완료하는 것입니다.

1. 앱 등록 정보 전달#

PLAYUS 운영 담당자에게 게임 이름, slug, 웹 실행 주소, 로그인 콜백 주소, 아이콘·커버, 지원 언어, 개인정보처리방침, 보상 정책을 전달합니다. 운영자가 앱을 등록하고 client_id와 client_secret을 발급합니다.

항목 예시 / 규칙
slug my-game
launchUrl https://game.example.com/playus
redirectUris https://game.example.com/auth/playus/callback
공개 상태 TESTING → 테스트 계정 검증 → PUBLISHED
보상 정책 rewardsEnabled, maxGrantMb, dailyMbCapPerUser

주소는 등록 값과 정확히 일치해야 합니다. 운영은 HTTPS를 사용합니다. HTTP는 localhost와 127.0.0.1 등 로컬 개발 주소에만 허용됩니다. 테스트 계정 접근 권한은 운영자와 확인하세요.

2. 서버 환경 변수#

PLAYUS_ISSUER=https://www.playus.app
PLAYUS_CLIENT_ID=pa_your_game
PLAYUS_CLIENT_SECRET=<운영자가 전달한 비밀 키>
PLAYUS_LAUNCH_URL=https://game.example.com/playus

비밀 키는 게임 서버의 환경 변수에만 넣습니다. 브라우저 번들, NEXT_PUBLIC_ 또는 VITE_ 변수, 저장소, 분석 이벤트에 넣지 않습니다. 운영과 개발의 issuer·키·콜백을 섞지 마세요.

3. 연결 확인#

curl --fail-with-body \
  --user "$PLAYUS_CLIENT_ID:$PLAYUS_CLIENT_SECRET" \
  -H 'User-Agent: MyGame/1.0' \
  https://www.playus.app/v1/publisher/ping
{"ok":true,"app":"my-game","issuer":"https://www.playus.app"}

이 응답은 서버 인증 확인입니다. 실제 로그인, 보상 지급과 지갑 반영은 각각 따로 검증해야 합니다.

4. 연동 키트 받기#

서버 TypeScript 키트와 브라우저 TypeScript 키트를 게임 프로젝트에 복사해 사용합니다. 서버 키트는 Node.js 20+ 내장 fetch와 crypto를 사용하며 추가 실행 의존성이 없습니다. TypeScript 빌드에 포함하세요.

import { PlayusServer } from './playus-server.js';
const playus = new PlayusServer({
  issuer: process.env.PLAYUS_ISSUER!,
  clientId: process.env.PLAYUS_CLIENT_ID!,
  clientSecret: process.env.PLAYUS_CLIENT_SECRET!,
  userAgent: 'MyGame/1.0',
});
await playus.ping();

문서의 game.example.com, pa_your_game, pu_ExamplePlayer123은 예시입니다. 실제 발급 값과 로그인으로 얻은 sub로 바꾸세요.

PLAYUS Developers · API v1개발자 가이드 · 한국어