合规接入
合规功能概述
LI PASS集成了合规的全过程,接入LI PASS需要完成以下几项合规功能的接入:
- 发行国家/地区和协议条款配置
- 未成年人认证
- 未成年聊天授权
- 账号注销
关于LI PASS合规功能的详细介绍,可以浏览合规模块产品文档。
若需人工服务,可以到企业微信咨询 Player Network助手 。
发行国家/地区和协议条款配置
设置发行国家/地区列表
LI PASS根据当前玩家的ip地址,获取玩家所在的国家/地区,默认展示这个国家/地区;玩家也可以自己选择切换到其他国家/地区。
游戏可以按需设置需要展示的国家列表和屏蔽的国家列表,设置方式有以下2种:
1、 在Player Network Console上配置需要展示的国家列表和屏蔽的国家列表
在Player Network Console上配置国家列表。右侧设置默认显示的国家/地区,当通过ip获取玩家所在国家/地区失败时,会显示这个默认国家/地区。
2、调用 UpdateCountryList接口,设置需要展示的国家列表和屏蔽的国家列表。
- 调用
UpdateCountryList接口时,需传入allowList和blockList两个数组,其中allowList数组应包含应展示的国家/地区的 ISO 3166-1 数字代码,而blockList数组应包含被屏蔽的国家/地区的ISO 3166-1 数字代码。
代码示例:
- Unity
- Unreal Engine
string[] allowArray = new string[] {"496","400"};
string[] blockArray = new string[] {"400"};
LevelInfinite.UpdateCountryList(allowArray,blockArray);
TArray<FString> allowList;
allowList.Add(TEXT("496"));
allowList.Add(TEXT("400"));
TArray<FString> blockList;
blockList.Add(TEXT("400"))
ULevelInfiniteAPI::UpdateCountryList(allowList,blockList);
若Player Network Console和游戏代码同时设置需要展示的国家列表和屏蔽的国家列表,则优先使用Player Network Console的配置
协议条款配置
LI PASS会根据玩家所选择的 国家/地区, 显示对应的合规协议,各个国家/地区 的合规协议数量不同。所有的协议条款如下:
- [必选]游戏服务条款和游戏隐私协议
- [必选]LEVEL INFINITE PASS 服务条款和LEVEL INFINITE PASS 隐私协议
- [可选]LEVEl INFINITE PASS 及游戏的营销邮件订阅
- [可选,仅韩国]夜间营销邮件订阅
- [必选,仅 EEA 区域的移动端] DMA 广告通知
- 游戏服务条款、游戏隐私协议、韩国游戏隐私协议、DMA广告通知等协议条款需要游戏侧完成,并制作成网页;
- 在协议条款网页中提供 多语言切换 功能;
- 将协议条款网页的URL配置在 Player Network Console或者INTLConfig.ini。
1、 Player Network Console 上,如截图:
2、在游戏客户端的 INTLConfig.ini 文件中的配置:
GAME_PP_URL = {Your webpage url}
GAME_TOS_URL = {Your webpage url}
- 若Player Network Console和游戏代码同时设置协议条款网页URL,则优先使用Player Network Console的配置;
- LEVEL INFINITE PASS 服务条款 和 LEVEL INFINITE PASS 隐私协议 已经在LI PASS登录组件中实现。
未成年人认证
LI PASS登录组件已实现了未成年人认证服务的完整功能,联系 fanfanliang(梁晓彤) 在合规控制台配置后可直接使用。
LI PASS提供了标准的海外未成年认证合规流程,如有定制化需求,可以联系合规同学 fanfanliang(梁晓彤) 。
未成年人认证流程的配置包括:
- 成年年龄配置
- 未成年人合规认证方式配置
- 游戏的最低适玩年龄
- 未成年禁入功能
- 未成年游戏内聊天授权
成年年龄配置
LI PASS合规团队根据不同国家/地区的法律法规,设置了对应的成年年龄,若需了解更多或修改相关配置,可以联系合规同学 fanfanliang(梁晓彤) 。
未成年人合规认证方式
根据不同国家/地区的法律法规,未成年人的认证方式主要有以下几种:
- 无需进行未成年人认证
- 玩家自我认证
- 未成年人家长邮件授权认证
- 美国未成年人信用卡认证
- 韩国PC端实名认证
无需进行未成年人认证
玩家在注册账号/首次登录时,如果玩家选择的国家/地区无需进行未成年人认证,玩家只需同意相关协议和条款即可进入游戏,无需进行未成年人认证流程。
玩家自我认证
玩家在注册账号/首次登录时,如果玩家选择的国家/地区未成年认证方式为自我认证,协议条款界面会提示玩家勾选合规协议和确认已成年选项;若不勾选已成年选项,则表明玩家是未成年,如下图第三个选项所示。
未成年人家长邮件授权认证
发行欧洲、韩国(仅限非PC游戏)等地区且允许未成年玩家进入游戏的,需要发邮件到家长邮箱获取授权后,玩家才能进入游戏。
游戏侧需要提供用于发家长认证邮件的发件账号(只发件不收件),具体配置联系 fanfanliang(梁晓彤) 。
美国未成年人信用卡认证
根据美国的相关法律法规,13岁以下玩家若需进入游戏的,需要未成年玩家的家长进行信用卡支付(预扣款一美元)认证。
游戏侧需要到Midas官网创建用于信用卡认证的 offerid 并授权给LI PASS平台,具体配置联系 fanfanliang(梁晓彤) 。
韩国PC端实名认证
依据韩国的相关法律法规,韩国的PC游戏需要进行实名认证。实名认证服务的逻辑已在LI PASS登录组件实现,若PC游戏需发行韩国,请联系 fanfanliang(梁晓彤) 进行实名配置。
未成年人禁入功能
LI PASS组件已实现禁止未成年玩家进入游戏的功能,游戏侧只需简单配置即可启用该功能。游戏侧若有需要,请联系 fanfanliang(梁晓彤) 进行配置。
未成年游戏内聊天授权
根据部分国家/地区法律法规的要求,如果允许未成年人进入游戏,需要默认禁用未成年人玩家的聊天功能(包括文字聊天和语音聊天);仅当获得未成年人玩家家长的授权后,方可为未成年玩家提供聊天功能。
聊天功能需获得未成年人玩家家长授权的国家/地区包括:英国、美国、新加坡、印度、韩国、俄罗斯、所有欧洲经济区国家(30个)等。
LI PASS支持在不同场景下为未成年聊天功能授权:
- 未成年玩家注册/登录阶段(包含在 信用卡/邮件认证 的流程中)获取授权;
- 未成年玩家使用聊天功能前获取授权。
注册登录/阶段获取授权
LI PASS组件已经集成注册/登录阶段的未成年聊天授权功能。当游戏开启未成年人聊天家长授权功能,LI PASS组件会在玩家注册/登录阶段进行未成年人认证时嵌入聊天授权流程,根据玩家所在区域完成信用卡认证或邮件认证后进行家长授权。
游戏侧需关注:
-
游戏侧需要监听
SOCIAL_FEATURE_APPROVE_STATUS回调事件获取玩家的未成年人聊天授权状态,并处理回调逻辑,详情参见SOCIAL_FEATURE_APPROVE_STATUS; -
更多信息,请参见 LI PASS事件回调信息(LIEventObserver)。
使用聊天功能前获取授权
若要在使用聊天功能前授权,游戏需要手动调用相关接口。
未成年人玩家在游戏内首次使用聊天功能前,需提示玩家进行授权申请,具体实现流程如下:
-
游戏调用 GetSocialFeatureStatus 获取玩家的社交功能控制授权状态,LI PASS内部逻辑会判断玩家是否为未成年人和是否需要完成未成年聊天授权;
-
如判断玩家是未成年人,并需要完成未成年聊天授权,LI PASS会自动拉起WebView并进入未成年聊天授权的流程;
-
游戏侧需要监听
SOCIAL_FEATURE_APPROVE_STATUS回调事件获取玩家的未成年人聊天授权状态,并处理回调逻辑,详情参见SOCIAL_FEATURE_APPROVE_STATUS; -
更多信息,请参见 LI PASS事件回调信息(LIEventObserver)。
- Unity
- Unreal Engine
LevelInfinite.AddLIEventObserver(OnLIBaseEventResult);
private void OnLIBaseEventResult(LIBaseEventResult liRet)
{
switch (liRet.lIEventType)
{
case LIEventType::SOCIAL_FEATURE_APPROVE_STATUS:
{
try
{
LISocialFeatureApproveStatus param = JsonUtility.FromJson<LISocialFeatureApproveStatus>(liRet.extraJson);
ShowLogInNewLine("SOCIAL_FEATURE_APPROVE_STATUS, VoiceControlStatus:" + param.VoiceControlStatus + ", NeedVoiceControl:" + param.NeedVoiceControl + ", NeedVoiceVontrolIngame:" + param.NeedVoiceControlIngame + ", NeedVoiceControlParentCert:" + param.NeedVoiceControlParentCert);
}
catch (Exception e)
{
Debug.LogError("On LIEventType.SOCIAL_FEATURE_APPROVE_STATUS" + liRet.lIEventType.ToString() + "Error. msg:" + e.ToString());
}
break;
}
}
}
LIEventObserver = ULevelInfiniteAPI::GetEventDelegate().AddUObject(this, &USample::OnLIEvent_Callback);
void USample::OnLIEvent_Callback(FLIBaseEvent Event)
{
FString logStr;
switch (Event.EventType) {
case ELIEventType::SOCIAL_FEATURE_APPROVE_STATUS:{
FLIPSocialFeatureApproveStatus param;
FJsonObjectConverter::JsonObjectStringToUStruct(Event.ExtraJson, ¶m, 0, 0);
logStr = FString::Printf(TEXT("SOCIAL_FEATURE_APPROVE_STATUS, VoiceControlStatus: %d, NeedVoiceControl: %d, NeedVoiceControlIngame: %d, NeedVoiceControlParentCert: %d"), param.VoiceControlStatus, param.NeedVoiceControl, param.NeedVoiceControlIngame, param.NeedVoiceControlParentCert);
break;
}
}
账号注销
注销账号会删除多方数据,包含:
- 游戏内数据
- 支付数据
- 账号数据
- 周边组件数据
更多账号删号的相关内容,请联系 fanfanliang(梁晓彤) 。
通过账号中心进行账号注销
账号注销服务的逻辑已在LI PASS账号中心实现,游戏研发只需接入包含删号的账号中心模块,并配置删号按钮作为玩家入口即可。具体的接入流程如下:
-
在INTLConfig.ini文件中配置 SHOW_DELETE_ACCOUNT_BUTTON 在账号中心显示删号按钮;
-
游戏调用 打开包含删号的账号中心(OpenAccountCenterWithParams) 打开账号中心,玩家点击删号按钮后,LI PASS会拉起 H5 删号页面。

- 游戏调用 打开包含删号的账号中心(OpenAccountCenterWithParams) 打开账号中心时,需监听
ACCOUNT_CENTER_OPEN和ACCOUNT_CENTER_CLOSE事件; - 详见 LIEventType事件 和LI PASS事件回调信息(LIEventObserver)。
- 当账号被注销后,需要退出当前游戏,防止用户误操作;
- Unity
- Unreal Engine
- 游戏需监听
DELETE_ACCOUNT_SUCCESS、DELETE_ACCOUNT_FAIL和DELETE_PARAMETERS_MISSING事件,获取删号结果; - 详见 LIEventType事件 和LI PASS事件回调信息(LIEventObserver)。
示例代码:
LevelInfinite.AddLIEventObserver(OnLIBaseEventResult);
private void OnLIBaseEventResult(LIBaseEventResult liRet)
{
switch (liRet.lIEventType)
{
case LIEventType::DELETE_ACCOUNT_SUCCESS:
{
logStr = TEXT("Account center open");
break;
}
case LIEventType::DELETE_ACCOUNT_FAIL:
{
logStr = TEXT("Account center close");
break;
}
case LIEventType::DELETE_PARAMETERS_MISSING:
{
logStr = TEXT("Account center close");
break;
}
}
}
示例代码:
- 游戏需监听
DELETE_ACCOUNT_SUCCESS、DELETE_ACCOUNT_FAIL和DELETE_PARAMETERS_MISSING事件,获取删号结果; - 详见 LIEventType事件 和LI PASS事件回调信息(LIEventObserver)。
LIEventObserver = ULevelInfiniteAPI::GetEventDelegate().AddUObject(this, &USample::OnLIEvent_Callback);
void USample::OnLIEvent_Callback(FLIBaseEvent Event)
{
FString logStr;
switch (Event.EventType) {
case ELIEventType::DELETE_ACCOUNT_SUCCESS:
{
logStr = TEXT("LI PASS account delete success");
break;
}
case ELIEventType::DELETE_ACCOUNT_FAIL:
{
logStr = TEXT("LI PASS account delete fail");
break;
}
case ELIEventType::DELETE_PARAMETERS_MISSING:
{
logStr = TEXT("Missing parameters to delete LI PASS account");
break;
}
}
删号静默期
-
玩家提交账号注销申请后,被注销的账号将进入平台设置的为期30天的删号静默期
-
在删号静默期间,玩家可以登录游戏重新激活账号,取消账号注销申请;
-
在删号静默期结束后,玩家账号将会被永久删除,此账号将无法恢复。
如上图所示:
-
玩家可点击 Reactive Account 重新激活账号并进入游戏;
-
若玩家点击 Continue Deletion 或右上角的关闭按钮来保持删号静默期状态,同时清除玩家登录态并回到登录界面。