Skip to content
스토브
마지막 업데이트

샘플 게임 체험을 위한 준비부터 실행까지 안내해요.

샘플 게임 체험하기 (Quick Start)

개요


  • 본 페이지는 STOVE Mobile SDK를 연동한 샘플 게임을 다뤄요. 문서만으로는 감이 잡히지 않는 SDK 연동을, 직접 플레이하며 눈으로 확인할 수 있어요.
  • 샘플 게임은 STOVE Mobile SDK의 주요 기능이 실제 게임 동선에 맞게 연동되어 있어요. 앱을 실행하면 SDK 초기화 → 로그인 → 본인 인증 → 캐릭터 설정 → 게임 진입 순서로 진행되며, 각 단계에서 SDK가 호출되는 시점을 직접 확인할 수 있어요.
  • 로그인·결제·본인 인증·기기 등록·인게임 설정 등 STOVE Mobile SDK의 핵심 기능을 한 게임 안에서 모두 체험할 수 있어, 내 게임에 연동할 때 시행착오를 줄일 수 있어요.

샘플 게임 다운로드를 준비하고 있어요
ㆍ현재 샘플 게임은 정식 공개를 준비 중이에요. 미리 받아보려면 별도로 문의해 주세요.

참고용으로 활용해 주세요
ㆍ이 샘플은 연동 방법을 보여 주기 위한 참고용이에요. 코드·UI 구조를 그대로 상용 게임에 옮기기보다, SDK 호출 흐름을 이해하는 용도로 활용하는 것을 추천해요.

사전 준비


이 가이드를 진행하기 전에 아래 항목이 준비되어 있어야 해요.

서버

항목 설명 비고
Docker Desktop 서버 3개를 Docker Compose로 실행. Docker Desktop 설치 후 Docker Engine 실행 상태 유지 필요 필수
Docker Compose v2 docker compose 명령 사용. Docker Desktop에 기본 포함 필수
Git 저장소 3개 내려받기에 필요 필수
Java 17 이상 Docker 없이 로컬에서 gradlew bootRun, gradlew test, gradlew clean bootJar를 실행할 때 필요 선택
사용 가능 포트 8010, 8020, 8090, 18021 포트가 비어 있어야 함 필수

클라이언트

샘플 게임 체험 전에 아래 환경 요건을 먼저 확인해 주세요. 환경이 맞지 않으면 빌드 또는 실행 과정에서 오류가 발생할 수 있어요.

실행 환경

체험하려는 플랫폼에 해당하는 항목만 준비하면 돼요.

플랫폼 요건 비고
Android API 24(Nougat) 이상
iOS Xcode 26.0 이상, iOS 13.0 이상 입점 후 체험 가능 (아래 참고)
Unity Unity 2022.3.13f1 이상

iOS는 IPA(설치 파일)를 제공하지 않아 입점 후 체험할 수 있어요. 자세한 내용은 아래 게임 실행 방법을 참고해 주세요.

필요 도구

도구 용도 필요 시점
Git 샘플 게임 클라이언트 저장소 내려받기에 사용 필수
ADB Android 기기 또는 에뮬레이터에 APK 설치 시 사용 Android 체험 시

게임 실행 방법


서버

샘플 서버는 아래 저장소 3개로 구성돼요.

저장소역할GitHub
sample-game-api-server게임 API 서버 (:8010)(별도 문의)
sample-game-socket-server실시간 소켓 서버 (:8020)(별도 문의)
sample-stove-serverSTOVE mock 서버 (:8090)(별도 문의)
  1. 샘플 서버 저장소를 내려받아요.
bash
git clone '실제 주소/sample-game-api-server'
git clone '실제 주소/sample-game-socket-server'
git clone '실제 주소/sample-stove-server'
  1. 서버 3개가 위치한 상위 디렉터리로 이동해요.
bash
cd sample-game

예시 디렉터리 구조
sample-game/
├─ sample-stove-server/
├─ sample-game-socket-server/
└─ sample-game-api-server/
  1. 최초 1회만 Docker 공유 네트워크를 생성해요.
  • 이미 생성되어 있다는 메시지가 나오면 다음 단계로 진행해도 돼요.
bash
docker network create sample-game-server-mock-net
  1. STOVE mock 서버를 실행해요.
bash
cd sample-stove-server
docker compose -f docker-compose.mock.yml up --build
  1. 새 터미널을 열고 Game Socket 서버를 실행해요.
bash
cd sample-game-socket-server
docker compose -f docker-compose.mock.yml up --build
  1. 새 터미널을 열고 Game API 서버를 실행해요.
bash
cd sample-game-api-server
docker compose -f docker-compose.mock.yml up --build
  • 아래 포트가 열리면 서버 실행이 완료된 상태예요.
bash
sample-stove-server        http://localhost:8090
sample-game-api-server     http://localhost:8010
sample-game-socket-server  ws://localhost:8020
socket internal HTTP       http://localhost:18021
  • 백그라운드 실행을 원하는 경우 아래 명령을 사용할 수 있어요.
