版本更新记录
版本更新记录
如果您之前查看过旧版本(0.0.1)的 SDK 指南,请在此部分确认变更内容。
v0.2.0 (2026-06-24) — 当前版本
新功能
-
新增统一激励槽位 API:将激励视频、横幅、分享统一为一个槽位模型。查询活动槽位进行渲染,用户点击时通过
showRewardedAd({ slotId })一次调用即可执行。// 查询活动槽位
const { slots } = await TudadaSDK.getRewardedAdSlotsAsync();
// 执行槽位 (action: REWARD_VIDEO / BANNER / SHARE 自动分发)
const res = await TudadaSDK.showRewardedAdAsync({ slotId: slots[0].slotId });
if (res.isEnded) giveReward();- 新增:
getRewardedAdSlots()/getRewardedAdSlot(slotId)(+*Async) showRewardedAd()同时接受slotId(槽位)或adUnitId(视频回退)- 详细指南:Ad API → 统一激励槽位
- 新增:
-
新增支付(Payment)API:新增游戏内商品购买 API。游戏仅使用
productId进行购买,支付方式、价格、验证、发放均由平台处理。const products = await TudadaSDK.payment.getProductsAsync();
const txn = await TudadaSDK.payment.purchaseAsync('coin_100');
if (txn.status === 'GRANTED') { /* 发放完成 — 最终确认由游戏服务器完成 */ }- 拆分为回调版本(
payment.getProducts()等,返回void)与 Promise 版本(getProductsAsync()等) - 四个方法均提供
*Async变体:getProductsAsync/getProductAsync/purchaseAsync/getTransactionAsync - 错误通过
code分支(回调版本通过fail,*Async版本通过 reject) - 详细指南:Payment API
- 拆分为回调版本(
-
SystemInfo、AppBaseInfo新增servicePlatform字段:识别游戏运行于哪个宿主服务('kakaotalk'/'kakaopay'/'house')。const info = TudadaSDK.getSystemInfoSync();
console.log(info.servicePlatform); // 'kakaotalk' | 'kakaopay' | 'house'- 详细指南:System API
即将弃用 (Deprecated)
createRewardedVideoAd(旧版) — wx 兼容旧版实例 API。已由统一 APIshowRewardedAd()/showRewardedAdAsync()取代,将在未来版本中移除。- Banner Ad API(
getAvailableBannerIds/getBanner/runBannerAction+*Async)— 已由统一激励槽位取代。请使用getRewardedAdSlots()+showRewardedAd({ slotId })(action=BANNER)。为兼容而保留。 shareForReward/shareForRewardAsync— 已由统一激励槽位取代。请使用showRewardedAd({ slotId })(action=SHARE)。为兼容而保留。
v0.1.6 (2026-05-12)
新功能
-
新增 Banner Ad API(槽位模型):新增 API,游戏可按各个槽位获取横幅图片并自行渲染,用户点击时由平台处理对应动作。
// 1) 获取活动横幅槽位 ID 列表
TudadaSDK.getAvailableBannerIds({
success: (res) => console.log('槽位:', res.bannerIds),
});
// 2) 获取与槽位匹配的横幅数据
TudadaSDK.getBanner({
bannerId: 'main_menu_top',
success: (res) => {
if (res.banner) renderBanner(res.banner.imageUrl);
},
});
// 3) 用户点击时委托动作(奖励由游戏自行处理)
TudadaSDK.runBannerAction({ bannerId: 'main_menu_top' });- 回调 / Promise 配对:每个函数都提供
*Async()版本 bannerId同时充当游戏定义的槽位名runBannerAction仅传递 success/fail 信号 — 奖励发放由游戏自行处理- 详细指南:Ad API → Banner Ad
- 回调 / Promise 配对:每个函数都提供
-
新增
TudadaSDK.gameAction动作日志 API(Phase 1):以 fire-and-forget 方式向平台发送游戏生命周期动作。TudadaSDK.gameAction.start();
TudadaSDK.gameAction.complete({ payload: { score: 1200, level: 5 } });
TudadaSDK.gameAction.exit({ payload: { reason: 'USER_QUIT' } });start(option?)/complete(option)/exit(option)— 生命周期动作信号- SDK 初始化完成时还会自动发送一次「游戏加载完成」信号
- fire-and-forget;下游分发由平台负责
- 详细指南:GameAction API
-
login()响应新增用户信息凭证字段login()成功响应中提供已签名的用户信息凭证,游戏服务器仅使用密钥即可自行验证。TudadaSDK.login({
success: (res) => {
console.log(res.code, res.userId);
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
});userInfoPayload: URL-encoded query string(gameUserId, name, profileImageUrl, authDate, attribute)userInfoSignature: 对 payload 的 HMAC 签名- 已有响应字段(
code,userId,errMsg,errCode)保持不变(wx.login 兼容) - 详细指南: Auth API → 用户信息凭证
-
getUserInfo()响应重塑为 Tudada-fit(破坏性变更)移除 wx 兼容的 4 个字段(
encryptedData/iv/signature/rawData),改为返回与login()相同的凭证。withCredentials选项也一并移除。// before (v0.1.5)
TudadaSDK.getUserInfo({
withCredentials: true,
success: (res) => sendToServer(res.encryptedData, res.iv),
});
// after (v0.1.6)
TudadaSDK.getUserInfo({
success: (res) => {
console.log(res.userInfo.nickName);
sendToGameServer({
payload: res.userInfoPayload,
signature: res.userInfoSignature,
});
},
});wx.getUserInfo已从 wx 兼容表面移除 — 继续使用TudadaSDK.getUserInfo- 详细指南: Auth API → getUserInfo
v0.1.5 (2026-03-30)
新功能
-
新增 shareForReward API: 新增了完成分享后发放奖励的 API。
TudadaSDK.shareForReward({
url: 'https://example.com/share', // 可选
success: (res) => {
if (res.rewarded) console.log('分享完成 — 发放奖励');
},
fail: (err) => console.error('分享失败:', err.errMsg),
});
// Promise 方式
const result = await TudadaSDK.shareForRewardAsync({ url: 'https://example.com/share' });
if (result.rewarded) console.log('发放奖励');shareForReward(): 回调模式 (success/fail/complete)shareForRewardAsync(): Promise 模式- 分享处理由平台自动执行
v0.1.4 (2026-03-18)
新功能
-
新增 showRewardedAd API: 一次调用即可完成激励广告的加载到展示。
TudadaSDK.showRewardedAd({
adUnitId: 'your-ad-unit-id',
success: (res) => {
if (res.isEnded) console.log('观看完成 — 发放奖励');
},
fail: (err) => console.error('广告失败:', err.errMsg),
});
// Promise 模式
const result = await TudadaSDK.showRewardedAdAsync({ adUnitId: 'your-ad-unit-id' });showRewardedAd(): 回调模式 (success/fail/complete) — 推荐showRewardedAdAsync(): Promise 模式- 广告加载、展示、重试、加载 UI、失败弹窗由平台统一处理
createRewardedVideoAd保留为旧版 (@deprecated)
-
新增 CheckFeature API: 可以提前检查特定 API 在当前平台是否受支持。
TudadaSDK.checkFeature({
apiName: 'startAccelerometerSensor',
success: (res) => console.log('支持:', res.apiName),
fail: (res) => console.log('不支持:', res.status),
});
// Promise 模式
const result = await TudadaSDK.checkFeatureAsync('startAccelerometerSensor');checkFeature(): 基于回调 — success(支持) / fail(不支持)checkFeatureAsync(): 基于 Promise — 支持/不支持均 resolve- 不支持原因:
unknown_api|version_required|platform_unsupported|device_unsupported|permission_denied
-
新增 LaunchOptions API: 可以查询游戏启动时传入的查询参数及来源信息。
const options = TudadaSDK.getLaunchOptions();
console.log('查询参数:', options.query);getLaunchOptions(): 同步 — 返回预缓存的启动选项getLaunchOptionsAsync(): 异步 — 查询最新启动选项
变更
wx对象旧版化正式声明: 通过wx对象的 API 调用已正式归类为现有 WeChat 移植游戏的旧版兼容功能。wx对象仅暴露 v0.1.2 之前注册的现有 API。- v0.1.3 起新增的 API(加速度计、
checkFeature、getLaunchOptions等)仅限TudadaSDK,无法通过wx对象使用。 - 移植完成后建议逐步转换为直接调用
TudadaSDK。
v0.1.3 (2026-02-26)
新功能
-
新增 Accelerometer API: 添加了加速度计传感器扁平 API。这是与 wx API(
wx.startAccelerometer等)不兼容的 TudadaSDK 独立接口,API 名称和参数结构不同。无法通过wx对象使用,必须通过TudadaSDK直接调用。TudadaSDK.onAccelerometerChange((res) => {
console.log(`X: ${res.x}, Y: ${res.y}, Z: ${res.z}`);
});
TudadaSDK.startAccelerometerSensor({
sensitivity: 'normal',
success: () => console.log('开始传感'),
});
TudadaSDK.stopAccelerometerSensor();startAccelerometerSensor()、stopAccelerometerSensor()、onAccelerometerChange()、offAccelerometerChange()- 与 wx API 不同的独立接口(例如:
startAccelerometerSensorvswx.startAccelerometer) - 基于 XYZ 轴的加速度数据接收
- 基于灵敏度控制:
'sensitive'|'normal'|'insensitive'
v0.1.2 (2026-02-26)
新功能
-
SystemInfo、AppBaseInfo新增environment字段添加了表示当前访问环境的字段。
const info = TudadaSDK.getSystemInfoSync();
console.log(info.environment); // 'prod' 或 'dev'
const appInfo = TudadaSDK.getAppBaseInfo();
console.log(appInfo.environment); // 'prod' 或 'dev'值 说明 'prod'生产环境 'dev'开发环境 可用于根据环境切换资源 CDN 地址等场景。
const info = TudadaSDK.getSystemInfoSync();
const cdnBase = info.environment === 'prod'
? 'https://cdn.example.com/prod'
: 'https://cdn.example.com/dev';
v0.1.1 (2026-02-20)
- 应用内部改进(无需修改游戏代码)
v0.1.0 (2026-02-06)
新功能
-
login()响应新增userId字段TudadaSDK.login({
success: (res) => {
console.log(res.code); // 已有
console.log(res.userId); // 新增
},
}); -
SystemInfo.wifiEnabled改为返回实际值之前返回固定值,现在返回实际 Wi-Fi 启用状态。
变更(需要迁移)
-
checkSession()success 回调结果类型变更// 0.0.1 — success 回调包含登录信息
TudadaSDK.checkSession({
success: (res) => {
// res 包含 code、userId 等
},
});
// 0.1.0 之后 — success 回调仅包含通用结果
TudadaSDK.checkSession({
success: (res) => {
// 仅包含 res.errMsg (GeneralCallbackResult)
// 如需登录信息,请单独调用 login()
},
});
v0.0.2
新功能
-
新增 Audio API: 添加了
createInnerAudioContext()方法。const audio = TudadaSDK.createInnerAudioContext();
audio.src = './bgm.mp3';
audio.loop = true;
audio.play();- 音频播放/暂停/停止/跳转
- 音量及播放速度控制
- 多种事件监听器 (onPlay、onEnded、onError 等)
v0.0.1 (2026-02-02) — 首次发布
首次发布版本。包含以下 API:
- Auth API (login、checkSession、getUserInfo)
- Storage API (set/get/remove/clear + Sync 版本)
- TudadaStore API (云存储)
- System API (getSystemInfo、getWindowInfo、getDeviceInfo 等)
- UI API (getMenuButtonBoundingClientRect)
- Device API (振动、键盘)
- Clipboard API
- Ad API (激励视频广告)
- Lifecycle API (onShow、onHide、exitMiniProgram、restartMiniProgram)