登录接入
客户端登录接入
以下步骤紧接步骤五
步骤六:主机游戏项目配置
- Unity
- Unreal Engine
- 安装并激活 Input System 包:
Input System 需要 Unity 2019.1 或更高版本与 .NET Framework 4 运行,不适用于运行 .NET Framework 3.5 的项目。
在 XSX 真机运行时需匹配 1.6.1 版本的 Input System,同时附带安装 com.unity.inputsystem.gxdk-1.0.1 的拓展包,如果遇到引入问题请联系 Player Network 助手。
更多详情,请参见 Input System 安装指南.
-
从 Unity 的主菜单中,进入 Window > Package Manager 以打开 Unity Package Manager。
-
点击 Advanced,确认 Show Preview Packages 已启用。
-
从左侧的列表中,选择最新的 Input System 包后,点击 Install。

-
从 Unity 的主菜单中,进入 Edit > Project Settings后,点击 Player。
-
将 Active Input Handling 的值设置为
Input System Package (New)。 -
添加宏定义:
-
从 Unity 的主菜单中,进入 Edit > Project Settings 后,点击 Player。
-
打开 Other Settings 面板,浏览至 Scripting Define Symbols。
-
将
INTL_CONSOLE_GAME_INPUT添加到文本框中,使用分号分隔。 -
在
Assets/LevelInfinite中打开程序集定义文件LevelInfinite.asmdef,然后在 Assembly Definition References 中添加Unity.InputSystem。
-
无内容
步骤七:添加回调处理
- Unity
- Unreal Engine
需添加 AuthResultObserver 和 LIEventObserver 回调来处理登录组件事件。
回调数据结构为 INTLAuthResult,其中包含登录信息和账号信息,例如 OpenID、账号绑定信息和账号注销状态。
// Add callbacks
INTLAPI.AddAuthResultObserver(OnAuthResultEvent);
LevelInfinite.AddLIEventObserver(OnLIBaseEventResult);
// Handle AuthResultObserver callback result
private void OnAuthResultEvent(INTLAuthResult AuthResult)
{
switch (AuthResult.MethodId)
{
case (int)INTLMethodID.LI_LOGIN_ENTER_GAME:
if(AuthResult.RetCode == (int)ERROR_CODE.SUCCESS) {
Debug.Log("LI PASS Login success");
} else {
Debug.Log("LI PASS Login failed, ret_code = " + AuthResult.RetCode + ", ret_msg = " + AuthResult.RetMsg);
}
break;
default:
break;
}
}
// Handle LIEventObserver callback result
private void OnLIBaseEventResult(LIBaseEventResult liRet)
{
switch (liRet.lIEventType)
{
case LIEventType.GN_READY:
break;
default:
break;
}
}
需添加 AuthResultObserver 和 LIEventObserver 回调来处理登录的事件。
回调数据结构为 FINTLAuthResult,其中包含登录信息和账号信息,例如 OpenID、账号绑定信息和账号注销状态。
// Add callbacks
AuthResultObserver = UINTLSDKAPI::GetAuthResultObserver().AddUObject(this, &ULevelInfiniteWindow::OnAuthResult_Callback);
// Handle AuthResultObserver callback result
void ULevelInfiniteWindow::OnAuthResult_Callback(FINTLAuthResult AuthResult)
{
if(AuthResult.MethodId == (int32)LIEnterGameMethodId::kLILoginEnterGame)
{
// LI Login success, enter the game here.
}
else if (AuthResult.MethodId == (int32)LIEnterGameMethodId::kLIBindEnterGame)
{
// Bind social account success inside the game
}
}
// Add callbacks
FDelegateHandle LIEventObserver;
LIEventObserver = ULevelInfiniteAPI::GetEventDelegate().AddUObject(this, &ULevelInfiniteWindow::OnLIEvent_Callback);
// Handle LIEventObserver callback result
void ULevelInfiniteWindow::OnLIEvent_Callback(FLIBaseEvent Event)
{
FString logStr;
switch(Event.EventType){
case ELIEventType::GN_READY:
{
break;
}
}
}
步骤八:完成登录流程
- Unity
- Unreal Engine
调用 LoginChannelWithLIPass 接口打开 LI PASS 登录组件,并指定玩家使用的登录渠道。
如果当前账号尚未关联 LI PASS,且玩家是第一次进入游戏,登录组件将显示关联 LI PASS 的用户界面。
LevelInfinite.LoginChannelWithLIPass(INTLChannel.PlayStation);
调用 LoginChannelWithLIPass 接口打开 LI PASS 登录组件,并指定玩家使用的登录渠道。
如果当前账号尚未关联 LI PASS,且玩家是第一次进入游戏,登录组件将显示关联 LI PASS 的用户界面。
ULevelInfiniteAPI::LoginChannelWithLIPass(EINTLLoginChannel::kChannelPlayStation);
步骤九:配置第三方渠道信息
LI Pass 支持多个主机端第三方渠道:
后台登录接入
请参考 接入概览中的 后台接入。