跳到主要内容
版本:v6

升级指南

本指南旨在明确各个版本的更新内容和一些版本升级时需要游戏主动修改的内容。

6.36.0​

未使用 Android Twitter/X 登录或 Twitter 分享的项目,常规升级即可。

一、【建议更新】Android Twitter/X 授权登录改为 SDK 内置实现​

本版本 Android(含 Unity Android、UE Android)的 Twitter/X 登录、绑定不再使用 Twitter Kit SDK。公开登录 / 绑定接口和 LoginEntryType.TWITTER 不变。Twitter 分享仍使用原 Twitter SDK,不在本次登录改动范围内。

1. 登录依赖​

原生 Android 如果只为 Twitter 登录引入了 twitter-core、twitter、tweet-ui、tweet-composer 这些 AAR,升级后可以删除。登录已不再使用这些包。

如果同时使用 Twitter 分享,请继续保留这些 AAR。Unity 分享侧已是 twitter-core 3.3.3,升级 SDK 即可。

Unity / UE 按对应 Android 包体升级即可,不必单独处理登录侧 Twitter SDK。

2. 继续使用现有 OAuth 1.0a​

XDConfig.json 仍只配置 consumer_key、consumer_secret,且不填写 client_id 时,SDK 继续走 OAuth 1.0a,在应用内打开授权页。不要求设备安装 Chrome。

"twitter": {
"consumer_key": "***",
"consumer_secret": "***"
}

请确认 XD 后台验票使用的 Twitter App,与客户端 consumer_key / consumer_secret 是同一个。已有 Twitter Kit SDK 接入的 X App 继续允许 twittersdk://callback 即可。

3. 【可选】切换到 OAuth 2.0​

twitter.client_id 非空时,Android 改为 OAuth 2.0,通过 Chrome 自定义选项卡打开 X 授权页。这是后续推荐方式。

"twitter": {
"client_id": "***",
"consumer_key": "***",
"consumer_secret": "***"
}
  • client_id 为 X Developer Portal 的 OAuth 2.0 Client ID。只要该字段非空,Android 登录就走 OAuth 2.0,不再使用 consumer_key / consumer_secret。
  • iOS 仍使用 consumer_key / consumer_secret。共用 XDConfig.json 时请保留这两项,只把 client_id 作为 Android OAuth 2.0 开关。
  • 不要把 client_secret 写进游戏包或 XDConfig.json。
  • 请联系平台同事,在 XD 后台配置同一套 Client ID / Client Secret,由服务端完成换票。
  • OAuth 2.0 申请权限为 tweet.read、users.read、users.email。

必须在 X Developer Portal 登记回调地址,并与游戏 Android 包名完全一致:

xd.game.{applicationId}://xd.web.dispatcher/xoauth/callback

例如包名为 com.example.game 时:

xd.game.com.example.game://xd.web.dispatcher/xoauth/callback

正式包、调试包等不同 applicationId 需要分别登记。

OAuth 2.0 要求设备已安装 Chrome。没有 Chrome 时登录会失败,不会回退到应用内网页或其他浏览器。原生 Android 还需添加网页支付同样的 androidx.browser:browser 依赖。

6.35.1​

常规升级直接更新 SDK 版本即可。

一、【建议更新】优化 iOS 打包流程​

优化 Unity iOS 导出时对 info.plist 的处理,区分国内和海外配置,精简各自不需要的内容。

6.35.0​

常规升级直接更新 SDK 版本即可。

一、【可选】接入全球防沉迷系统​

本版本接入全球防沉迷系统,默认关闭,由后台配置控制开启。

二、【建议更新】适配 iOS UIScene 模式​

适配 iOS UIScene 模式,直接更新 SDK 即可。

6.34.1​

常规升级直接更新 SDK 版本即可。

一、【建议更新】修复 Android 客服登录问题​

修复 Android(含 Unity Android)部分登录方式登录成功后,新客服未能正确识别用户登录状态的问题。

6.34.0​

常规升级直接更新 SDK 版本即可。

一、【按需】iOS 海外依赖升级​

iOS 海外依赖升级:AppsFlyer SDK 升级至 6.17.9,Firebase SDK 升级至 12.2.0。因 Firebase 升级,海外 iOS 最低支持版本提升到 iOS 15。

二、【可选】Unity PC 自定义退出处理​

Unity PC 的 SetExitHandler 已支持在协议拒绝等 SDK 默认退出场景中接管退出行为。如游戏需要在退出前展示自定义弹窗、保存状态或切回启动器,可按需设置该回调;不设置时仍保持 SDK 默认退出逻辑。

三、【建议更新】Unity PC IL2CPP 与韩国实名防沉迷修复​

本版本修复 IL2CPP 下取消韩国实名防沉迷 WebView 后仍可能登录成功的问题,并优化 PC Toast 连续展示时的关闭时机。韩国 PC 包体或 Windows IL2CPP 包体建议升级。

四、【可选】UE PC TapDB 渠道优先级调整​

UE PC 上报渠道解析优先级调整为:TapTap PC 环境变量 / Epic 启动参数 > 注册表 channel > Steam > 默认 channel。若项目依赖注册表 channel 覆盖启动器注入渠道,请确认升级后的渠道预期。

6.33.0​

一、【可选】新版客服接入​

本版本支持新版内置客服。原有的 XDGSDK.report / XDGCommon.Report / FXDGCommon::Report 接口仍可使用,但建议改为新版接口以获得更完整的客服能力。新版客服接口详细使用方式请参考 打开客服页面。

二、【可选】韩国 PC 实名防沉迷系统​

本版本支持韩国 PC 的实名防沉迷系统,SDK 内部已完成支持,游戏侧无需主动接入,只需更新 SDK 版本即可。

三、【可选】韩国协议推送勾选状态变化提示​

本版本在韩国协议中推送勾选状态发生变化时会自动展示提示,SDK 内部已完成支持,游戏侧无需主动接入,只需更新 SDK 版本即可。

6.32.1​

一、【建议更新】修复 6.32.0 引入的 Unity PC 支付接口中 Steam 环境判断问题​

该问题从 6.32.0 开始出现,只需更新 Unity SDK 版本至 6.32.1 即可修复。

6.32.0​

