升级指南
本指南旨在明确各个版本的更新内容和一些版本升级时需要游戏主动修改的内容。
7.8.0
本版本全端接入全球防沉迷系统,并适配 iOS UIScene 模式。常规升级直接更新 SDK 版本即可;使用原生 Android Maven 集成的项目还需按下方说明调整模块坐标。
一、【按需】开启全球防沉迷系统
7.8.0 已在全端接入全球防沉迷系统,默认关闭,由后台配置控制开启。游戏侧无需新增接入代码。
二、【按需】iOS UIScene 模式适配
7.8.0 适配 iOS UIScene 模式。使用 SceneDelegate 的项目升级 SDK 后,可继续按现有方式接入 XDSDK。
三、【Breaking Change】原生 Android Maven 模块调整
该变更仅影响原生 Android Maven 集成。Unity、UE 等引擎接入已由内部插件完成适配,无需关注或调整这些 Maven 坐标。
为适配 Maven Central 发布文件数量限制,7.8.0 起 Android 模块按能力合并:core、tap-compat → common,support → account,TapSDK 封装 → tap-wrapper / tap-wrapper-plus。原生 Android 项目请删除旧坐标,并按 Android 集成文档 更新依赖。
国内、海外均需显式添加 tap-gid。海外版仅按需添加 tap-wrapper,无需添加 tap-moment、tap-update、tap-license、tap-wrapper-plus、tap-achievement 和 tap-cloudsave。
四、【按需】PC 多商店共包指定运行平台与渠道
Unity/UE PC 多商店共包需要由启动器动态指定运行平台或 TapDB 渠道时,可增加以下参数:
-XDG_PLATFORM=<platform> -XDG_CHANNEL=<channel>
7.7.3
本版本升级 iOS 和 Unity TapSDK、Unity PC Vuplex,并新增获取 TapDB deviceID 的接口。常规升级直接更新 SDK 版本即可;如果使用 Unity 或 UE 的内嵌动态功能,请按下方说明修改接口调用。
一、【必须修改】Unity/UE 内嵌动态接口增加 TapTap 应用 ID 参数
7.7.3 版本中,MomentOpen 接口新增必传的 TapTap 应用 ID 参数。该参数用于 PC 平台拼接 TapTap 应用页面地址;移动端原生动态页面不使用该参数,但调用时仍需传入。
Unity 接入方将原来的:
XDGTapSDK.MomentOpen();
修改为:
XDGTapSDK.MomentOpen("your_tap_app_id");
UE 接入方将原来的:
FXDGTap::MomentOpen();
修改为:
FXDGTap::MomentOpen(TEXT("your_tap_app_id"));
其中 your_tap_app_id 为 TapTap 应用 ID。MomentOpenScene、MomentPublish、MomentClose 等其他内嵌动态接口无需因本次升级调整。
二、【按需】获取 TapDB deviceID
7.7.3 新增获取 TapDB deviceID 的接口。接口必须在 XDSDK/TapSDK 初始化完成后调用;初始化前调用时返回空字符串。
Unity:
string tapDbDeviceId = XDGTapSDK.GetDeviceId();
UE:
FString TapDbDeviceId = FXDGTap::GetDeviceId();
Native Android 和 iOS 请分别使用 XDTapEvent.getDeviceId() 与 [XDGTapTapEvent getDeviceId]。该 ID 是 TapDB 使用的设备标识,和 XDSDK 账号侧的设备 ID 不一定相同,请根据业务用途区分使用。
三、【建议更新】Unity PC Vuplex 与 WebView 依赖
Unity 新增 XDSDK WebView 模块,同时支持将 Vuplex 升级到 4.15.2 以获取 DX12 支持。
"com.xd.sdk.webview": "1.0.0"
该模块用于隔离 XDSDK 与 Vuplex 的依赖,仍需按 Unity PC 接入要求导入 Vuplex 插件,并确保 XD.SDK.WebView.Vuplex 模块未被工程排除。
四、其他更新说明
- iOS TapSDK 升级至 4.10.8,修复 TapDB 缺失
idfv的问题,iOS 包体建议同步替换 SDK 产物。 - Unity 修复分享回调固定返回失败的问题,修正抖音 CPS 依赖配置错误的问题。
7.7.0
本版本升级 Android TapSDK、iOS 海外依赖,新增 Unity PC 韩国实名防沉迷系统,并包含 Unity Windows 构建兼容性优化。常规升级直接更新 SDK 版本即可。
一、【按需】Android TapSDK 升级到 4.10.4-beta.2
Android TapSDK 依赖升级至 4.10.4-beta.2。Unity 和 UE 接入方只需更新 XDSDK 版本,Tap 相关 Gradle 依赖会由 SDK 自动写入;国内包体的 tap-share 依赖也改为由 Tap 模块统一引入。
二、【按需】iOS 海外依赖升级
iOS 海外依赖升级:AppsFlyer SDK 升级至 6.17.9,Firebase SDK 升级至 12.2.0。使用 iOS 原生、Unity iOS 或 UE iOS 包体时,请同步替换本版本 SDK 产物。
三、【可选】Unity PC 自定义退出处理
Unity PC 的 SetExitHandler 已支持在协议拒绝等 SDK 默认退出场景中接管退出行为。如游戏需要在退出前展示自定义弹窗、保存状态或切回启动器,可按需设置该回调;不设置时仍保持 SDK 默认退出逻辑。
四、【可选】Unity PC 韩国实名防沉迷系统
本版本新增 Unity PC 韩国实名防沉迷系统。韩国 PC 包体只需更新 SDK 版本即可,SDK 内部会在登录流程中处理对应实名防沉迷逻辑。
五、【建议更新】Unity Windows IL2CPP 兼容性优化
本版本优化 Windows Player 中 StandaloneFileBrowser 相关插件的 IL2CPP 兼容性。Windows IL2CPP 包体建议升级。
7.6.3
本版本包含 Android、iOS、Unity iOS 和 UE Android 的内部优化与问题修复。常规升级直接更新 SDK 版本即可,无需游戏额外修改接入代码。
一、【按需】广告分包模块升级到 ADS 3.7.2
如包体接入广告分包或广告数据上报,请同步升级 ADS 3.7.2。该版本配合 XDSDK 7.6.3 使用,修复「付费」事件金额精度问题。
7.6.2
修复 Unity Android 构建时部分模块依赖缺失的问题,正常更新 SDK 版本即可。
7.6.1
本版本补齐 TapDB 接口封装,并升级 TapSDK:Android 升级至 4.10.1,iOS / Unity 升级至 4.10.2。同时适配 Android 16 与 Google Play Billing Library 8.3.0。常规升级直接更新 SDK 版本即可;如 Android 包体需要使用 Google 支付,请额外确认下方 minSdkVersion 要求。
一、【按需】Android Google 支付需调整 minSdkVersion
Google Play Billing Library 8.3.0 要求 minSdkVersion 为 23 或更高版本。使用 Android Google 支付的包体,请将游戏工程的 minSdkVersion 设置为 23 或更高版本。
如包体不需要使用 Google 支付,且仍需保持 minSdkVersion 21,可在 AndroidManifest.xml 的 <manifest> 节点添加以下配置,用于忽略相关依赖的打包警告:
<manifest xmlns:tools="http://schemas.android.com/tools">
<uses-sdk tools:overrideLibrary="com.android.billingclient,com.google.android.gms.common" />
</manifest>
二、其他更新说明
- 如需区分包体阶段,可在初始化参数
gamePhase中传入游戏自定义阶段参数。 - 国内 Android 与 PC 包体可按需使用平台沙盒能力。
- iOS 付费应用可使用新增的票据上传能力进行正版验证。
7.5.0
UE 平台首次支持,接入方式请参考 UE 接入文档。
如果以前接入过 v6 UE 版本,请参考 UE v6→v7 升级指南。
Android 端 XDSDK 各模块已发布到 Maven Central(com.xd.sdk.android),推荐使用 Maven 依赖方式集成。
- 无需再手动下载和导入 XDSDK AAR 文件,通过 Maven 依赖自动管理
- 一键登录(阿里云 AAR)和广告分包(XDADs AAR)仍保留本地 AAR 方式
- 详见 Android 集成文档
7.3.4
- 新增 Unity PC 读取 Tap 启动器 Channel
- 修复 Unity PC 中 TapSDK Channel 失效的问题
7.3.3
- 修复 Android 支付接口中无法解析 extra 参数的问题。
7.3.2
- 修复 Unity-iOS 海外收到推送时可能导致应用崩溃的问题。
7.3.1
- 修复 Unity-Android 分享对外 API 无法正确判段三方平台是否安装的问题,不影响分享的正常逻辑。
- 修复 Unity-Android 推送对外 API 无法正确返回应用前点击的通知内容,不影响推送的正常逻辑。
- 修复 Unity 活动页接口回调数据解析失败的问题。
7.3.0
- iOS 新增 StoreKit 2 版本的内购支持,无需游戏做任何改动,默认不开启。
- Android 支持在可用地区的 Google Play 包体中开启网页支付,默认不开启,需要开启请联系平台。
- PC SDK 内嵌 Steam SDK,支持一包多平台发布,相关流程请参考文档。
- 统一了对外的错误码规范,优化错误码含义,请参考文档。
7.2.0
修补一些影响接入和使用的问题,没有需要游戏修改的内容。
7.1.2
- 支持初始化时透传部分自定义数据给 TapDB
- 需要接入广告分包时,请使用 ADS 3.7.1 版本
7.1.1
修补一些影响接入和使用的问题,没有需要游戏修改的内容。
7.1.0
支持公告的 UI 模式,参考文档
7.0.1/7.0.2
修补一些影响接入和使用的问题,没有需要游戏修改的内容。
7.0.0
如果您以前接入过 XDSDK v6,请参考 v7 升级指南: