본문으로 건너뛰기

GameAction API

GameAction API

게임 한 판(round/stage/level)의 라이프사이클을 플랫폼에 알리기 위한 메서드 묶음입니다. SDK 가 기록한 액션은 플랫폼 측에서 분석/리포팅 등으로 활용됩니다. 모든 호출은 fire-and-forget 으로 동작하며 응답을 기다리지 않습니다.

TudadaSDK.gameAction 네임스페이스 아래 3 개의 메서드를 제공합니다:


start(options?)

게임이 한 판을 시작했음을 알립니다. 옵션은 모두 선택입니다.

옵션:

파라미터타입필수설명
payload.roundnumber-라운드 번호
payload.stagenumber-스테이지 번호
payload.levelnumber-레벨 번호
additionalPayloadstring-자유 메타 데이터 (게임이 전달하고 싶은 임의의 문자열)
// 예시 1: 인자 없이 호출
TudadaSDK.gameAction.start();

// 예시 2: stage 정보 포함
TudadaSDK.gameAction.start({
payload: { stage: 3 },
});

// 예시 3: 자유 메타 데이터 포함
TudadaSDK.gameAction.start({
payload: { round: 1, stage: 3, level: 5 },
additionalPayload: JSON.stringify({ tutorial: true }),
});

complete(options)

게임이 한 판을 정상 클리어했음을 알립니다. resultplayTime 은 필수입니다.

옵션:

파라미터타입필수설명
payload.result'WIN' | 'LOSE' | 'DRAW' | 'DONE'종료 결과
payload.playTimenumber한 판 진행 시간 (ms)
payload.scorenumber-획득 점수
payload.roundnumber-라운드 번호
payload.stagenumber-스테이지 번호
payload.levelnumber-레벨 번호
additionalPayloadstring-자유 메타 데이터
TudadaSDK.gameAction.complete({
payload: {
result: 'WIN',
playTime: 12345,
score: 9000,
stage: 3,
},
});

exit(options)

게임이 한 판을 정상 완료하지 않고 종료했음을 알립니다. 플레이어 포기·시간 초과 등이 해당됩니다. playTimereason 은 필수입니다.

옵션:

파라미터타입필수설명
payload.playTimenumber한 판 진행 시간 (ms)
payload.reason'TIMEOUT' | 'ABANDONED'종료 사유
additionalPayloadstring-자유 메타 데이터
// 플레이어가 포기
TudadaSDK.gameAction.exit({
payload: { playTime: 4500, reason: 'ABANDONED' },
});

// 시간 초과
TudadaSDK.gameAction.exit({
payload: { playTime: 60000, reason: 'TIMEOUT' },
});

exit() 는 게임 코드가 한 판의 종료 시점을 명시적으로 판단해 호출해야 합니다. 페이지 unload(웹뷰 닫힘)와는 무관하게 동작합니다.