本版本升级了 Google Play 结算库(8.3.0)、适配 Android 16、升级 TapSDK(3.30.2)和 AppsFlyer SDK(6.15.2),并优化了 Web 活动页和 PC 端授权登录流程。以上均为 SDK 内部升级,直接更新 SDK 版本即可,无需游戏侧做额外改动。

Unity PC 注意:6.32.0 存在支付接口中 Steam 环境判断问题,该问题已在 6.32.1 修复。Unity PC 接入方请更新至 6.32.1。

6.31.9​

一、【可选】UE 支持 Steam、Epic 自定义渠道​

如果您需要在 PC 端支持 Steam、Epic 平台的自定义启动渠道,请在原 XDConfig.json 文件中配置 channel 的地方添加 channel_steam 字段,示例如下:

"channel": "default_channel",
"channel_steam": "your_steam_channel",
"channel_epic": "your_epic_channel",

6.31.8​

一、【可选】Unity iOS SDK 替换 XCode 16 出包​

二、【建议更新】Unity iOS 修复海外收到推送有概率崩溃的问题​

6.31.7​

一、【建议】UE 优化二次验证 Loading 展示​

优化 UE 二次验证 Loading 展示

6.31.6​

一、【可选】修复 Steam 支付透传参数丢失的问题​

修复 Unity PC Steam 支付时,透传参数丢失的问题。

6.31.5​

一、【可选】Unity PC 支持网络请求自动降级到 ipv4​

Unity PC 在网络请求异常时,可以通过该配置,自动降级到 ipv4 进行网络请求。请在原 XDConfig.json 文件中新增 enable_network_race 字段,示例如下:

"enable_network_race":true

6.31.4​

一、【可选】修复部分情况下协议无法同意的问题​

修复 Unity PC 在美国(US)网络异常时,导致协议弹窗无法关闭的问题。

6.31.3​

一、【可选】支持自定义 Steam 启动渠道​

如果您需要在 PC 端支持 Steam 平台的自定义启动渠道,请在原 XDConfig.json 文件中配置 channel 的地方添加 channel_steam 字段,示例如下:

"channel": "default_channel",
"channel_steam": "your_steam_channel"

6.31.2​

一、【可选】支持 Unity PC 读取 Tap 启动器渠道信息​

只需更新 SDK 版本即可支持。

二、【可选】修复 iOS 开启第三方支付时全局 loading 可能挡住支付界面的问题​

只需更新 SDK 版本即可修复。

6.31.1​

一、【可选】Unity PC 支持自动检测 Steam 环境​

如果您需要在 PC 端支持 Steam 平台,请联系平台同事确认接入流程。

二、【可选】Unity PC 新增接口获取当前是否是 Steam 环境​

详见接口文档:获取当前包体类型

三、【可选】Unity PC 商店支付接口支持在非 Steam 环境下自动切换为网页支付​

PC 客户端可不考虑环境差异,直接调用 商店支付接口即可,SDK 会自动判断当前环境并选择合适的支付方式。

6.31.0​

提示

Unity SDK 从该版本开始,国内 ADS 模块需要升级到 3.7.1 及以上版本,否则iOS端可能会丢失巨量广告相关数据。

一、【必须】Unity 需配合升级 ADS 3.7.1 版本​

Unity SDK 从该版本开始,国内 ADS 模块需要升级到 3.7.1 及以上版本,否则iOS端可能会丢失巨量广告相关数据。

二、【可选】Android 可在海外 Google Play 包体中开启网页支付​

如果您想在可用地区开启网页支付,请联系平台同事开启该功能。

三、【可选】Unity 新增 二级密码校验​

参考开发文档

6.30.0​

一、[可选] UE 新增 Epic 内购​

参考 Epic 内购开通配置文档

二、[可选] UE 新增 二级密码校验​

参考开发文档

6.29.6​

(同:6.31.4) 修复 Unity PC 在美国(US)网络异常时,导致协议弹窗无法关闭的问题。

6.29.5​

Unity PC 新增支持从 Tap 启动器读取渠道信息​

6.29.4​

Unity 更新 TapSDK,修复客服多语言问题​

更新 TapSDK 3.30.2-xd.1 以修复客服在部分多语言配置下无法打开的问题

6.29.3​

修复 Unity PC Steam 登录和支付问题​

修复自 6.29.0 开始的版本中,Unity PC Steam 登录和支付存在的问题。

6.29.2​

警告

已知问题:

  • Unity PC Steam 登录和支付存在问题,建议升级到 6.29.3

iOS 降级 AppsFlyer SDK 版本​

因 AppsFlyer SDK 6.17.3 版本存在低概率崩溃问题,版本降级会原来的 6.13.1。影响范围:6.28.4 ~ 6.29.1 。如果不想整体更新版本,请联系平台同事获取单独降级的方案。

6.29.1​

警告

已知问题:

  • Unity PC Steam 登录和支付存在问题,建议升级到 6.29.3
  • iOS AppsFlyer SDK 版本存在低概率崩溃问题,建议升级到 6.29.2

快手混淆配置修改​

快手 SDK 文档中要求添加配置的混淆规则有误,在打 Android 包时可能会导致打包失败,SDK 在该版本中修正了配置。影响范围:6.29.0 。

6.29.0​

警告

已知问题:

  • Unity PC Steam 登录和支付存在问题,建议升级到 6.29.3
  • iOS AppsFlyer SDK 版本存在低概率崩溃问题,建议升级到 6.29.2

支持快手分享​

如果您想在国内支持快手分享,请参考 文档说明。

Android 兼容性​

高版本 AGP 打包在运行时进行 TapTap 无端登录(手机号一键登录场景)可能会闪退,此版本升级了阿里云一键登录 SDK 来解决该问题。

6.28.4​

警告

已知问题:

  • iOS AppsFlyer SDK 版本存在低概率崩溃问题,建议降级或升级到 6.29.2

iOS AppsFlyer 版本升级​

升级 AppsFlyer SDK(6.13.1 -> 6.17.3),以使用 Google 的 ICM 功能(广告投放)

6.28.3​

内部调整 & bugfix​

  • 调整国内安卓支付默认渠道列表。
  • 修复 iOS 海外从接口发起的手机号/邮箱绑定流程中 loading 无法消除的问题。
  • 修复 UE PC 海外手机号/邮箱绑定流程错误的文案和提示逻辑。

