跳轉至

身份驗證服務

Hive SDK 提供身份驗證服務,用於成人身份驗證和父母同意。

成人身份驗證

null 不需要為成人身份驗證實現代碼;只需在 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 登入之前被呼叫
        // DEVELOPER_ERROR, CommonLibraryMissing: 無法引用成人身份驗證庫
    }
});

API 參考: AuthV4Interface.getHashedDi

import HIVEService

AuthV4Interface.getHashedDi() { result, hashedDi in    
    if result.isSuccess() {    
        // API 呼叫成功    
    } else {
        // 在 NEED_INITIALIZE 設置之前被調用
        // 在 INVALID_SESSION 登錄之前被調用
        // 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();