Skip to main content

GameAction API

GameAction API

A namespace for reporting the lifecycle of a single game round to the platform. All calls are fire-and-forget — there is no completion callback.

TudadaSDK.Instance.gameAction exposes three methods:


Start(payload?, additionalPayload?)

Reports that a round has started. All arguments are optional.

Parameters:

ParameterTypeRequiredDescription
payloadGameActionStartPayload-Round / stage / level info
additionalPayloadstring-Free-form metadata

GameActionStartPayload fields:

FieldTypeDescription
roundintRound number
stageintStage number
levelintLevel number
// No arguments
TudadaSDK.Instance.gameAction.Start();

// With stage info
TudadaSDK.Instance.gameAction.Start(
payload: new GameActionStartPayload { stage = 3 }
);

Complete(payload, additionalPayload?)

Reports that a round has been cleared normally. result and playTime are required.

Parameters:

ParameterTypeRequiredDescription
payloadGameActionCompletePayloadResult info
additionalPayloadstring-Free-form metadata

GameActionCompletePayload fields:

FieldTypeRequiredDescription
resultstring"WIN" / "LOSE" / "DRAW" / "DONE" (use GameActionResult constants)
playTimelongRound duration (ms)
scoreint-Score achieved
roundint-Round number
stageint-Stage number
levelint-Level number
TudadaSDK.Instance.gameAction.Complete(
payload: new GameActionCompletePayload {
result = GameActionResult.Win,
playTime = 12345,
score = 9000,
stage = 3,
}
);

Exit(payload, additionalPayload?)

Reports that a round was ended without normal completion. playTime and reason are required.

Parameters:

ParameterTypeRequiredDescription
payloadGameActionExitPayloadExit info
additionalPayloadstring-Free-form metadata

GameActionExitPayload fields:

FieldTypeRequiredDescription
playTimelongRound duration (ms)
reasonstring"TIMEOUT" / "ABANDONED" (use GameActionExitReason constants)
// Player abandoned
TudadaSDK.Instance.gameAction.Exit(
payload: new GameActionExitPayload {
playTime = 4500,
reason = GameActionExitReason.Abandoned,
}
);

// Time limit reached
TudadaSDK.Instance.gameAction.Exit(
payload: new GameActionExitPayload {
playTime = 60000,
reason = GameActionExitReason.Timeout,
}
);
tip

Exit() should be called explicitly by the game code when it decides a round has ended. It is independent of page unload (web view close).