6.28.2​

一、[必须] 国内 Android 端支付宝和微信支付修复​

此版本修复了国内 Android 端支付宝和微信支付在没有安装对应应用时无法正常支付的问题。

影响范围:6.27.0、6.28.0、6.28.1 版本

6.28.1​

一、[可选] Android 端海外新渠道分享问题修复​

警告

已知问题:国内 Android 端支付宝和微信支付在没有安装对应应用时无法正常支付,建议升级到 6.28.2

此版本升级了 TapSDK 依赖的版本到 3.30.0 ,修复了 Android 边界场景下的 NPE 问题和在 Unity 环境下 Android 无法分享到 TikTok 和 Instagram 问题。

6.28.0​

警告

已知问题:

  • 国内 Android 端支付宝和微信支付在没有安装对应应用时无法正常支付,建议升级到 6.28.2
  • 海外 Android 端 TikTok 和 Instagram 分享在 Unity 环境下无法正常分享,建议升级到 6.28.1

一、【必须】海外 iOS 最低支持版本升到 iOS 13​

因本次升级海外 Firebase SDK,最低支持版本升级到 iOS 13,请更新您的项目最低 iOS 支持版本。

二、【必须】iOS 新增 XDSDK URL Scheme​

因业务需要,iOS 项目需要新增 XDSDK 专用的 URL Scheme,具体规则为 xd{xd_client_id},其中 {xd_client_id} 需要整段替换为真实的 XDSDK Client ID,Unity 接入时会自动处理,UE 和原生接入请自行增加配置。

三、【可选】海外新增支持 TikTok、Instagram 分享​

如果您想在海外支持 TikTok 和 Instagram 分享,请参考 文档说明。

四、【可选】iOS 支持在可用地区开启网页支付​

如果您想在可用地区开启 iOS 网页支付, 请联系平台同事开启功能。

五、【可选】UE PC 新增在 TapTap PC 启动器时开启自动登录后,无感触发 TapTap 登录。开启使用该功能需要更新 XDConfig.json 文件,请联系平台同事。​

6.27.0​

警告

已知问题:国内 Android 端支付宝和微信支付在没有安装对应应用时无法正常支付,建议升级到 6.28.2

一、【可选】Android(国内)新增支持云闪付支付功能​

  • 原生接入:请参考 接入指南 进行集成。
  • Unity/UE 接入:无需额外操作,升级 SDK 即可使用该功能。

6.26.3​

一、【可选】UE Tap 启动器优化​

优化国内走 Tap 启动器启动时的流程,游戏无需处理任何内容。

6.26.2​

一、【可选】Unity 商品信息查询接口更新​

  1. 新增接口支持查询网页的商品信息,请参考 文档说明。
  2. 查询结果新增统一的 ProductId 和 DisplayPrice 字段,后者可直接作为展示价格。

二、【可选】支持启用 Apple Game Center​

请参考配置文档,启用 Apple Game Center。

6.26.1​

一、【可选】UE 商品信息查询接口更新​

  1. 新增接口支持查询网页的商品信息,请参考 文档说明。
  2. 查询结果新增统一的 ProductId 和 DisplayPrice 字段,后者可直接作为展示价格。

6.26.0​

一、【可选】新增活动页面相关接口​

如果您需要接入活动页面相关功能,请参考 文档说明。

二、【可选】越南地区可开启合规实名流程​

如果您有项目需要在越南发行且开启实名防沉迷流程,请联系平台同事在后台开启该功能,无需代码接入。

6.24.0​

一、【可选】UE 新增支持国内和海外的推送服务​

如果您想接入推送服务,请参考 文档说明。

6.23.13​

该版本仅升级了支付宝 SDK 的版本,从 15.8.11 升级到 15.8.32,游戏无需处理任何内容。

6.23.11​

一、【可选】UE PC 新增支持 TapTap PC 启动器模式​

如果您需要在 TapTap PC 启动器内上架且需要支持更无感的 TapTap 登录流程,请按如下代码修改您的初始化逻辑,和之前区别的是需要新增一个 XDGInitParam 并指定 PackageType 类型为 PackageTypePCTapTap。请只在 TapTap PC 客户端启动时进行这样的设定,其他包体请保持原有的代码或者指定 PackageType 为 PackageTypeDefault。

提示

接入该功能需要更新配置文件,请联系平台同事。

#include "XDGCommon.h"

FXDGInitParams Params;
Params.PackageType = EnumToString(FXDGPackageType::PackageType_PC_TapTap);
FXDGCommon::InitSDK(Params,Delegate);

6.23.10​

一、【可选】Unity PC 新增支持 TapTap PC 启动器模式​

如果您需要在 TapTap PC 启动器内上架且需要支持更无感的 TapTap 登录流程,请按如下代码修改您的初始化逻辑,和之前区别的是需要新增一个 XDGInitParam 并指定 PackageType 类型为 PackageTypePCTapTap。请只在 TapTap PC 客户端启动时进行这样的设定,其他包体请保持原有的代码或者指定 PackageType 为 PackageTypeDefault。

提示

TapSDK 需更新至 v3.29.8-xd.3

接入该功能需要更新 XDConfig.json 文件,请联系平台同事。

using XD.SDK.Common;

var param = new XDGInitParam
{
PackageType = XDGPackageType.PackageTypePCTapTap
};
XDGCommon.InitSDK(param, (success, msg) =>
if (success){
ResultText.text = $"初始化成功 {success} {msg}";

} else{
ResultText.text = $"初始化失败 {success} {msg}";
}
}));

6.23.9​

一、【可选】Unity 新增活动页面相关接口​

如果您需要接入活动页面相关功能,请参考 文档说明。

6.23.7​

一、【建议升级】Unity 升级 TapSDK 3.29.6​

修复了 PC TapDB 发送事件可能丢失的问题

二、【必须】修复 Android Apple 和 Steam 绑定时触发崩溃的问题​

修复了 6.23.0 引入的绑定崩溃问题

6.23.6​

一、【必须】修复 Android 低版本兼容性问题​

修复了 Android 7.1(API Level 25)及以下的设备无法初始化的问题。

