未成年人聊天
LI PASS 提供一套标准化的合规方案,集成 LI PASS 后业务可直接配置合规服务,无需再接入本文中提到的接口。对于接入 LI PASS 的业务,可联系 INTL 助手了解更多详情。
对于未使用标准 LI PASS 合规方案的业务,本文旨在介绍 Player Network 为未成年聊天授权功能提供的接口,以及如何使用这些接口。
前提条件
使用未成年人聊天授权功能,首先需要通过后台配置开启社交功能控制,详情可联系 INTL 助手。
在调用所需的合规接口前,业务需要通过合规相关接口设置好对应 URL 中的需要的关键参数,例如 region
、lang_type
:
- 设置用户属性(ComplianceInitWithParams)
- 合规性设置用户地区与年龄(ComplianceMultiSetStatusWithAge)
- 获取本地登录态数据(GetAuthResult)
实现未成年人聊天功能
调用 ComplianceQueryUserInfo 查询玩家的合规状态,并判断玩家是否为未成年人。
- Unity
- Unreal Engine
INTLAPI.ComplianceQueryUserInfo();
UINTLSDKAPI::ComplianceQueryUserInfo();
判断是否需要拉起未成年聊天授权。
- Unity
- Unreal Engine
// Process the INTLComplianceResult callback
public void OnComplianceResultEvent(INTLComplianceResult complianceRet)
{
if (complianceRet.MethodId == (int)INTLMethodID.INTL_COMPLIANCE_QUERY_USER_INFO)
{
// 未成年,且游戏需要聊天认证,且玩家未完成聊天认证
if (complianceRet.AdultStatus == -1 &&
complianceRet.NeedVoiceControlIngame == 1 &&
complianceRet.VoiceControlStatus == 0)
{
// 获取未成年聊天授权 URL
// 通过 OpenURL 接口打开上述 URL
}
}
}// Process the INTLComplianceResult callback
void OnComplianceResultEvent(INTLComplianceResult complianceRet)
{
if (complianceRet.MethodId == (int32)kMethodIDComplianceQueryUserInfo)
{
// 未成年,且游戏需要聊天认证,且玩家未完成聊天认证
if (complianceRet.AdultStatus == -1 &&
complianceRet.NeedVoiceControlIngame == 1 &&
complianceRet.VoiceControlStatus == 0)
{
// 获取未成年聊天授权 URL
// 通过 OpenURL 接口打开上述 URL
}
}
}字段 说明 备注 AdultStatus 判断用户是否是否已经成年
-2:低于游戏等级年龄,不可进入游戏
-1:未成年
0:未设置
1:已成年重点 VoiceControlStatus 社交功能控制授权状态
-1:家长禁用玩家的聊天功能(聊天范围设置为 Nobody)
0:未授权
1:授权所有人
2:仅授权好友重点 NeedVoiceControlIngame 游戏内是否需要社交功能控制
0:不需要
1:需要重点 如判断出需要完成聊天认证,调用 ComplianceGetSocialFeatureVerifyUrl 获取未成年人聊天认证 URL。
- Unity
- Unreal Engine
string url = INTLAPI.ComplianceGetSocialFeatureVerifyUrl();
FString url = UINTLSDKAPI::ComplianceGetSocialFeatureVerifyUrl();
通过 OpenURL 接口打开上述 URL,拉起未成年聊天授权页面。
- Unity
- Unreal Engine
INTLAPI.OpenUrl()
UINTLSDKAPI::OpenUrl()