跳到主要内容
版本:v7

Unity

更新依赖

  1. 将目前的 manifest.json 中的依赖提供给平台同事,获取新版的配置并更新。
  2. 联系平台同事获取新版的 XDConfig.json 文件。
  3. 删除 /Assets/XDSDK/PC (即原来导入的 PC 的 UnityPackage)目录及内容。
  4. 如果之前没有导入过 Vuplex,需要导入 Vuplex v4.5 的 UnityPackage。

接口变化

此处只罗列和 v6 版本有差异的代码片段。

日志

不再有 LCLogger.LogDelegate 相关内容,请删除,只需保留 XDGLogger.LogDelegate 即可。

初始化

  • 初始化时需要指定包体类型和当前语言。
  • 初始化支持设定渠道信息,比 XDConfig.json 中的渠道信息优先级更高。如果需要保留 XDConfig.json 中的渠道信息,请传入空字符串。
using XD.SDK.Common;

// 渠道和语言根据实际情况修改
// PackageType 规则
// 国内 TapTap PC 平台请使用 PackageTypePCTapTap,
// 海外 Google Play Android 平台请使用 PackageTypeAndroidGooglePlay
// 其他平台请使用 PackageTypeDefault

// db 参数可透传给 TapDB 的 device_login/user_login 事件
var dbProperties = new Dictionary<string, object>
{
{ "test_init_device_login_key", "test_init_device_login_value" }
};
XDGInitParam initParam = XDGInitParam.CreateToXDSDK("your_channel", LangType.ZH_CN, XDGPackageType.PackageTypePCTapTap, dbProperties);
XDGCommon.InitSDK(initParam,
(success, msg) =>
{
if (success)
{
// 初始化成功
}
else
{
// 初始化失败
}
});

// 判断是否初始化完成
bool isInitialized = XDGCommon.IsInitialized();

获取用户

异步接口 XDGAccount.GetUser 已删除,同步接口 XDGAccount.CurrentUser 保留。

打开用户中心

XDGAccount.OpenUserCenter 接口新增角色信息参数,但目前可以传 null。

using XD.SDK.Account;

XDGAccount.OpenUserCenter(null);

打开注销页面

XDGAccount.OpenUnregister 接口已删除,请改用 XDGAccount.OpenAccountDeletion 接口。

客服

无论是 XDGCommon.Report 接口还是自行接入的 TapSupportSDK,均不再支持,请改用新版内置的客服接口。

打开客服请参考下面的代码,客服未读消息状态会在 UserStatusChangeCallback 中回调有未读 SupportHasUnRead 和没有未读 SupportNoUnRead

using XD.SDK.Account;

// 角色信息
XDGRoleInfo role = new XDGRoleInfo()
{
RoleId = "role_id",
RoleLevel = 10,
RoleName = "role_name",
ServerId = "server_id"
};
// 透传参数
var paramsMap = new Dictionary<string, object>
{
{ "key1", "value1" },
{ "key2", true },
{ "key3", 1234567890 }
};
XDGAccount.OpenCustomerService(role, "", paramsMap);

支付

  • 查询保留 XDGPayment.QueryWithProductIds 接口,QueryProductList 接口已删除,SDK 会根据初始化时的包体类型自动处理查询逻辑,但游戏仍需注意查询时的商品 ID 列表应匹配当前平台。详细参考
  • 发起支付只保留 XDGPayment.PayWithParams 接口,PayWithProduct 和 PayWithWeb 接口已删除。
  • XDGPayment.QueryRestoredPurchase 接口改为 XDGPayment.QueryPendingPurchases 接口。详细参考
  • XDGPayment.RestorePurchase 接口改为 XDGPayment.HandlePendingPurchase 接口。详细参考

分享

XDGCommon.Share 接口已删除,请改用新版 XDGSharing 接口,文档

埋点

不再需要调用 XDGCommon.TrackUser 方法,SDK 会自动上报用户信息。如果之前上报的 userid 不是 XDID,请告知平台同事。也不再有预置的事件类型,如有需求请联系平台同事。

其他

  • 删除判断某个平台 token 是否过期的接口 XDGAccount.IsTokenActiveWithType
  • 删除获取当前地区信息 XDGCommon.GetRegionInfo 接口,请使用 查询IP信息接口
  • 删除支持关闭协议弹窗 XDGCommon.DisableAgreementUI,如有需求请联系平台同事。
  • 删除展示协议接口 XDGCommon.ShowDetailAgreement,请使用 打开网页接口
  • 删除人机验证接口 XDGCommon.ValidateWithCaptcha,如有需求请联系平台同事。

数据字段变化

用户信息

XDGUser 类原有字段均改为大驼峰式命名法。

userId -> UserId
name -> UserName
sub 删除
loginType -> LoginType
avatar -> Avatar
nickName -> NickName
boundAccounts -> BoundAccounts
token -> Token

XDGAccessToken 类原有字段均改为大驼峰式命名法。

kid -> Kid
tokenType -> TokenType
macKey -> MacKey
macAlgorithm -> MacAlgorithm

角色信息

XDGRoleInfo 类原有字段均改为大驼峰式命名法。

roleId -> RoleId
roleName -> RoleName
serverId -> ServerId
extra -> Extra
新增 GameVersion
新增 RoleLevel

商品信息

XDGSkuDetailInfo 类替换为 XDGProductInfo,仅保留商品 ID 字段和展示价格字段。游戏不在需要自行拼接货币符号和价格数值。

XDGOrderInfoWrapper 类替换为 XDGOrderInfo,原有字段均改为大驼峰式命名法。