6.23.5​

一、【建议升级】UE 升级 TapSDK 3.29.5​

修复了已知的一些问题,请参考 TapSDK 更新日志

6.23.4​

一、【建议升级】Unity 升级 TapSDK 3.29.5​

修复了已知的一些问题,请参考 TapSDK 更新日志

6.23.3​

一、【必须】如果您正在使用 iOS 小红书分享,请升级当前版本​

修复了 Unity 中写入 iOS 配置文件的一个错误,否则可能影响提审。

二、【建议升级】修复 Android 上已知的崩溃问题。​

6.23.2​

一、【必须】如果您正在使用微博分享,请升级当前版本​

升级了微博 SDK,修复了微博分享在 iOS 18 中的兼容问题,之前的版本可能会导致分享失败。

6.23.0​

一、【必须】如果接入了广告分包(ads),需要升级到 3.6.0+​

iOS 中广告 SDK 和 TapSDK 新版本存在冲突,需要更新广告分包(ads) 到 3.6.0 或更新版本。

一、【可选】新增支持 Apple 和 Google 平台的商品批量购买​

如果您需要接入该功能,请参考 文档 中新增的支付接口。

二、【可选】支持启用 TapTap 无感授权​

在这个版本中,升级到了 TapSDK v3.29.4,游戏可以通过配置在国内 TapTap 登录时启用无感授权流程。详细请参考 文档说明

6.22.4​

一、【建议升级】错误修复​

该版本修复了 Android 端 TapTap 登录小概率会遇到闪退的问题。影响范围版本:6.22.2、6.22.3。

6.22.3(建议升级到 6.22.4)​

一、【可选】个人信息页接口调整​

该版本修改了个人信息页打开的接口,增加了角色相关的数据。接入参考

6.22.2(建议升级到 6.22.4)​

一、【可选】TapTap 登录流程控制​

该版本将 6.22.0 开始的国内 TapTap 后置授权改为可由服务端控制启用,默认还是以前的前置授权模式。接入该版本时请和我们联系确认是否开启后置授权模式。

二、【必看】已知问题的临时修复方案​

在 Android 平台,需要在 AndroidManifest.xml 文件中添加如下配置以防止小概率的闪退问题,在 6.22.4 中已修复:

<activity
android:name="com.xd.intl.account.ui.TapTapSignInConfirmActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

6.22.1​

一、【可选】Unity 新增支持海外手机号和邮箱登录​

该版本支持了 Unity 移动端的海外手机号和邮箱登录。接入参考

6.22.0​

一、【可选】海外新增支持手机号和邮箱的登录方式​

新版本在海外新增支持了两个登录方式,使用方式和原本的其他登录一致,只需在登录时传入相应的登录类型即可。接入参考

二、【可选】国内新增支持打开玩家个人信息页面​

【接口已更新,请更新到 6.22.3】国内新增支持打开玩家个人信息页面的 API,使用前请保证已经完成登录。接入参考

6.21.1​

一、【必看】Unity SDK 接入调整​

Unity SDK 从这个版本开始支持了新的基于 NPMJS 的接入方式,同时调整了 TapSDK 的 package name 和版本号定义,详细请参考 新的接入说明

二、【可选】新增支持 Apple 的商店兑换码​

新版本支持了 Apple 商店渠道的兑换码订单(暂不支持 Google 商店)和掉单数据的查询和消费,接入请参考 应用外购买或掉单

三、【可选】iOS 支持字节跳动的巨量 SDK 的接入​

如果需要在 iOS 客户端内接入并启用巨量 SDK,请升级 ADs 版本到 3.5.1。同时在 XDConfig.json 中增加如下内容,确保 ad_config-tt_config-ios_enable 的值为 true,原本的其他参数不需要改动,是 Android 包内使用的。

"ad_config": {
"tt_config": {
"ios_enable": true
}
}

6.21.0​

一、【必看】适配 Android 14 & 升级谷歌结算库到 7.0.0 版本​

  1. 针对 Google Play 对支付结算库的 强制升级的通知 ,SDK 在这个版本中将结算库 SDK 的版本从 5.2.0 升级到 7.0.0 版本;另外在极少数情况下,某些设备无法支持 ProductDetails 类型的交易,这通常是因为用户手机上的 Google Play 服务版本已过时,SDK 还针对该部分进行了兼容。游戏无需关心内部实现细节,升级改版本之后请参考 测试集成 进行支付测试验证。
  2. 针对 Google Play 对 目标 API 级别的要求,SDK 针对 Android 14(API Level 34) 的版本进行了内容上的适配。

除了以上 SDK 对 Android 14 的适配之外,当游戏升级 targetSdkVersion 为 34 的时候,请仔细阅读 Android 14 的 行为变更、所有应用影响 文档对游戏应用进行 Android 14 应用的适配。

6.20.2​

一、【建议升级】错误修复​

修复了 Android 海外版本 Google 支付流程结束 Loading 未正常消失的问题。

6.20.1​

一、【可选】指定显示韩国协议​

这个版本优化了韩国区域协议展示形式,如果需要指定显示韩国协议请调用相应接口。

6.19.2​

一、【可选】Unity 依赖优化​

这个版本仅针对 Unity-Android 平台的 Payment 模块中添加的依赖项进行了国内和海外的区分在构建包时排除掉不必要的依赖。升级不需要游戏额外处理其它内容。

6.20.0​

一、【可选】分享模块新增 TapTap 支持和微博超话支持​

这个版本新增了 TapTap 国内版分享以及微博支持设置超话的参数,其中超话需要和微博官方进行申请,有需要请联系平台同事。接入文档参考。

6.19.1​

一、【建议升级】错误修复​

这个版本主要是适配了 Twitter 新的分享 API,修复了 iOS 上分享会失败的问题。同时修改了韩文下拒绝的文案。升级不需要游戏处理任何东西。

6.19.0​

一、【可选】新增举报模块​

