InitLI
AndroidiOSWindows
Deprecated since: LI PASS V1.16.00
If you were looking for the method for use with Unity, see InitLI for Unity SDK.
Deprecated since: LI PASS V1.16.00
If you were looking for the method for use with Unity, see InitLI for Unity SDK.
It is recommended to initialize LI PASS when starting the game. For LI PASS V1.16 and above, see InitLIP
.
Function definition
UFUNCTION(BlueprintCallable, Category = "LevelInfinite")
static int InitLI(UGameInstance* instance, bool isTest, const FString& appVersion, const FString& langType = "en");
LI PASS initialization consists of the following steps:
- Obtain hotfix information for resource package version
- Download resources for new version
- Load resources
- After loading is complete, trigger the GN_READY event from LIEventObserver
note
The callback timeout for GN_READY in the case of a network exception is 60s*3. Games can call AutoLogin, OpenLoginPanel, or LoginChannelWithLIPass directly after initialization to provide the player with a timely response, without having to wait for the GN_READY event.
Obtain Hotfix Information for Resource Package Version
Request Information
Search gnconfig
to locate the request 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 ,
Response Information
caution
If LI PASS does not perform according to expectations, verify the version information to confirm that the correct version of resources have been loaded.
If a rule is matched, search rule_id
to locate the response information:
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"
}
If no rules are matched:
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"
}
Input parameters
Parameter | Type | Description |
---|---|---|
instance | UGameInstance | UE GameInstance |
isTest | bool | Check for test environment, passes false for live environment, passes true for test environment |
appVersion | string | Game app version, space characters cannot be used |
langType | string | LI PASS UI display language |
Code sample
FString Version = FApp::GetBuildVersion();
ULevelInfiniteAPI::InitLI(GetGameInstance<UGameInstance>(), true, Version, TEXT("en"));