登录接入
客户端登录接入
以下步骤紧接步骤五
步骤六. 设置发布地区
LI PASS 登录组件内置默认的合规流程,需要开发人员使用 allowList 和 blockList 数组作为入参调用 UpdateCountryList。allowList 数组应包含 LI PASS 国家地区选择页面需要展示的国家地区的 ISO 3166-1 数字代码,而 blockList 数组应包含不应显示的国家或地区代码。
此处指定的国家和地区将用于 LI PASS 登录组件内置的合规工作流程中。
- Unity
- Unreal Engine
TArray<FString> allowList;
allowList.Add(TEXT("496"));
allowList.Add(TEXT("400"));
TArray<FString> blockList;
blockList.Add(TEXT("400"))
ULevelInfiniteAPI::UpdateCountryList(allowList,blockList);
string[] allowArray = new string[] {"496","400"};
string[] blockArray = new string[] {"400"};
LevelInfinite.UpdateCountryList(allowArray,blockArray);
步骤七. 添加 LI PASS 功能
- 登录组件 添加 LI PASS 登录组件,实现账号注册、登录、登出、账号中心等功能。
LI PASS 为登录组件提供了 OpenLoginPanel 方法适用于手游以及拥有自己登录器的 Windows 游戏,此接口适用于在移动平台(特别是 iOS 和 Android)上发布的游戏,以及那些拥有自己登录器的 Windows 游戏。游戏可支持玩家通过 LI PASS 和其他 30 多个渠道登录
- Unity
- Unreal Engine
调用 AutoLogin 接口通过本地缓存中存储的登录态验证玩家的身份。如果自动登录成功,则玩家进入游戏。如果自动登录失败,则需调用 OpenLoginPanel 接口打开 LI PASS 登录组件。此登录组件可完成 LI PASS 注册,登录,及完成合规流程。
在 AuthResultObserver 回调中添加以下代码处理自动登录的结果。
if (AuthResult.MethodId == (int32)LIEnterGameMethodId::kLIAutoLoginEnterGame) {
if(AuthResult.RetCode == INTL_NAMESPACE::ErrorCode::SUCCESS) {
UE_LOG(LogTemp, Warning, TEXT("LI Autologin success"));
} else {
UE_LOG(LogTemp, Warning, TEXT("LI Autologin failed, ret_code = %d, ret_msg = %s"), AuthResult.RetCode, *AuthResult.RetMsg);
ULevelInfiniteAPI::OpenLoginPanel();
}
}
调用 AutoLogin 接口通过本地缓存中存储的登录态验证玩家的身份。如果自动登录成功,则玩家进入游戏。如果自动登录失败,则需调用 OpenLoginPanel 接口打开 LI PASS 登录组件。此登录组件可完成 LI PASS 注册,登录,及完成合规流程。
在 AuthResultObserver 回调中添加以下代码处理自动登录的结果。
if (AuthResult.MethodId == (int)INTLMethodID.LI_AUTOLOGIN_ENTER_GAME) {
if(AuthResult.RetCode == (int)ERROR_CODE.SUCCESS) {
Debug.Log("LI Autologin success");
} else {
Debug.Log("LI Autologin failed, ret_code = " + AuthResult.RetCode + ", ret_msg = " + AuthResult.RetMsg);
LevelInfinite.OpenLoginPanel();
}
}
此接口的默认登录组件支持新玩家创建 LI PASS,使用 LI PASS 账号和密码或邮箱与验证码登录游戏,通过其他渠道(包括游客账号)登录游戏,以及密码重置功能。如下图所示:

如需自定义登录组件支持的功能,请参见 LI PASS 配置。