初始化(InitLI)
建议在游戏启动时初始化 LI PASS。LI PASS V1.16.00 及之后的版本,请调用 InitLIP
。
函数定义
UFUNCTION(BlueprintCallable, Category = "LevelInfinite")
static int InitLI(UGameInstance* instance, bool isTest, const FString& appVersion, const FString& langType = "en");
初始化 LI PASS 分别为下面的几个步骤:
- 获取热更版本信息
- 下载新版资源
- 加载资源
- 加载完成后,触发 LI PASS 事件回调(LIEventObserver) 的 GN_READY 事件
注意
GN_READY 事件在网络异常情况下的回调超时反馈时间是 60s*3。游戏可在初始化后直接调用 自动登录(AutoLogin)、打开登录面板(OpenLoginPanel) 或 登录并拉起 LI PASS 绑定页面(LoginChannelWithLIPass) 给予玩家及时的响应,无需等待GN_READY 事件。
获取热更版本信息
请求信息
可以搜索 gnconfig
定位到请求 URL:
2023-06-08 09:54:20.948 25151-26800 INTL com.intlgame.demo I [INTL][1806][A.I.A][2023-06-08 09:54:20.948][25151, 26800, 539607522480][ (intl_http_manager.cpp:328) OnHTTPClientCallBack] :
[http] request url : https://test-vas.intlgame.com/v2/gnconfig/acquire_config?area_id=0&channelid=131&gameid=11&openid=FFFFFFFFFFFFFF&os=1&sdk_version=1.3.00&seq=11-7a08fc1d06ea8e62b6ea3e626ed61c8f2398c981bc6d8d0dfa30681a3d05616e-1686189260-717&source=37&token=&ts=1686189260&sig=6dc2bb8968cfe28fab5138e2342f327d ,
响应信息
警告
如 LI PASS 表现未符合预期,请检查热更版本信息,确认是否运行正确的资源。
如果匹配到规则,可以搜索 rule_id
定位到响应信息:
response_body : {
"ret":0,
"msg":"",
"rule_id":"1063",
"resource_list":"[{\"dependency\":[],\"file_list\":[{\"md5\":\"968F1A3E16AB6041F504E29DEFB348DD\",\"size\":1747648,\"url\":\"https://sg-gamenative001-1300342648.file.myqcloud.com/gamenative-files/11/LI_107_UE_Android/1686187421509627102/LevelInfinite_Android.pak\"}],\"is_public\":0,\"name\":\"LI_107_UE_Android\"}]",
"sdk_enable":1,
"sdk_debug_enable":1,
"report_log_enable":1,
"log_level":1,
"inner_seq":"ac097e19-772b-4069-948d-78e21821ac15",
"seq":"11-7a08fc1d06ea8e62b6ea3e626ed61c8f2398c981bc6d8d0dfa30681a3d05616e-1686189260-717"
}
如果未匹配到规则:
response_body : {
"ret":23111202,
"msg":"no matched config error( [match logic]no match )",
"rule_id":"",
"resource_list":"",
"sdk_enable":0,
"sdk_debug_enable":0,
"report_log_enable":0,
"log_level":0,
"inner_seq":"ca3fa94a-0be7-4325-aa90-a5bc36d7c502",
"seq":"11-7a08fc1d06ea8e62b6ea3e626ed61c8f2398c981bc6d8d0dfa30681a3d05616e-1686189018-705"
}
入参说明
参数 | 类型 | 说明 |
---|---|---|
instance | UGameInstance | UE GameInstance |
isTest | bool | 是否是测试环境,正式环境传 false,测试环境传 true |
appVersion | string | 游戏版本号,不能带空格 |
langType | string | LI PASS UI 显示语言 |
代码示例
FString Version = FApp::GetBuildVersion();
ULevelInfiniteAPI::InitLI(GetGameInstance<UGameInstance>(), true, Version, TEXT("en"));