Unity
更新依赖
- 将目前的 manifest.json 中的依赖提供给平台同事,获取新版的配置并更新。
- 联系平台同事获取新版的
XDConfig.json文件。 - 删除
/Assets/XDSDK/PC(即原来导入的 PC 的 UnityPackage)目录及内容。 - 如果之前没有导入过 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,原有字段均改为大驼峰式命名法。