在引擎 SDK 中,我们新增了举报模块。接入文档参考。如果您在接入 iOS 、Android SDK 时需要举报功能请联系我们。[

二、【必看】UE SDK 调整参数配置方式​

概述:删除 FXULocalConfig,FXDGConfig;废弃 UXDConfig。使用新的 UXDGConfig

  1. 添加旧配置转化的命令行工具 UXDConfigConverterCommandlet(无参数),读取旧配置文件(Config/DefaultXDConfig.ini )生成新配置文件(Config/DefaultXDGConfig.ini)
  2. 删除 FXDGSettings::EditConfig 回调,新的配置方式不再需要这个回调。PC初始化之前 GetMutableDefault<UXDGConfig>()->GameVersion = TEXT("NewVersion"); 即可设置
  3. 初始化时 PC 平台根据 UGeneralProjectSettings::ProjectVersion 字段设置 UXDGConfig::GameVersion (等同于之前的 FXDGConfig::GameVersion)
  4. 更详细的运作方式可以查看代码中 UXDGConfig 的注释

6.17.3​

一、广告上报逻辑优化​

这个版本仅对 Android 上广告包的上报事件逻辑进行了优化。如果是 Unity SDK,请确保同时使用了广告包分包模块的 3.4.0 版本。

二、分享支持缩略图​

新版本分享中 QQ 和微信分享链接时支持添加缩略图(建议不超过 64k),文档参考。

6.17.2​

这个版本仅 Android 平台,因头条 SDK 的分包渠道的付费事件通过服务端上报,但广告渠道要求 purchase 事件必须通过预定义的埋点事件上报,不再支持服务端上报。故内部增加了广告渠道国内支付的「付费事件」的埋点上报。游戏升级无需其他操作,正常更新 SDK 版本即可,请注意,6.17.2 的版本搭配广告包分包模块的 3.4.0 版本 ,升级时注意版本的匹配即可。

6.18.0​

一、Unity & UE SDK 新增公告模块,支持获取当前生效的公告​

接入文档参考

二、移动端升级 Twitter 的品牌资源为 X 的品牌​

满足运营需要,升级 Twitter 的品牌资源素材为 X 的素材

6.17.1​

一、Unity 移动端和电脑端关于内建账户的处理变化​

这个版本开始 Unity SDK 中收到登录成功的回调时如果游戏需要获取 TDSUser(LCUser) 的话,可能会出现为空的情况,同理这个时候游戏服务端想要获取内建账户服务端的数据时也可能没办法查询到相同 XDID 的内建账户数据。这个只会在 XDSDK 服务器和 TDS(LeanCloud)服务器之间的通讯有问题时才会发生,本身是个小概率事件,以前遇到这种情况时,SDK 会直接返回登录失败,改变之后 XDSDK 账户登录流程的成功率能得到更稳定的保障。如果游戏必须使用和内建账户相关的功能,则需要自行处理相关逻辑,让玩家重新进行登录才会再次触发 XDSDK 创建内建账户的流程。

二、国内登录流程增加补款验证​

国内登录流程中增加补款的检查流程,该功能为白名单模式,不影响现有已接入的游戏,需要使用补款拦截的游戏请联系我们开启

三、国内 Android 支付体验优化​

国内 Android 支付时如果本机未安装微信或支付宝时会提示使用扫码支付,优化用户体验

四、国内 Android OAID 升级​

SDK 中默认标配的 OAID SDK 升级到 v2.4.0 的当前最新版本,满足市场投放需求,如果遇到打包问题,请参考各平台的接入文档 说明

五、海外 iOS AppsFlyer 卸载衡量配置​

在 6.17.0 的版本中,iOS 对三方 SDK 进行了一次再封装,会导致原来的 AppsFlyer SDK 代码无法使用,如果遇到该问题,请替换成下面的代码:

#import <XDAppsFlyerWrapperSDK/XDAppsFlyerWrapperSDK.h>
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[XDGAppsFlyerWrapper registerUninstall:deviceToken];
}

6.17.0​

警告

配置过阿里云手机号一键登录参数的游戏务必找我们重新生成配置,不然升级后将无法使用

一、统一分享模块​

移动端整合了原来的国内和海外分享,提供了新的模块和接口,并新增了小红书和抖音的分享支持,文档 ,原有接口不影响

二、阿里云一键登录升级​

升级了阿里云 SDK 以解决联通用户在 2024 年 3 月 31 日后无法继续使用手机号一键登录的问题,已接入的游戏需要重新生成对应的配置并更新 XDConfig 文件

三、海外登录流程增加补款验证​

海外登录流程中增加补款的检查流程,该功能为白名单模式,不影响现有已接入的游戏,需要使用补款拦截的游戏请联系我们开启

6.16.0​

警告

该版本依赖 TapSDK v3.28.0

  • PC端添加了手柄操作适配,手柄接入请参考手柄适配
  • PC端 FXDGAccount::OpenUserCenter 接口增加 bShowLogoutButton 参数,表示用户中心是否显示退出登录按钮,默认值为true(true时和原有逻辑一样,没有隐藏需要的话可以不管)

6.15.0​

警告

该版本依赖 TapSDK v3.27.0

该版本中进行了一些新功能的增加以及其他一些优化,您可无需进行配置项的更改。以下内容需要注意一下:

  • Android 国内网页支付新增了对进行了 TapTap 云玩和 TapTap 沙盒环境下运行的支持。
  • TapTap 云玩环境下的分享是不可用的,SDK 内对于微信、 QQ 、微博的分享进行了分享的限制,会直接返回失败。
  • Unity 中对日志输出做了优化,默认不输出过多日志,有需要请按 文档 操作。

6.13.4​

该版本中我们升级了海外 Facebook SDK 的版本号以满足官方的要求,为此,您需要更新游戏的 XDConfig.json 文件,补充 Facebook 节点,增加 client_token 的内容。举例如下:

"facebook":{
"app_id": "8929xxxxxxx32077",
"client_token": "82d58c9xxxxxxxxxxxxxxxd73c8b91",
"permissions":[
"public_profile",
"user_friends",
"email"
]
}

对于 Android 端,请将 Facebook SDK 依赖版本升级至 15.2.0,请在项目级别的 build.gradle 文件中更新 Facebook SDK 版本依赖:

// 基础组件
implementation "com.facebook.android:facebook-core:15.2.0"
// 登录
implementation "com.facebook.android:facebook-login:15.2.0"
// 分享
implementation "com.facebook.android:facebook-share:15.2.0"

6.14.0​

