본문으로 건너뛰기

GameAction API

GameAction API

게임 한 판의 라이프사이클을 플랫폼에 알리기 위한 메서드 묶음입니다. 모든 호출은 fire-and-forget 으로 동작하며 응답 콜백이 없습니다.

TudadaSDK.Instance.gameAction 아래 3 개의 메서드를 제공합니다:


Start(payload?, additionalPayload?)

게임이 한 판을 시작했음을 알립니다. 인자는 모두 선택입니다.

파라미터:

파라미터타입필수설명
payloadGameActionStartPayload-라운드/스테이지/레벨 정보
additionalPayloadstring-자유 메타 데이터

GameActionStartPayload 필드:

필드타입설명
roundint라운드 번호
stageint스테이지 번호
levelint레벨 번호
// 인자 없이 호출
TudadaSDK.Instance.gameAction.Start();

// stage 정보 포함
TudadaSDK.Instance.gameAction.Start(
payload: new GameActionStartPayload { stage = 3 }
);

Complete(payload, additionalPayload?)

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

파라미터:

파라미터타입필수설명
payloadGameActionCompletePayload결과 정보
additionalPayloadstring-자유 메타 데이터

GameActionCompletePayload 필드:

필드타입필수설명
resultstring"WIN" / "LOSE" / "DRAW" / "DONE" (GameActionResult 상수 사용 권장)
playTimelong한 판 진행 시간 (ms)
scoreint-획득 점수
roundint-라운드 번호
stageint-스테이지 번호
levelint-레벨 번호
TudadaSDK.Instance.gameAction.Complete(
payload: new GameActionCompletePayload {
result = GameActionResult.Win,
playTime = 12345,
score = 9000,
stage = 3,
}
);

Exit(payload, additionalPayload?)

게임이 한 판을 정상 완료하지 않고 종료했음을 알립니다. playTimereason 은 필수입니다.

파라미터:

파라미터타입필수설명
payloadGameActionExitPayload종료 정보
additionalPayloadstring-자유 메타 데이터

GameActionExitPayload 필드:

필드타입필수설명
playTimelong한 판 진행 시간 (ms)
reasonstring"TIMEOUT" / "ABANDONED" (GameActionExitReason 상수 사용 권장)
// 플레이어가 포기
TudadaSDK.Instance.gameAction.Exit(
payload: new GameActionExitPayload {
playTime = 4500,
reason = GameActionExitReason.Abandoned,
}
);

// 시간 초과
TudadaSDK.Instance.gameAction.Exit(
payload: new GameActionExitPayload {
playTime = 60000,
reason = GameActionExitReason.Timeout,
}
);

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