bash
docker compose -f sample-stove-server/docker-compose.mock.yml up --build -d
docker compose -f sample-game-socket-server/docker-compose.mock.yml up --build -d
docker compose -f sample-game-api-server/docker-compose.mock.yml up --build -d
  • 로그 확인은 아래 명령을 사용해요.
bash
docker compose -f sample-stove-server/docker-compose.mock.yml logs -f
docker compose -f sample-game-socket-server/docker-compose.mock.yml logs -f
docker compose -f sample-game-api-server/docker-compose.mock.yml logs -f
  • 종료는 아래 순서로 진행해요.
bash
docker compose -f sample-game-api-server/docker-compose.mock.yml down
docker compose -f sample-game-socket-server/docker-compose.mock.yml down
docker compose -f sample-stove-server/docker-compose.mock.yml down
  • 저장된 API 서버 데이터까지 초기화하려면 아래 명령을 사용해요.
bash
docker compose -f sample-game-api-server/docker-compose.mock.yml down -v

클라이언트

클라이언트는 아래 저장소를 사용해요.

저장소역할GitHub
sample-game-clientUnity 샘플 게임 클라이언트(별도 문의)

클라이언트는 두 가지 방법으로 체험할 수 있어요.

방법 1. 샘플 게임 설치하기 (Android)

저장소를 내려받은 뒤 APK를 설치해요.

bash
git clone '실제 주소/sample-game-client'
cd sample-game-client-master

adb install -r SampleBinary/Sample_Metaemong.apk

iOS는 설치 파일(IPA)을 제공하지 않아요. 프로비저닝 프로파일로 인해 공통 바이너리로 배포할 수 없어, iOS 샘플 게임 체험은 입점 후 이용할 수 있어요.


방법 2. 프로젝트에서 직접 빌드하기 (Android)

  1. Unity 2022.3.13f1에서 프로젝트를 열고 Android로 빌드해요.
  2. 유니티 설정: Preferences → External Tools → Android SDK / NDK — Installed with Unity (recommended)

게임 시나리오


앱을 실행하면 SDK 초기화 → 로그인 → 본인 인증 → 캐릭터 설정 → 로비 진입 순서로 진행돼요. 각 단계에서 STOVE Mobile SDK가 언제, 어떤 목적으로 호출되는지를 화면과 함께 따라가 보세요.

아래 화면은 demo 환경(로컬 샘플 서버) 기준이에요.

실제 서비스 환경에서는 demo 호스트 입력·DEMO 배너·상점 환불 버튼 등 일부 단계가 나타나지 않아요.

서버 구동·빌드 설치

  • 게임 실행 방법 가이드에 따라 서버와 클라이언트 빌드를 설치·실행해요.

서버 구동 클라이언트 빌드 설치

네트워크

  • 실기기로컬 샘플 서버가 실행 중인 PC같은 Wi-Fi에 연결되어야 해요.
  • PC 방화벽이 로컬 서버 포트를 막고 있지 않은지 확인하세요.

PC Wi-Fi IP 확인

  • Windows: ipconfig → Wi-Fi 어댑터의 IPv4 주소
  • macOS: 시스템 설정 → 네트워크 → Wi-Fi → IP 주소 (또는 ifconfig)

로컬 호스트 주소 입력

로컬 호스트 주소 입력

  • 앱을 처음 실행하면(또는 저장된 주소가 없을 때), Auth.Initialize 직전demo 호스트 주소 입력 팝업이 표시돼요.
  • 로컬 서버 PC의 Wi-Fi IP와 포트 8090을 입력해요.
    • 형식 예: http://192.168.0.12:8090
    • 실기기에서는 127.0.0.1·localhost를 쓰지 마세요. PC의 Wi-Fi IP를 입력해야 해요.
  • 확인 후 SDK 초기화가 진행되고, 성공 시 같은 호스트로 게임 API가 자동으로 맞춰져요.
  • 마지막으로 입력한 주소는 앱에 저장되어, 다음 실행 시 입력란 기본값으로 다시 쓰여요.
로컬 호스트 주소 입력

로그인 화면

타이틀 화면

  • Auth.Initialize가 끝나면 타이틀 화면이 표시돼요. 들어가기 버튼을 누르면 AuthUI.Login이 호출되어 STOVE 로그인 창이 열려요.
타이틀 화면

로그인 방식 선택

  • 로그인 창에서는 STOVE가 제공하는 로그인 방식(이메일·스토브 앱·Guest·Google·Facebook·Apple 등)이 표시돼요. 노출되는 방식은 STOVE 로그인 Provider 설정을 따라요.
  • 샘플 게임 체험에서는 별도 설정이나 계정 없이 확인할 수 있는 이메일 로그인게스트(Guest) 로그인을 제공해요.
로그인 방식 선택

게스트 로그인

  • 앱 삭제·기기 변경 시 게임 정보가 유지되지 않을 수 있어, 안내 팝업이 먼저 표시돼요. 확인 후 게스트 계정으로 진행돼요.
게스트 로그인

이메일 로그인

  • 스토브 아이디(이메일)와 비밀번호를 입력해 로그인하거나 회원가입을 진행해요.
이메일 로그인

