未成年人家长认证
LI PASS 提供一套标准化的合规解决方案,集成 LI PASS 后业务可直接配置合规服务,无需再接入本文中提到的接口。对于接入 LI PASS 的业务,可联系 Player Network 助手了解更多详情。
对于未使用标准 LI PASS 合规方案的业务,本文旨在介绍 Player Network 为合规服务提供的接口,以及如何使用这些接口。
前提条件
- 集成 SDK。
- 接入 Player Network 登录鉴权服务。
- 根据 国家或地区配置 填写 未成年人服务后台配置,并提交给合规团队。
对于计划支持多语言的游戏,也会需要为各个语言提供独立的服务条款和隐私政策,并将其 URL 填写在提交的 未成年人服务后台配置 文件内。
要为各语言设置独立 URL,应该在协议条款 URL 的末尾添加 ?lang_type=
以及对应语言的 语言编码。
URL 示例:
英文服务条款:https://www.example.com/TermsofService.html?lang_type=en
简体中文隐私协议:https://www.example.com/PrivacyPolicy.html?lang_type=zh-Hans
为游戏应用配置年龄认证服务
处理回调
为年龄认证服务添加以下回调 。
- Unity
- Unreal Engine
设置玩家配置信息
由于合规要求因地区而异,包括成年年龄和数据保护法等因素,开发者首先 需要设置玩家的用户配置文件,用于确定每个玩家所需的具体合规流程。因此,开发者应提示玩家提交其地区信息。
业务可以调用 ComplianceInitWithParams
并将游戏 ID、OpenID、token、渠道 ID 作为入参参数,以设置玩家的用户配置文件。业务可根据之前提交的合规地区配置和用户配置文件中的玩家地区信息,检索玩家所在地区的成年年龄。结合玩家的实际年龄,业务可以确定玩家是否需要进行家长认证或者实名认证。
- Unity
- Unreal Engine
bool succ = INTLAPI.ComplianceInitWithParams(gameID, openID, token, channelID);
bool succ = UINTLSDKAPI::ComplianceInitWithParams(gameID, openID, token, channelID);
设置地区和玩家成年状态
玩家的成年状态根据其国家或地区的不同,使用不同的方法设置。
对于国家码为 840(美国)、826(英国)、170(哥伦比亚)和 356(印度)的国家或地区,开发者应提示玩家输入生日,然后调用 ComplianceMultiSetStatusWithBirthday
保存地区和年月日信息。玩家的成年状态将由其生日和所在地区的法定成年年龄决定。
- Unity
- Unreal Engine
string openID = "123456789";
string token = "qwewerasd123456789qwewer";
string region = "413",
string birthday = "1970-01-01",
int certificate_type = 1;
int channelID = 131
INTLAPI.ComplianceMultiSetStatusWithBirthday(openID,token,region,birthday,certificate_type,"{}", channelID);
FString openID = "123456789";
FString token = "qwewerasd123456789qwewer";
FString region = "413",
FString birthday = "1970-01-01",
int certificate_type = 1;
int channelID = 131
UINTLSDKAPI::ComplianceMultiSetStatusWithBirthday(openID,token,region,birthday,certificate_type,"{}", channelID);
对于国家码为 410(韩国)的移动端,需要依照玩家年龄段进行认证,先调用 ComplianceMultiSetStatusWithAge
为该玩家保存地区,并按照14岁以下,14-18岁,18岁以上的年龄段,分别传递对应13,16,20岁的具体年龄。玩家的成年状态将由其具体年龄和所在地区的法定成年年龄决定。
- Unity
- Unreal Engine
string openID = "123456789";
string token = "qwewerasd123456789qwewer";
string region = "410",
int age = 18,
int certificate_type = 1;
int channelID = 131
ComplianceApiCall.Instance.ComplianceMultiSetStatusWithAge(openID,token,region,age,certificate_type,"{}", channelID);
FString openID = "123456789";
FString token = "qwewerasd123456789qwewer";
FString region = "410",
int age = 18,
int certificate_type = 1;
int channelID = 131
UINTLSDKAPI::ComplianceMultiSetStatusWithAge(openID,token,region,age,certificate_type,"{}", channelID);
对于国家码为 410(韩国)的 PC 端,依据韩国合规要求,需要进行实名认证,先调用 ComplianceMultiSetStatusWithAdultCheckStatus
直接根据玩家保存地区,成年状态需传递默认值未知状态。通过 实名认证 获取玩家实际年龄,玩家的成年状态将由其实际年龄和所在地区的法定成年年龄决定。
- Unity
- Unreal Engine
string openID = "123456789";
string token = "qwewerasd123456789qwewer";
string region = "410",
int adult_check_status = 0,
int compare_age = 18,
int certificate_type = 1;
int channelID = 131
INTLAPI.ComplianceMultiSetStatusWithAdultCheckStatus(openID,token,region,adult_check_status,compare_age,certificate_type,"{}", channelID);
FString token = "qwewerasd123456789qwewer";
FString region = "410",
int adult_check_status = 0,
int compare_age = 18,
int certificate_type = 1;
int channelID = 131
UINTLSDKAPI::ComplianceMultiSetStatusWithAdultCheckStatus(openID,token,region,adult_check_status,compare_age,certificate_type,"{}", channelID);
对于其他国家或地区,业务可以选择提示玩家自我确认他们是否成年,然后调用 ComplianceMultiSetStatusWithAdultCheckStatus
直接根据玩家选择设置他们的成年状态。
- Unity
- Unreal Engine
string openID = "123456789";
string token = "qwewerasd123456789qwewer";
string region = "410",
int adult_check_status = 1,
int compare_age = 18,
int certificate_type = 1;
int channelID = 131
INTLAPI.ComplianceMultiSetStatusWithAdultCheckStatus(openID,token,region,adult_check_status,compare_age,certificate_type,"{}", channelID);
FString token = "qwewerasd123456789qwewer";
FString region = "410",
int adult_check_status = 1,
int compare_age = 18,
int certificate_type = 1;
int channelID = 131
UINTLSDKAPI::ComplianceMultiSetStatusWithAdultCheckStatus(openID,token,region,adult_check_status,compare_age,certificate_type,"{}", channelID);
查询玩家配置信息
玩家所需的合规流程因地区而异。业务应调用 ComplianceQueryUserInfo
返回 ComplianceResult
数据结构,用于确认玩家适用的合规流程。
例如,每个国家都有自己的法定成年年龄,游戏也有评级对应的适龄年龄下限。业务可以调用 ComplianceQueryUserInfo
返回登录玩家的 ComplianceResult
。此信息可用于检索玩家所在国家地区是否有对于游戏的年龄限制。如果国家地区没有任何年龄限制,玩家可以直接进入游戏。否则,根据国家地区的成年年龄继续验证玩家是否已成年。如果玩家小于游戏分级年龄,立即退出游戏。如果玩家已成年,则直接进入游戏。如果玩家未成年但大于游戏分级年龄,需完成对应国家地区的 家长认证 后方可进入游戏。
家长认证
对于未成年玩家,Player Network 为家长提供3种不同的方式来确认其身份并授予家长同意。认证方式可以通过 Unity SDK 或 Unreal Engine SDK 中 AuthResult
接口的 certificate_type
来判定使用哪种认证方式。