SDK 개요
ChartFighter SDK는 Flutter 패키지입니다. 위젯 하나를 화면에 놓으면 로비에서 정산까지 게임 전체가 제휴사 모바일 앱(Android·iOS) 안에서 돕니다.
위젯 하나로 게임 전체
ChartFighterGame 하나를 놓으면 아래 흐름이 그대로 동작합니다. 한 판이 끝나면 «한 판 더»로 바로 이어지고, 제휴사가 화면을 짤 것이 없습니다.
1. 로비
랭크 대전·연습 대전·순위표·상점·공항으로 가는 시작 화면
2. 매칭
랭크 대전은 투자금을 고르고 상대를 기다리고, 연습 대전은 봇을 직접 고릅니다
3. 준비
앞 60봉을 보며 5초 동안 흐름을 읽습니다
4. 대전
240봉이 흐르는 동안 최대 10번 사고팝니다
5. 정산
손익과 레이팅이 정해지고 종목이 공개됩니다
가입 전 체험은 별도 위젯 ChartFighterTrial이 맡습니다. 나라를 고르고 곧바로 한 판을 해 본 뒤 가입으로 이어집니다.
화면 몇 장




완제품 화면 18개
ChartFighterGame이 안에서 쓰는 화면들입니다. 필요하면 하나씩 따로 꺼내 제휴사 화면 흐름에 넣을 수도 있습니다.
| 위젯 | 하는 일 |
|---|---|
LobbyScreen | 로비 — 게임의 시작 화면 |
BetTierSheet | 랭크 대전 투자금 고르기 |
QueueScreen | 랭크 대전 상대 기다리기 |
OpponentSelectScreen | 연습 대전 상대 고르기(난이도별 봇) |
MatchScreen | 대전 화면 — 차트·지표·매매 버튼 |
ResultScreen | 정산 화면 |
LoadoutScreen | 무기(지표) 고르기 |
MyProfileScreen | 내 정보와 전적 |
AvatarEditorScreen | 얼굴(아바타) 만들기 |
PlayerCardSheet | 다른 플레이어 정보 카드 |
LeaderboardScreen | 순위표 |
ShopScreen | 상점 |
ShopTransactionsSheet | 상점 거래 내역 |
InventoryScreen | 인벤토리 |
AirportScreen | 공항 — 다른 나라로 이동 |
ImmigrationScreen | 입국 심사 — 새 나라 열기 |
RemittanceScreen | 송금 — 나라 사이 게임 머니 보내기 |
AppInstallSheet | 앱 설치 안내(QR·스토어 링크) — 웹 빌드 전용 |
직접 화면을 짜는 경우 — 하위 API
완제품 대신 화면을 직접 만들고 싶다면 순수 Dart 하위 API를 씁니다. 특정 상태관리 라이브러리를 강요하지 않습니다.
| 이름 | 하는 일 |
|---|---|
MatchControllerMatchSnapshot | 매칭·대전·정산의 실시간 이벤트를 상태 기계로 접어, 화면이 그릴 한 장의 상태로 줍니다 |
ChartFighterClient | HTTP와 실시간 소켓 전송. 앱에 하나만 두고 게임과 함께 씁니다 |
LeaderboardApiShopApiPracticeApiRegionsApiRemittanceApi | 순위표·상점·연습 대전·나라·송금 등 서버 기능별 API |
CandleChartIndicatorPanelReviewChart | 대전 차트·지표 판·복기 차트 위젯 |
evaluateCandleIndicatorInstanceManager | 서버가 내려준 지표 정의를 봉마다 계산하는 엔진 |
인증 두 방식
| 방식 | 이럴 때 |
|---|---|
ChartFighterAuth.token | 제휴사가 자기 계정 체계로 받은 토큰을 SDK에 공급합니다. 제휴사 계정과 ChartFighter 계정을 잇는 방식은 도입 협의에서 함께 정합니다. |
ChartFighterAuth.builtIn | SDK가 이메일·소셜 로그인과 토큰 보관(기기 보안 저장소), 자동 갱신까지 맡습니다. 계정 체계가 없거나 ChartFighter 계정을 그대로 쓸 때 고릅니다. |
언어·나라·플랫폼
화면 언어 3개
한국어·영어·베트남어. 지원하지 않는 언어로 도는 기기에서는 영어로 표시합니다.
나라 3곳
한국 KOSPI·KOSDAQ / 베트남 HOSE·HNX / 미국 NASDAQ·NYSE. 나라마다 시장·통화·지갑·인벤토리가 별도로 있습니다.
나라 이동과 송금
공항에서 다른 나라로 갈 수 있고, 나라를 둘 이상 열면 나라 사이에 게임 머니 송금이 가능합니다. 송금액은 서버가 나라별 실제 환율로 환산합니다.
플랫폼
Android·iOS 앱. 웹에서는 SDK가 아니라 링크 제휴로 ChartFighter 웹게임을 연결합니다.
제휴사가 정하는 것
게임 화면 안의 정체성과, 게임 밖으로 이어지는 자리는 제휴사가 정합니다.
| 이름 | 정하는 것 |
|---|---|
ChartFighterBranding | 로고·브랜드 색·제품 이름, 로비 카드와 나라 그림, 버튼 아이콘·판 그림, 등급 배지·아바타 그림, 숫자 글꼴, 랭크 대전 카드의 «자세히 보기» 링크(제휴사 페이지 주소) |
ChartFighterTypography | 로비 카드 글자 모양 |
onExitonOpenSettingsonSessionReplaced | 게임 닫기, 제휴사 설정 화면 열기, 다른 기기에서 같은 계정이 접속했을 때의 처리 |
onTravel | 나라 이동 — 유저가 공항에서 고른 나라로 제휴사 앱이 연결을 바꿉니다 |
onSoundonMusiconMatchActiveaudioToggles | 효과음·배경음악 — SDK는 «언제»만 알리고 무엇을 틀지는 제휴사 앱이 정합니다 |
onOpenUrl | 외부 링크 열기 — 랭크 대전 카드의 «자세히 보기»가 제휴사 페이지 주소를 이 콜백으로 맡깁니다. |
연동 문서(설치·플랫폼별 준비·서버와 맞출 설정·공개 API 전체)는 정식 제휴 체결 후 전해 드립니다.
자세한 문의는 아래 메일로 연락 주시기 바랍니다.