Unity 和 Unreal 的 PC 平台支持 Facebook 账号授权登录。沿用现有接口,Type 为 Facebook

Facebook 接入文档

接口文档:Unity,Unreal

6.13.0​

警告
  • 该版本依赖 iOS 3.22.0 / Android 3.22.1 / Unity 3.22.2(含)/ Unreal 3.23.0 以上版本的 TapSDK

这个版本中,我们优化了国内 TapTap 登录流程的体验,将授权点前置到 XDSDK 中,为了保证体验的一致性,请您接入这个版本的时候告知我们,我们将核对各个环节都是正确的。

在授权前置的流程里,SDK 会显示应用名称,我们默认会取用应用配置来显示,但如果您想自定义该名称,可以在 XDConfig.json 中修改 game_name,参考 模板。

此外,更新到此版本时,麻烦检查一下 XDConfig.json 文件中 tapsdk 的 permissions 配置,在国内请不要添加 email 的权限,在海外请不要添加 phone 的权限。

警告

6.12.2​

该版本主要在 6.12.1 的版本基础上修复了 Android 原生上报 Adjust 事件到沙盒环境问题,内部更新,无其他需要特别关心的地方。

6.12.1​

该版本主要是满足 RO 韩服和日服的一些运营需求。

6.12.0​

  • 该版本不支持已经开通过国内手机号登录的游戏升级。

  • 该版本依赖 iOS 3.19.2 / Android 3.19.3 / Unity 3.19.2 / UE4 3.20.2 (含)以上版本的 TapSDK

一、国内新游戏手机号一键登录的开通​

国内已经开通过手机号登录的游戏请不要升级到这个版本,后续版本会有另外的支持。对于新游戏,我们将移动端手机号一键登录的能力对接到了没有 TapTap 客户端时网页 Tap 登录的流程中,请联系我们开通相关参数,开通指南 ,并将参数配置在 XDConfig.json 的 aliyun 节点中。

二、支持 Steam 支付​

这个版本中我们支持了 PC 上的 Steam 支付。配置请参考 Unity & UE, 使用方式和您使用 Apple / Google Pay 是同一个接口,请参考 支付文档。

6.11.0​

一、Android Google 结算库版本升级至 5.2.0 & SDK 适配 Android 13(Api Level 33)版本​

为应对 Google Play 上架政策需求,Google Play 结算库 v4 版本已废弃 以及符合 Google Play 的目标 API 级别要求,SDK 在 6.11.0 的版本中对这两个要求进行了适配。

  • 符合 Google Play 的目标 API 级别要求(适配 Android 13)

这部分适配如使用了SDK 推送或自主接入的其他推送的功能,游戏需要增加推送通知的权限,并在适当的时机请求运行时权限,详情可参考 Google 通知运行时权限的官方文档:


<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

到此 SDK 受影响的内容已完毕。除此之外,游戏需要关注其他关于 Android 13 行为变更 的内容进行适配,避免影响游戏的正常体验。

  • Android Google 结算库版本升级至 5.2.0 从 Google 结算库版本更新说明中,从 v4 版本升级到 v5 版本是一个大版本的更新,从稳定性来说对整个 SDK 上已支持的 Google 支付流程上没重大变动,但内部的 API 变化较大:
    • Android 原生移除了 TDSGlobalSkuDetails 类,转而用 GoogleProductDetails 替代,其中 GoogleOneTimePurchaseOfferDetails 代表一次性购买的商品数据结构,详情可参考 Google 的 ProductDetails.OneTimePurchaseOfferDetails
    • Android 原生变更了 XDGPayment.queryWithProductIds() 的参数类型,详情可参考开发指南-查询商品信息
    • Unity 上宏定义UNITY_ANDROID下的 SkuDetailsBean 数据结构依据 Android 原生上的变动调整了数据结构的定义,可参考 Android 原生商品数据结构定义使用
    • UE 上宏定义PLATFORM_ANDROID下的FXDGProductInfo类针对 Android 部分的属性变更了商品信息数据结构的定义,可参考 Android 原生商品数据结构定义使用

6.10.4​

一、AppsFlyer 的配置拆分​

我们将 XDConfig.json 中 AppsFlyer 里原来的 dev_key 拆分成 dev_key_ios 和 dev_key_android 以方便新游戏在不同平台不同配置的需求。

当然如果不做修改,继续使用 dev_key 的话我们也能正确读取配置,只是会优先取用 dev_key_ios 和 dev_key_android 的值。

二、AppsFlyer 的卸载衡量​

AppsFlyer 的卸载衡量是投放侧的需求,每个游戏不同,如果投放要求您添加相关代码,请参考官方文档 和如下说明进行操作:

在 Android 中,我们加上了对 AppsFlyer 的卸载衡量的必须代码。您无需再继承我们的类去添加相应的代码。

在 iOS 中,相应的代码并不在 SDK 范围内,所以还需要游戏自行接入,但您无需再主动调用 [[UIApplication sharedApplication] registerForRemoteNotifications]; 只需要添加 AppDelegate 中的回调即可

#import <AppsFlyerLib/AppsFlyerLib.h>
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[[AppsFlyerLib shared] registerUninstall:deviceToken];
}

三、Android SDK 对返回键的兼容​

我们在这个版本里补充了 SDK 内置页面对 Android 返回键的响应逻辑,以满足 Google 推荐的一些硬性要求。

6.10.2 和 6.10.3​

警告

如果您需要使用 TapSDK 3.19.0 (含)以上的版本时,请将 XDSDK 的版本升级到 6.10.3 (含)以上

6.10.1​

一、Unreal 配置升级​

这个版本 Unreal 的插件配置做了升级,需要更改一下,具体参考这里。 如果接入了 Steam 平台登录,Steam 平台登录的开启也放在了这次的配置项里了,具体看这里

二、其他​

其他的话,我们主要针对的对部分场景的连点误触做了优化,以及 iOS 和 Android 对部分海外第三方 SDK 的版本做了升级,没有游戏需要修改的事项。

另外针对 Android 平台,新增了针对国内环境的支付宝、微信的原生支付。 XDConfig.json 中无需新增支付宝的配置,微信的配置与分享的配置一致,确保文件中有 wechat -> app_id 的配置 即可。 在应用的 AndroidManifest.xml 文件中添加如下配置,请将 {应用包名} 替换为游戏正确包名,否则无法收到微信支付回调:


<activity-alias
android:name="{应用包名}.wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="com.xd.intl.payment.impl.wechatpay.WXPayEntryActivity"/>

6.10.0​

一、UE 合并移动和 PC 接口​

这个版本中 UE SDK 做了一次全面的接口升级,将移动端和 PC 端的调用接口做了一次统一的封装,如果您从老版本升级上来的话,请联系我们工程师获得详细的升级指导。

二、国内分享图片新增接口支持直接传入图片的二进制数据​

请参考 接口文档

6.9.2​

这个版本里我们在移动端支持了 trackEvent 携带参数的 API,海外可以上报给多个埋点平台,除此之外没有游戏需要特别关心的事项,可无缝升级。

6.9.1​

这个版本里我们只是修复了一些 6.9.0 里遗留的埋点和一些 UI 问题,没有游戏需要关心的事项,可无缝升级。

6.9.0​

一、国内支持手机号登录​

我们在国内版本里支持了国内手机号码的登录,移动端同时支持运营商的一键登录和短信验证码登录,PC 端则只支持短信验证码登录,一键登录需要开通第三方平台配置,具体流程请参考 开通手机号登录 ,开通后,需要将一键登录的相关配置填写在 XDConfig.json 的 aliyun 节点中。使用时只需在 LoginByType 接口使用手机号登录对应的枚举 Type 即可,SDK 会处理相关的 UI 和业务逻辑,和您接入其他登录的流程是一样的。

对于 Android 平台,在使用手机号「一键登录」功能时需要注意一些配置,详情请参见手机号码「一键登录」配置相关

提示

如果您同时使用了 TapTap 登录和手机号登录,为了保证用户在使用手机号 A 注册的 TapTap 账号和直接使用手机号 A 来登录 XDSDK 时能获得同一个用户 ID,请您在 XDConfig.json 的 tapsdk.permissions 节点中增加 phone 的权限,这样在使用 TapTap 登录时,用户可以授权 XDSDK 来获取绑定的手机号码。

二、国内支持微信、QQ、微博的图文分享​

我们在国内版本里支持了微信、QQ、微博三大平台的图片和文字的分享,该功能需要开通第三方平台配置,具体流程请联系 XDSDK 项管。

三、国内支持第三方广告 SDK 和渠道打包​

我们在国内版本力支持了第三方广告 SDK 的接入和对应的渠道包分包功能,具体请参考 分包/广告包。

四、 Unity 合并移动和 PC 版本​

这个版本我们统一了 Unity PC 和 Unity Mobile 的接口,实现了一套接口即可全平台(PC & Mobile)使用。需要做一些项目调整:

更新 XDConfig 位置​

  • 从 * 6.9.0 * 开始 XDConfig.json 各个平台(Android、iOS)从 * /Assets/Plugins * (PC 平台在 * /Assets/Resources * )中,改至 ** /Assets ** 中,并且出包后,会直接拷贝到包中的 Application.streamingAssetsPath 下面

更新判断 Google 相关依赖库的判断方式​

  • XDSDK Unity 以 XDConfig.json 是否存在 google 配置,作为判断是否会在打安卓包时添加 Google 相关依赖库的依据,之前是根据是否存在 google-services.json

在项目文件中新增依赖(Packages/manifest.json)​

  • UPM 方式,公网使用,需要能正常访问 Github 的环境

"com.tapsdk.androiddependencyresolver": "https://github.com/luckisnow/android_dependency_resolver.git#${sdkVersions.taptap.adr}"

  • NPM 方式,在心动内网下可使用

"com.tapsdk.androiddependencyresolver": ${sdkVersions.taptap.adr}

升级 Gradle​

  • 同时,指定 Android Gradle Plugins 版本至 4.0.1,Unity 2021.1.16 之前的版本都需要手动升级 Gradle 版本 。为了将 Gradle 版本和 Android Gradle Plugin 版本对应 ,需要更新 Gradle 版本,下载 6.1.1 版本的 Gradle ,解压后放到自定义的文件夹中,同时不勾选 Unity 中的 Preferences -> External Tools-> Android -> Gradle Installed with Unity(recommend),改为选择解压后 Gradle 文件夹的位置,如 <some_path>/gradle-6.1.1。

6.8.3​

这个版本我们支持老的海外 1.x SDK 升级到 6.x 的版本。

二、更新判断 Google 相关依赖库的判断方式​

  • XDSDK Unity 以 XDConfig.json 是否存在 google 配置,作为判断是否会在打安卓包时添加 Google 相关依赖库的依据,之前是根据是否存在 google-services.json

6.8.2​

一、用户退出登录后在协议弹窗内点击同意有回调​

如果您的游戏需要知道退出登录后再协议弹窗内点击同意的回调,可以在 用户状态回调 中识别新增的 0x2001 code。

6.8.1​

一、优化横版 UI,支持竖版 UI​

如果您是竖屏游戏,那么这是个好消息,我们正式支持了竖屏的 SDK UI,包含协议、用户中心、客服和注销等页面。您不需要做任何适配,只需升级到该版本即可。

二、海外邮箱冲突相关的 UI 由 SDK 处理​

在 6.5.0 里我们新增了一套对邮箱的校验机制 来防止用户在多个绑定了同一邮箱的平台账号授权后生成不同账号的问题,当时我们推荐游戏自行根据登录时的错误码和附带的数据来显示相应的弹窗提示,在这个版本中,SDK 会在收到对应错误码时主动显示相应的弹窗,SDK 仍将在用户点击弹窗确认按钮时返回对应的错误码,但不会再一起返回相应的错误内容。如果您原来的代码处理了这部分,请注意一下只返回错误码但没有内容的时候游戏是否能正确应对(即不显示弹窗也不会因此崩溃)。

6.8.0​

一、登录新增 Steam 登录方式​

新增 Steam 登录方式的枚举值,登录接口和绑定接口都支持了 Steam 的授权方式。

关于Steam的授权方式:

  • PC Steam包:将通过Steamworks三方库拿取用户信息,用户无感知
  • PC 非Steam包:会打开外部浏览器进行Steam授权拿取用户信息
  • mobile客户端:会打开内嵌浏览器进行Steam授权拿取用户信息

