跳到主要内容

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(关闭 WebView)无关。