GameAction API
GameAction API
用于向平台上报单局游戏生命周期的方法集合。所有调用都是 fire-and-forget,不存在完成回调。
TudadaSDK.Instance.gameAction 提供 3 个方法:
Start(payload?, additionalPayload?)— 一局开始Complete(payload, additionalPayload?)— 一局正常通关Exit(payload, additionalPayload?)— 一局异常结束
Start(payload?, additionalPayload?)
通知游戏已开始一局。所有参数均为可选。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
payload | GameActionStartPayload | - | 回合 / 关卡 / 等级信息 |
additionalPayload | string | - | 自由元数据 |
GameActionStartPayload 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
round | int | 回合编号 |
stage | int | 关卡编号 |
level | int | 等级编号 |
// 无参调用
TudadaSDK.Instance.gameAction.Start();
// 附带 stage 信息
TudadaSDK.Instance.gameAction.Start(
payload: new GameActionStartPayload { stage = 3 }
);
Complete(payload, additionalPayload?)
通知游戏已正常通关一局。result 与 playTime 必填。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
payload | GameActionCompletePayload | ✅ | 结果信息 |
additionalPayload | string | - | 自由元数据 |
GameActionCompletePayload 字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
result | string | ✅ | "WIN" / "LOSE" / "DRAW" / "DONE"(推荐使用 GameActionResult 常量) |
playTime | long | ✅ | 一局时长 (ms) |
score | int | - | 得分 |
round | int | - | 回合编号 |
stage | int | - | 关卡编号 |
level | int | - | 等级编号 |
TudadaSDK.Instance.gameAction.Complete(
payload: new GameActionCompletePayload {
result = GameActionResult.Win,
playTime = 12345,
score = 9000,
stage = 3,
}
);
Exit(payload, additionalPayload?)
通知游戏未正常完成而结束一局。playTime 与 reason 必填。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
payload | GameActionExitPayload | ✅ | 结束信息 |
additionalPayload | string | - | 自由元数据 |
GameActionExitPayload 字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
playTime | long | ✅ | 一局时长 (ms) |
reason | string | ✅ | "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(关闭 WebView)无关。