用户中心也将支持 Steam 的绑定和解绑

二、PC 端新增了主机自动登录接口​

我们可以把「Steam/PS/Nintendo」等平台上发行的游戏称之为主机游戏,对于这些游戏,用户们会更习惯用该平台账号登录游戏。对于这类游戏,推荐使用自动登录接口 API 来登录。

游戏如何正确的使用该接口,可以参考这里的方案

6.7.0​

一、协议改版​

这个版本里,SDK 会在用户退出登录的时候主动弹出协议签署的界面(这个界面的逻辑和初始化时的协议逻辑完全一致)以满足合规的需求。同时,如果用户同意协议后但是没有完成登录,SDK 在下次重新初始化的时候仍会主动弹出协议签署的界面,即签署的记录会和登录用户绑定,不登录的话不会保留记忆。

另外 SDK 新增了 获取当前子协议列表和展示协议链接窗口的 API。

二、iOS 支持在 iOS 13 以下的系统里以网页授权的方式登录 Apple 账号​

这个版本里,iOS 支持在 iOS 13 以下的系统里以网页授权的方式登录 Apple 账号,游戏需要参考 开通 Android 平台的 Apple 登录 完成开通和配置。

三、新增 trackUser 不带参数的接口​

新增 trackUser 不带参数的接口,默认会自动获取当前用户的 xdid 作为上报的 ID,如果以前使用的不是 XDID,请继续只用之前的接口。

四、Twitter 登录相关​

检查本地某个平台的授权是否有效 的 API 支持检查 Twitter 的 token 是否失效,以及用户如果是以 Twitter 账号登录的,会在自动登录时检查 Twitter token 有效性并在无效时自动登录失败。

6.6.0​

一、网页支付 Chrome Custom Tabs 新方案​

针对 Google、Facebook 已经限制应用内嵌 WebView 的登录,在网页支付的第三方支付渠道中会有支持 Google、Facebook 这类的第三方登录进行授权登录,从 Google 限制说明 和 Facebook 限制说明 来说网页支付上的一些第三方支付渠道可能会影响到支付流程,故而改为使用 Chrome Custom Tabs 进行网页支付的实现。 参考网页支付配置相关对 AndroidManifest.xml 文件进行更新。

另外如手机不支持 Chrome Custom Tabs 服务时会打开手机的默认浏览器,对默认浏览器 SDK 无法做到更多的控制,从外部浏览器支付完成之后存在无法跳回应用的现象产生,当用户手动切回应用时会给到支付取消 的回调,与开发指南提到的一样,网页支付在 SDK 给到的回调是无法保证支付结果的准确性的,可以看作支付流程的一次结束时机,最终还是以 s2s 的结果为准。

请注意:其中配置的 scheme 规则中的 xd_client_id 为全小写!!

以下是我们对部分浏览器的测试结果:

browser_cmp

二、TapTap 沙盒无感登录​

针对使用 TapTap 沙盒无感登录时,可在 XDConfig.json 文件中将 tapsdk->permissions 的配置修改为 basic_info。

6.5.3​

PC 配置 json 文件中 webpay_url 改换为 webpay_url_for_pc。

6.5.1​

这个版本我们更新了 Google 支付的 SDK 版本(是上架/更新 GP 的要求),没有游戏需要处理的内容。

6.5.0​

一、支持越南语​

我们在 6.5.0 中支持了越南语,只需调用 设置语言 即可将 XDSDK 调整为 越南语显示(注意:TapSDK 截止 v3.12.0 还不支持越南语)。

二、邮箱唯一处理​

这个事情说起来很复杂,所以我们准备了一遍 博文 来为您详细解释缘由。

以下是开发需要关注的事情:

6.5.0 在 登录接口 中会携带详细的错误信息提供给游戏来展示对应的UI。 为此开发需要在 XDConfig.json 中 tapsdk 和 facebook 的 permissions 节点增加 email 权限来让我们获得用户在各平台的绑定邮箱。

XDConfig.json
{
"tapsdk": {
xxx: xxx,
"permissions": [
"public_profile",
"email",
//必须,防止同一个邮箱的账号裂开
"user_friends"
// 需要好友权限的增加这一行,不需要可删除
]
},
"facebook": {
// Facebook 配置,可选,没有可以删除配置
"app_id": "xxx",
"client_token": "xxx",
"permissions": [
"public_profile",
"email",
//必须,防止同一个邮箱的账号裂开
"user_friends"
// 需要好友权限的增加这一行,不需要可删除
]
}
}

6.4.3​

一、支持直接授权绑定第三方平台​

我们在这个版本里支持了 查询第三方平台账号是否过期 以及可以直接调用的 第三方授权绑定接口,这个接口设计初衷是在使用 TDS 好友中的 Facebook 好友的时候,如果用户授权后保存在 XD & TDS 上的 Facebook 授权数据过期了的话,好友服务中 Facebook 的数据就无法访问了,这个时候就需要主动让用户重新授权一次才能正常使用好友服务。

从 6.x 升级到 6.4.0​

一、需要自行接入防沉迷​

从 XDSDK 6.4.0 开始,XDSDK 不再内置防沉迷 SDK 及其逻辑调用。游戏需要自行参考 TapSDK 中 实名认证和防沉迷开发指南 的内容来完成国内防沉迷的接入。 建议游戏预留一定的时间来完成接入和测试!

二、TapDB 版本注意​

在国内版开发者中心(DC)上架的海外游戏(应用在国内 DC,但游戏在海外发行、游戏服务-应用配置中选择的适用地区也为海外),在升级 XDSDK 时需要注意 TapDB 最高使用版本只能 小于等于 3.6.1 版本。

自 TapDB 3.6.3 起,统计数据会报到海外集群,导致在国内开发者中心看数据分析(TapDB)的时候看不到任何数据。

如果要升级至 3.6.3 及更高版本,我们建议先把应用迁移到海外 DC,同时联系 DB 同事迁移旧数据至海外版。

强烈建议在国内 DC 上架的海外游戏尽快把应用迁移到海外 DC 上,具体迁移方式请联系 XDSDK 项管。

详情参考:TapDB 说明文档。