跳转至

身份验证服务

Hive SDK 提供成人身份验证和父母同意的身份验证服务。

成人认证

被评为“未成年人禁止”的游戏必须限制19岁以下未成年人的访问。Hive 通过手机验证提供成人身份验证,仅允许经过验证的成年人访问游戏。身份验证有效期为一年,之后将自动要求重新验证。

不需要代码实现成人身份验证;只需在 Hive 控制台中启用该功能。启用后,成人身份验证将在登录时进行。

Warning

仅向拥有韩国居民注册号码或外国注册号码以及以其名义注册的手机的用户提供成人认证。

成人身份验证失败的响应

如果未成年人尝试成人身份验证并失败,响应将是 ResultAPI.CANCELED(-6)ResultAPI.Code.AgeLimit(-1200067),以及 "因年龄限制而失败。"您可以根据需要使用此响应来指导您游戏中的未成年用户。

获取 DI 哈希值

在成功进行成人身份验证后,使用AuthV4.getHashedDi方法获取一个哈希的DI(重复加入验证信息)值,该值用于识别经过身份验证的用户。DI出于安全原因进行了哈希处理,您可以直接使用此值。DI哈希在登录后与PlayerID相关联,因此您可以将其用作经过身份验证的用户的标识符。以下是获取与PlayerID相关联的DI哈希的示例:

API 参考: hive.AuthV4.getHashedDi

using hive;    
AuthV4.getHashedDi((ResultAPI result, String hashedDi) => {    
    if (result.isSuccess()) {    
        // API call successful 
    } else {
        // Called before NEED_INITIALIZE setup
        // Called before INVALID_SESSION signIn
        // DEVELOPER_ERROR, CommonLibraryMissing: Failed to reference adult authentication library
    }
});
#include "HiveAuthV4.h"

FHiveAuthV4::getHashedDi(FHiveAuthV4OnHashedDiDelegate::CreateLambda([this](const FHiveResultAPI& Result, FString& hashedDi) {
    if (Result.IsSuccess()) {
        // API 调用成功
    } else {
        // 在 NEED_INITIALIZE 设置之前被调用
        // 在 INVALID_SESSION 登录之前被调用
        // DEVELOPER_ERROR, CommonLibraryMissing: 无法引用成人认证库
    }
}));

API 参考: AuthV4::getHashedDi

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;    
AuthV4::getHashedDi([=](ResultAPI result, string hashedDi) {    
    if (result.isSuccess()) {    
        // API call successful    
    } else {
        // Called before NEED_INITIALIZE setup
        // Called before INVALID_SESSION signIn
        // DEVELOPER_ERROR, CommonLibraryMissing: Failed to reference adult authentication library
    }   
});

API 参考: AuthV4.getHashedDi

import com.hive.AuthV4    
import com.hive.ResultAPI    

AuthV4.getHashedDi(object : AuthV4.AuthV4GetHashedDiListener {    
    override fun onAuthV4GetHashedDi(result: ResultAPI, hashedDi: String?) {    
        if (result.isSuccess) {    
            // API 调用成功    
        } else {
            // 在 NEED_INITIALIZE 设置之前调用
            // 在 INVALID_SESSION 登录之前调用
            // DEVELOPER_ERROR, CommonLibraryMissing: 无法引用成人身份验证库
        } 
    }    
})

API 参考: AuthV4.getHashedDi

import com.hive.AuthV4;    
import com.hive.ResultAPI;    

AuthV4.getHashedDi(result, hashedDi -> {    
    if (result.isSuccess()) {    
        // API 调用成功    
    } else {
        // 在 NEED_INITIALIZE 设置之前调用
        // 在 INVALID_SESSION signIn 之前调用
        // DEVELOPER_ERROR, CommonLibraryMissing: 无法引用成人认证库
    }
});

API 参考: AuthV4Interface.getHashedDi

import HIVEService

AuthV4Interface.getHashedDi() { result, hashedDi in    
    if result.isSuccess() {    
        // API 调用成功    
    } else {
        // 在 NEED_INITIALIZE 设置之前被调用
        // 在 INVALID_SESSION signIn 之前被调用
        // DEVELOPER_ERROR, CommonLibraryMissing: 无法引用成人认证库
    }
}

API 参考: HIVEAuthV4:getHashedDi

#import <HIVEService/HIVEService-Swift.h>

[HIVEAuthV4 getHashedDi: ^(HIVEResultAPI *result, NSString *> *hashedDi) {    
    if ([result isSuccess]) {    
        // API调用成功    
    } else {
        // 在NEED_INITIALIZE设置之前调用
        // 在INVALID_SESSION登录之前调用
        // DEVELOPER_ERROR,CommonLibraryMissing: 无法引用成人身份验证库
    }
}];

家长同意

根据《未成年人保护法》,19岁以下的用户必须获得父母的同意才能注册和使用游戏。Hive SDK 提供了一项功能,通过手机验证获取父母对 PC 游戏注册的同意。为了提供客户支持或向父母提供游戏使用详情,SDK 还将未成年人的出生日期和父母的电子邮件地址传递给应用程序。

要检索父母同意信息,请在父母同意完成后调用getParentalConsentInfo()方法。此方法返回未成年人的出生日期和在同意时提供的父母电子邮件地址。

获取父母同意信息的示例代码:

API 参考: hive.AuthV4.getParentalConsentInfo

using hive;    

    AuthV4.ParentalConsentInfo parentalConsentInfo = AuthV4.getParentalConsentInfo();    
#include "HiveAuthV4.h"

TOptional<FHiveParentalConsentInfo> ParentalConsentInfo = FHiveAuthV4::GetParentalConsentInfo();

API 参考: AuthV4::getParentalConsentInfo

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    

    AuthV4::ParentalConsentInfo parentalConsentInfo = AuthV4::getParentalConsentInfo();