본인 인증

본인 인증 방식 선택

  • 본인 인증은 AuthUI.VerifyIdentification으로 호출하며, 로그인 이후 시점부터 호출할 수 있어요.
  • 샘플 게임에서는 로그인 직후(캐릭터 선택 씬 진입 이전 시점)에 본인 인증을 호출하고, CI 인증SDI 인증 중 방식을 선택하도록 구성되어 있어요.
  • 실제 호출 시점은 게임 정책에 맞춰 로그인 이후 원하는 단계에서 자유롭게 배치할 수 있어요.
본인 인증

캐릭터 생성/조회

  • 로비 입장 전 캐릭터를 조회하고, 캐릭터 유무에 따라 동선이 달라져요.

캐릭터 생성

  • 캐릭터가 없을 때: 내 프로필 설정 화면에서 캐릭터(아바타)를 선택하고 닉네임을 입력해 생성해요.
캐릭터 생성

캐릭터 확인, 입장하기

  • 캐릭터가 있을 때: 기존 캐릭터를 확인하고, 프로필 수정하기 또는 입장하기를 선택해요.
  • 입장하기를 누르면 로비 진입 직전에 SDK 게임 프로필(GameProfile)을 설정하고, 이어서 SetCustomBillingGUID로 결제 식별자를 지정해요.

게임 프로필 설정은 상점 결제 등 이후 기능을 사용하기 위한 필수 단계예요. 이 단계를 건너뛰면 결제가 정상 동작하지 않아요.

캐릭터 확인

로비 입장

로비(월드)

  • 로비(월드)에 입장하면 캐릭터를 조작하며 게임을 체험할 수 있어요.
  • 샘플 게임에서는 로비 입장 시 SDK가 환불 여부를 조회(IAP.FetchVoidedPurchases)하고, 환불 건이 있으면 환불 재결제(HandleVoidedPurchases)를 호출해요. 구매·환불 흐름은 아래 상점을 참고해 주세요.

메뉴

  • 좌측 상단의 메뉴(≡) 버튼을 누르면 월드 변경, 참가자 목록, 룸 목록, 월드로 가기, 업적, 상점, 설정으로 이동할 수 있어요.

로비 로비

상점

상점 화면

  • 상점을 열면 IAP.FetchProducts로 상품 목록을 조회해서 UI로 표시해요.
  • demo 환경에서는 상단에 DEMO · 실제 과금이 이루어지지 않습니다. 배너와 환불 버튼이 함께 표시돼요. (환불 버튼은 demo 환경 전용이에요.)
상점

구매 확인

  • 상품의 구매 버튼을 누르면 구매 확인 팝업이 표시돼요. 구매 확인을 누르면 Stove IAP 결제 흐름이 시작돼요.
구매 확인

demo 마켓 결제 시트

  • demo 환경에서는 실제 마켓(Google Play 등) 대신 임시 마켓 시트가 표시돼요. 구매하기를 눌러 결제를 진행해요.
demo 마켓 결제 시트

마켓 응답 선택 (DemoStateChooser)

  • 이어서 DemoStateChooser가 표시되어 마켓 응답 상태를 직접 선택할 수 있어요. purchasing·purchased·deferred·failed·restored·cancel 상태별로 SDK 콜백이 어떻게 처리되는지 확인할 수 있어요. (demo 환경 전용)
마켓 응답 선택

구매 완료

  • purchased를 선택하면 결제가 완료되고, 보상은 우편함으로 지급돼요.
구매 완료

우편함, 인벤토리

  • 우편함에서 결제 보상을 수령하면 지급된 아이템은 인벤토리에서 확인할 수 있고, 상점 상단의 환불 버튼으로 결제를 환불하면 다음 로비 입장 시 환불 재결제 흐름을 확인할 수 있어요.
우편함

설정

  • 설정 화면에서는 STOVE Mobile SDK의 계정·운영 관련 기능을 한곳에서 호출해 볼 수 있어요. 각 버튼과 호출되는 SDK 기능은 다음과 같아요.
버튼호출 SDK 기능
고객센터 · 커뮤니티 · 뉴스ViewUI 웹뷰 열기 (고객센터·커뮤니티·뉴스)
쿠폰 입력ViewUI 쿠폰 입력 (Android 전용)
자동 팝업 · 수동 팝업ViewUI 공지·이벤트 팝업 (자동/수동 노출)
커스텀 URL (부분/전체)ViewUI로 입력한 URL을 부분/전체 화면 웹뷰로 로드
환불 내역 확인환불된 결제 내역 조회
환불 재결제환불 건 재결제
기기 등록기기 등록·관리
계정 관리계정 관리·전환
게임 탈퇴게임 서버 탈퇴 API 호출 후 로그아웃 처리
로그아웃로그아웃
우편함
  • 상단의 알림 설정 토글(푸시 알림·야간 푸시)은 Push.FetchPushSettings로 현재 설정을 불러오고, 변경 시 Push.UpdatePushSettings로 반영해요. (demo에서는 푸시 기능이 동작하지 않아요.)





직접 문의하고 싶으신가요? stove.developers@smilegate.com