1 功能介绍
保证这些接口功能都在 登录成功
以后调用
请在合适的时机使用这些接口功能,避免
多次调用
完成本文 接口
接入,你可以实现
2 前置条件
拓展功能在接入前必须保证已经完成快速接入,否则部分接口会返回空值
3 接入步骤
3.1 注销账号
场景介绍
- 根据最新网信部政策要求,游戏必须拥有「注销账号」流程
- 接入该接口游戏需要
自绘按钮
,按钮点击后调用此接口即可
接入建议
由于注销账号需要获取玩家账号信息,建议将注销账号功能接入在游戏登陆后,例如:游戏设置页面
、玩家信息界面
等
void accountCancellation();
1
2
3
4
5
6
HeroUsdkSupportKit::GetInstance()->accountCancellation();
1
2
3
注销成功后,渠道内部会做登出操作
3.2 账号中心[全球渠道]
场景介绍
- 账号绑定接口,用于玩家绑定第三方账号信息,接入该接口游戏需要
自绘按钮
, - 方便玩家以游客身份成功进入游戏以后,能使用该接口绑定三方账号信息
- 此接口无任何回调,SDK处理相应逻辑
void showAccountCenter();
1
2
3
4
HeroUsdkSupportKit::GetInstance()->showAccountCenter();
1
2
3
3.3 切换账号
场景介绍
- 全球渠道切换账号,接入该接口游戏需要自绘按钮,调用接口后会弹出SDK切换账号页面;
注意
由于平台实现不同,移动端和PC接入方式有差异!
Android和iOS直接调用如下方法,无需绘制页面。调用接口后,SDK内部会打开原生界面,如下:
void switchAccount();
1
2
3
4
HeroUsdkSupportKit::GetInstance()->switchAccount();
1
void UHeroUsdkUserWidget::openSwitchAccountAction()
{
#if PLATFORM_MAC || PLATFORM_WINDOWS || PLATFORM_LINUX
HeroUsdkSupportPcDelegate::GetInstance()->SetSwitchAccountCallback([this]()
{
SwitchAccountWindow = CreateWidget<UPC_SwitchAccountPannel>(this, SwitchCenterWid);
SwitchAccountWindow->AddToViewport();
});
#endif
HeroUsdkSupportKit::GetInstance().switchAccount();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
3.4 内置网页浏览器
场景介绍
- 内置网页浏览器可以通过 webId 显示内置浏览器界面,webId 需要从中台配置获取
- 内置网页浏览器为全屏显示
- 内置网页浏览器有4个功能按钮,分别为前进、后退、关闭、刷新,需要到中台配置
WebID获取位置:中台游戏管理 (opens new window)-业务支持能力-全部渠道通用-内嵌H5管

void openBrowser(FString openID) ;
1
2
3
4
HeroUsdkSupportKit::GetInstance()->openBrowser("test02");
1
2
3
3.5 USDK埋点
场景介绍
void trackWithProperties(FString event,TMap<FString, FString> propertys);
1
2
3
4
5
TMap<FString, FString> parameters ;
parameters.Add("sdkOrderId",orderInfo.sdkOrderId) ;
HeroUsdkSupportKit::GetInstance()->trackWithProperties("PayResult",parameters);
1
2
3
4
5
6
3.6 USDK埋点回调
场景介绍
void trackEventDataCallback();
1
2
3
4
5
HeroUsdkSupportKit::GetInstance()->trackEventDataCallback();
1
2
3
4
void usdk_onTrackDataCallBack(FString JSONContent)
{
}
1
2
3
4
5
6
3.7 Xsolla商城
场景介绍
startXsollaPayWithXsollaProperties(TMap<FString, FString> propertys);
1
2
3
4
5
TMap<FString, FString> xsollaParameters;
xsollaParameters.Add("roleId", "HU12345678");
xsollaParameters.Add("roleName", TEXT("测试角色昵称"));
xsollaParameters.Add("serverId", "12345678");
xsollaParameters.Add("serverName", TEXT("测试服"));
xsollaParameters.Add("cpUid", "HU12345678");
xsollaParameters.Add("isJumpOutBrowser", "0");
HeroUsdkSupportKit::GetInstance()->startXsollaPayWithXsollaProperties(xsollaParameters);
1
2
3
4
5
6
7
8
9
10
参数说明
字段 | 类型 | 说明 |
serverId | string | 服务器ID |
serverName | string | 服务器名称 |
roleId | string | 角色ID |
roleName | string | 角色昵称 |
cpUid | string | 游戏用户ID |
isJumpOutBrowser | string | 是否跳转外部浏览器,1为外部浏览器,0为内置浏览器 |
3.8 全球账号绑定状态
场景介绍
void getGlobalBindState();
1
2
3
4
5
HeroUsdkSupportKit::GetInstance()->getGlobalBindState();
1
2
3
void usdk_onGetGlobalBindState(HeroUsdkResult result,FString JSONContent,FString msg)
{
if (result == HeroUsdkSuccess)
{
}
else
{
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
参数说明
字段 | 类型 | 说明 |
huaweiBind | string | 华为账号绑定状态 |
weChatBind | string | 微信账号绑定状态 |
gameWithBind | string | GameWith账号绑定状态 |
twitterBind | string | Twitter账号绑定状态 |
appleBind | string | Apple账号绑定状态 |
fbBind | string | Facebook账号绑定状态 |
lineBind | string | Line账号绑定状态 |
oppoBind | string | Oppo账号绑定状态 |
googleBind | string | Google账号绑定状态 |
gcBind | string | GameCenter账号绑定状态 |
3.9 自定义事件追踪融合接口
场景介绍
- 自定义事件追踪融合接口,包含AppsFlyer、Facebook、Firebase、Adjust(根据中台市场插件开关)
void logEvent(FString eventName,TMap<FString, FString> propertys);
1
2
3
TMap<FString, FString> parameters1 ;
parameters1.Add("sdkUserId",Info.sdkUserId) ;
parameters1.Add("userName",Info.userName) ;
HeroUsdkSupportKit::GetInstance()->logEvent("LoginResult",parameters1);
1
2
3
4
5
6
7
3.10 购买事件追踪融合接口
场景介绍
- 购买事件追踪融合接口,包含AppsFlyer、Facebook、Adjust(根据中台市场插件开关),调用购买事
void logPurchaseWithOrderId(FString orderId,double amount,FString currency,TMap<FString, FString> propertys)
1
2
3
TMap<FString, FString> parameters;
HeroUsdkSupportKit::GetInstance()->logPurchaseWithOrderId(orderInfo.sdkOrderId, 128, "CNY", parameters);
1
2
3
4
5
3.11 跳转到其他APP[仅Android]
场景介绍
void jumpToApp(FString url)
1
2
3
FString url = TEXT("https://www.facebook.com/EternalEvolutionOfficial/");
HeroUsdkSupportKit::GetInstance()->jumpToApp(url);
1
2
3
4
3.12 USDK保存图片到相册
场景介绍
void addPicToAlbum(FString imagePath,FString albumName) ;
1
2
3
FString filePath = "图片路径" ;
HeroUsdkSupportKit::GetInstance()->addPicToAlbum(filePath,TEXT("HeroUSDK"));
1
2
3
4
3.13 USDK获取Google/AppleStore商品详情[Android & iOS]
场景介绍
- 获取谷歌/苹果后台商品id对应的商品在不同地区的详细信息,比如币种 、价格 等,
void HeroUsdkSupportKit::getGoogleSkuDetailsList(const TArray<FString>& gameGoodsList)
1
2
3
TArray<FString> ids ;
ids.Add("123") ;
HeroUsdkSupportKit::GetInstance()-> getGoogleSkuDetailsList(ids);
1
2
3
4
5
void usdk_onGetGoogleSkuDetailsList(HeroUsdkResult Result, const FString& JsonArray, const FString& ErrorMsg)
{
if (Result == HeroUsdkSuccess)
{
}
else
{
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
参数说明
字段 | 类型 | 说明 |
usdkGoodsId | string | 游戏商品id |
price | string | 当地商品的格式化价格,包括其货币符号 |
googleGoodsId | string | 谷歌后台商品id |
currency | string | 当地价格和原始价格的 ISO 4217 货币代码。 比如英镑 GBP 、 美元 USD |
amount | string | 微单位为单位的价格,比如定价1美元的商品,返回1000000。获取单位价格可强制转换成long型除以1000000即可 |
3.14 USDK获取OAID [仅支持Android平台]
场景介绍
- 匿名设备标识符(Open Anonymous Device Identifier,简称OAID)是一种用于安卓设备的唯一标识符,可由用户重置。该标识符由移动安全联盟(MSA)、中国信息通信研究院以及设备厂商合力推出,旨在替代IMEI等不可重置的设备标识符,以保护用户隐私。
- OAID通常用于不支持Google Play Services的设备(即没有Google Advertising ID的设备),以对其进行广告衡量及激活归因。
WARNING
- OAID模块已经封装成插件,会在打渠道包的时候由出包工具将OAID插件自动加入到游戏中,因此只有渠道包才会有OAID的返回值,母包的返回值为空字符串
void HeroUsdkSupportKit::getOAID();
1
2
3
4
5
HeroUsdkSupportKit::GetInstance()->getOAID();
1
2
class HeroUsdkSupportNotifyImpl : public HeroUsdkSupportNotify
{
void usdk_onGetOAIDResultAction(FString msg)
{
GEngine->AddOnScreenDebugMessage(-1,10, FColor::Red, msg );
UE_LOG(LogTemp, Log, TEXT("usdk_onGetOAIDResultAction : %s"), *msg);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
参数说明
字段 | 类型 | 说明 |
msg | FString | OAID |