HIVE SDK for Unreal Engine

모듈 | 파일들 | 클래스 | 열거형 타입 | 함수
FHiveAuthV4

HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다
HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다. 더 자세히 ...

모듈

 FHiveAuthV4Helper
 HIVE 인증의 고도화 된 기능을 제공한다

이 클래스에서 제공하는 상세 기능은 다음과 같다.
 

파일들

파일  HiveAuthV4.h
 

클래스

class  FHiveAuthV4
 HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다
HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다. 더 자세히 ...
 
class  FHiveProviderInfo
 프로바이더 정보 연결된 프로바이더의 UserId 를 포함하고 있다. 더 자세히 ...
 
class  FHiveProfileInfo
 유저의 프로필 정보 PlayerId : 유저의 고유한 ID
PlayerName : 외부에 보여질 유저의 닉네임, 처음 연결된 Provider 의 정보로 채워지며
HIVE 멤버쉽으로 연동한 사용자는 변경이 가능하다. 더 자세히 ...
 
class  FHivePlayerInfo
 사인-인 유저의 정보 프로필 정보 (ProfileInfo) 와 함께 유저의 토큰과 DID 값이 포함되어 있다. 더 자세히 ...
 
class  FHiveAuthV4MaintenanceExtraButton
 추가적인 점검 버튼 정보 Button : 버튼의 Text 문구 ex) 추가 버튼
Action : 버튼을 눌렀을때 동작될 행동
Url : action이 OPEN_URL 일 경우에 브라우징 될 URL
더 자세히 ...
 
class  FHiveAuthV4MaintenanceInfo
 서버 점검 및 업데이트 상태 표시 정보 Title : 점검 제목
Message : 점검 내용
Button : 버튼의 Text 문구 ex) 확인
Action : 버튼을 눌렀을때 동작될 행동
Url : action 이 OPEN_URL 일 경우에 브라우징 될 URL
CustomButton : 고객센터 버튼 제목
CustomLink : 고객센터 링크
RemainingTime : EXIT 일 경우 점검 완료까지 남은 초단위 시간. 더 자세히 ...
 

열거형 타입

enum class  EHiveProviderType
 Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며
isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다. 더 자세히 ...
 
enum class  EHiveAuthV4MaintenanceActionType
 점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행
EXIT : 앱 종료
DONE : 아무 처리 하지 않고 점검 팝업 종료
더 자세히 ...
 

함수

static void FHiveAuthV4::Setup (const FHiveAuthV4OnSetupDelegate &Delegate)
 AuthV4 초기화를 수행한다. 더 자세히 ...
 
static void FHiveAuthV4::SignIn (const EHiveProviderType &ProviderType, const FHiveAuthV4OnSignInDelegate &Delegate)
 주어진 providerType 에 따라 signIn 을 요청 한다. 더 자세히 ...
 
static void FHiveAuthV4::SignInWithAuthKey (const FString &AuthKey, const FHiveAuthV4OnSignInDelegate &Delegate)
 자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 signIn을 요청 한다. 더 자세히 ...
 
static void FHiveAuthV4::SignOut (const FHiveAuthV4OnSignOutDelegate &Delegate)
 로컬에 있는 세션을 제거 한다. 더 자세히 ...
 
static void FHiveAuthV4::PlayerDelete (const FHiveAuthV4OnSignOutDelegate &Delegate)
 계정을 삭제하고 로컬에 있는 세션을 제거 한다. 더 자세히 ...
 
static void FHiveAuthV4::Connect (const EHiveProviderType &ProviderType, const FHiveAuthV4OnConnectDelegate &Delegate)
 현재 사인-인 된 유저에 요청한 provider 와 연동 한다. 더 자세히 ...
 
static void FHiveAuthV4::Disconnect (const EHiveProviderType &ProviderType, const FHiveAuthV4OnDisconnectDelegate &Delegate)
 현재 사인-인 된 유저에 요청한 provider 와 연동을 해제 한다. 더 자세히 ...
 
static void FHiveAuthV4::ConnectWithAuthKey (const FString &AuthKey, const FHiveAuthV4OnConnectDelegate &Delegate)
 자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 connect을 요청 한다. 더 자세히 ...
 
static void FHiveAuthV4::DisconnectWithName (const FString &ProviderName, const FHiveAuthV4OnDisconnectDelegate &Delegate)
 현재 사인-인 된 유저에 요청한 커스텀 provider 와 연동을 해제 한다. 더 자세히 ...
 
static void FHiveAuthV4::SelectConflict (int64 SelectedPlayerId, const FHiveAuthV4OnSignInDelegate &Delegate)
 connect 로 인한 계정 충돌 상황 (CONFLICT_PLAYER) 일 때 유저를 선택 한다. 더 자세히 ...
 
static void FHiveAuthV4::ShowConflictSelection (const FHiveConflictViewData &ConflictViewData, const FHiveAuthV4OnSignInDelegate &Delegate)
 충돌상태에서 유저를 선택하는 UI 를 띄운다. 더 자세히 ...
 
static void FHiveAuthV4::CheckProvider (const EHiveProviderType &ProviderType, const FHiveAuthV4OnCheckProviderDelegate &Delegate)
 요청한 Provider 의 상태를 체크 한다. 더 자세히 ...
 
static void FHiveAuthV4::CheckMaintenance (bool IsShow, const FHiveAuthV4OnMaintenanceInfoDelegate &Delegate)
 점검 상태 표시 및 데이터 반환한다. 더 자세히 ...
 
static void FHiveAuthV4::CheckBlacklist (bool IsShow, const FHiveAuthV4OnMaintenanceInfoDelegate &Delegate)
 현재 유저의 제재 상태를 체크한다. 더 자세히 ...
 
static void FHiveAuthV4::SetProviderChangedListener (const FHiveAuthV4OnCheckProviderDelegate &Delegate)
 연동된 Provider 의 정보가 바뀌었는지 통보 받는다. 더 자세히 ...
 
static void FHiveAuthV4::ShowSignIn (const FHiveAuthV4OnSignInDelegate &Delegate)
 사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다. 더 자세히 ...
 
static void FHiveAuthV4::ShowInquiry (const FHiveAuthV4OnShowInquiryDelegate &Delegate)
 1:1 문의 UI 를 띄운다. 더 자세히 ...
 
static void FHiveAuthV4::ShowChatbotInquiry (const FString &AdditionalInfo, const FHiveAuthV4OnShowInquiryDelegate &Delegate)
 HIVE 챗봇 1:1 문의 화면 호출
더 자세히 ...
 
static void FHiveAuthV4::ShowMyInquiry (const FHiveAuthV4OnShowInquiryDelegate &Delegate)
 1:1 내문의 UI 를 띄운다. 더 자세히 ...
 
static void FHiveAuthV4::ShowTerms (const FHiveAuthV4OnShowTermsDelegate &Delegate)
 HIVE 약관 정보를 표시한다. 더 자세히 ...
 
static void FHiveAuthV4::ShowAdultConfirm (const FHiveAuthV4OnAdultConfirmDelegate &Delegate)
 성인 인증을 요청한다. 더 자세히 ...
 
static void FHiveAuthV4::GetProfile (const TArray< int64 > PlayerIdArray, const FHiveAuthV4OnGetProfileDelegate &Delegate)
 요청한 playerId 들의 프로필 정보를 반환한다. 더 자세히 ...
 
static void FHiveAuthV4::ShowProfile (int64 PlayerId, const FHiveAuthV4OnShowProfileDelegate &Delegate)
 요청한 playerId 의 프로필 UI 를 표시한다. 더 자세히 ...
 
static void FHiveAuthV4::ResetAgreement ()
 약관동의 관련 데이터를 초기화 한다.
 
static bool FHiveAuthV4::IsAutoSignIn ()
 signIn(AUTO) 가 가능한지 여부를 반환한다. 더 자세히 ...
 
static TOptional< FHivePlayerInfoFHiveAuthV4::GetPlayerInfo ()
 현재 사인-인 된 유저의 정보를 반환 한다. 더 자세히 ...
 
static void FHiveAuthV4::GetProviderFriendsList (const EHiveProviderType &ProviderType, const FHiveAuthV4OnGetProviderFriendsListDelegate &Delegate)
 입력받은 providerType 에 해당하는 연결된 사용자의 친구들의 playerId 목록 정보를 얻어온다. 더 자세히 ...
 
static void FHiveAuthV4::ResolveConflict (const FHiveAuthV4OnResolveConflictDelegate &Delegate)
 connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다. 더 자세히 ...
 
static bool FHiveAuthV4::GetAgeGateU13 ()
 COPPA 13세 나이 제한 여부를 반환한다. 더 자세히 ...
 
static void FHiveAuthV4::ShowDeviceManagement (const FHiveAuthV4OnShowDeviceManagementDelegate &Delegate)
 기기 관리 서비스 UI 를 띄운다. 더 자세히 ...
 
static void FHiveAuthV4::GetHiveTalkPlusLoginToken (const FHiveAuthV4OnGetHiveTalkPlusLoginTokenDelegate &Delegate)
 HiveTalkPlus 로그인시 필요한 로그인 토큰을 얻어온다.
 
static void FHiveAuthV4::RefreshAccessToken (const FHiveAuthV4OnRefreshAccessTokenDelegate &Delegate)
 Hive 로그인시 필요한 액세스 토큰을 얻어온다.
 

상세한 설명

HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다
HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다.



이 클래스에서 제공하는 상세 기능은 다음과 같다.

열거형 타입 문서화

◆ EHiveAuthV4MaintenanceActionType

점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행
EXIT : 앱 종료
DONE : 아무 처리 하지 않고 점검 팝업 종료

◆ EHiveProviderType

enum class EHiveProviderType
strong

Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며
isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다.


함수 문서화

◆ CheckBlacklist()

static void FHiveAuthV4::CheckBlacklist ( bool  IsShow,
const FHiveAuthV4OnMaintenanceInfoDelegate &  Delegate 
)
static

현재 유저의 제재 상태를 체크한다.

기본적으로 signIn, connect 시에 자동으로 체크되며 제재 팝압을 띄우나
앱 내에서 필요한 시점에 실시간으로 체크가 필요할 때 사용할 수 있다.

요청시 isShow 가 true 였을 경우 팝업 UI 가 노출된다.

결과가 SUCCESS 이지만 제재 내용이 없다면 handler 의 maintenanceInfo 는 비어있게 된다.
요청시 isShow 를 false 로 주었다면 handler 의 maintenanceInfo 정보를 가지고 직접 UI 를 구성하여 노출하여야 한다.

매개변수
IsShowHIVE UI 를 사용할 지 여부
DelegateFHiveAuthV4OnMaintenanceInfoDelegate

◆ CheckMaintenance()

static void FHiveAuthV4::CheckMaintenance ( bool  IsShow,
const FHiveAuthV4OnMaintenanceInfoDelegate &  Delegate 
)
static

점검 상태 표시 및 데이터 반환한다.

Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다.

SDK 의 초기화가 완료되면 서버 점검 및 업데이트 상태를 확인해야 한다.
서버 점검 및 업데이트는 게임 클라이언트의 업데이트 후에 하위 버전을 차단하거나, 게임 서버의 점검 시간 동안 게임 접속을 차단할 수 있다.
HIVE는 백오피스에 설정된 정보에 따라 서버 점검 혹은 공지 팝업을 노출하는 기능을 제공한다.

요청시 IsShow 가 true 였을 경우 점검 팝업 UI 가 노출된다.

결과가 SUCCESS 이지만 점검 공지 내용이 없다면 handler 의 maintenanceInfo 는 비어있게 된다.
요청시 IsShow 를 false 로 주었다면 handler 의 maintenanceInfo 정보를 가지고 직접 UI 를 구성하여 노출하여야 한다.

매개변수
IsShowHIVE UI 를 사용할 지 여부
DelegateFHiveAuthV4OnMaintenanceInfoDelegate
IsShowWhether to use HIVE UI
DelegateFHiveAuthV4OnMaintenanceInfoDelegate

◆ CheckProvider()

static void FHiveAuthV4::CheckProvider ( const EHiveProviderType ProviderType,
const FHiveAuthV4OnCheckProviderDelegate &  Delegate 
)
static

요청한 Provider 의 상태를 체크 한다.

요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다.
Login 에 성공하면 providerUserId 까지 얻어 온다.

현재 playerId 와 connect 를 요청하지는 않는다.

SUCCESS 는 조회에 성공했다는 뜻이며 providerInfo 에 providerUserId 여부로 로그인된 유저를 판단해야 한다.
실제 provider 에 로그인 되어있다면 providerUserId 가 존재한다. 그 외 providerType 만 존재.

Google Play Games, Apple Game Center 등 묵시적 사인-인 방식을 사용할 경우

매개변수
ProviderType상태를 체크할 ProviderType
DelegateFHiveAuthV4OnCheckProviderDelegate

◆ Connect()

static void FHiveAuthV4::Connect ( const EHiveProviderType ProviderType,
const FHiveAuthV4OnConnectDelegate &  Delegate 
)
static

현재 사인-인 된 유저에 요청한 provider 와 연동 한다.

요청한 Provider 로 로그인을 시도 한 뒤, 로그인에 성공하면 인증서버에 연동 요청을 보낸다.
해당 Provider 의 UserId 에 이미 매칭된 playerId 가 있을 경우 handler 의 result 에 CONFLICT_PLAYER 에러를 내려준다.
이 경우 handler 에 포함되어 있는 conflictPlayer 객체의 충돌 유저 정보를 가지고 유저에게 계정 선택을 위한 UI 를 구성 해야한다.
유저가 선택을 하면 선택된 유저 정보로 selectConflict() 를 호출해 주면 된다.

직접 UI 를 구성하지 않을 경우 showConflictSelection() 을 이용할 수 있다.
이 경우 selectConflict() 까지 진행되며 사인-인 완료된 결과까지 받을 수 있다.

연동이 완료되면 해당 상태를 앱 내 UI 에 갱신해 준다.

BLACKLIST 일 경우 SDK에서 제재 팝업을 띄우고 BLACKLIST 에러를 내려 준다.

매개변수
ProviderTypeconnect 요청할 ProviderType.
AUTO 나 GUEST 는 INVALID_PARAM 에러를 발생시킨다.
DelegateFHiveAuthV4OnConnectDelegate

result : 지원하지 않는 ProviderType (INVALID_PARAM) 이거나
Sign 이 진행중일 경우 (IN_PROGRESS) 실패가 될 수 있다.
SignIn 이 되지 않은 상태에서는 INVALID_SESSION 에러가 된다.
이미 연결되어있는 Provider 의 경우 INVALID_PARAM 에러가 되며
해당 Provider 에 대해 disconnect 를 먼저 호출 후 다시 connect 해야 한다.
연결을 시도한 Provider 가 이미 다른 playerId 에 연결되어 있을 경우 CONFLICT_PLAYER 가 되며
conflictPlayer 객체에 해당 충돌 유저 정보가 포함되어있다.

conflictPlayer : result 가 CONFLICT_PLAYER 일 경우 충돌 유저에 대한 정보 이다.
playerId 와 충돌난 ProviderInfo 의 정보만 포함되어있다.
playerToken 은 비어 있음.

◆ ConnectWithAuthKey()

static void FHiveAuthV4::ConnectWithAuthKey ( const FString &  AuthKey,
const FHiveAuthV4OnConnectDelegate &  Delegate 
)
static

자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 connect을 요청 한다.

해당 Provider 의 UserId 에 이미 매칭된 playerId 가 있을 경우 handler 의 result 에 CONFLICT_PLAYER 에러를 내려준다.
이 경우 handler 에 포함되어 있는 conflictPlayer 객체의 충돌 유저 정보를 가지고 유저에게 계정 선택을 위한 UI 를 구성 해야한다.

유저가 선택을 하면 선택된 유저 정보로 selectConflict() 를 호출해 주면 된다.

매개변수
AuthKeyconnect 요청할 authKey.
DelegateFHiveAuthV4OnConnectDelegate

result : 지원하지 않는 ProviderType (INVALID_PARAM) 이거나
Sign 이 진행중일 경우 (IN_PROGRESS) 실패가 될 수 있다.
SignIn 이 되지 않은 상태에서는 INVALID_SESSION 에러가 된다.
이미 연결되어있는 Provider 의 경우 INVALID_PARAM 에러가 되며
해당 Provider 에 대해 disconnect 를 먼저 호출 후 다시 connect 해야 한다.
연결을 시도한 Provider 가 이미 다른 playerId 에 연결되어 있을 경우 CONFLICT_PLAYER 가 되며
conflictPlayer 객체에 해당 충돌 유저 정보가 포함되어있다.

conflictPlayer : result 가 CONFLICT_PLAYER 일 경우 충돌 유저에 대한 정보 이다.
playerId 와 충돌난 ProviderInfo 의 정보만 포함되어있다.
playerToken 은 비어 있음.

◆ Disconnect()

static void FHiveAuthV4::Disconnect ( const EHiveProviderType ProviderType,
const FHiveAuthV4OnDisconnectDelegate &  Delegate 
)
static

현재 사인-인 된 유저에 요청한 provider 와 연동을 해제 한다.

인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황,
또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다.

disconnected 로 인해 연동이 모두 해제될 경우 게스트 상태가 될 수 있으니 주의.

매개변수
ProviderTypedisconnect 요청할 ProviderType.
DelegateFHiveAuthV4OnDisconnectDelegate result : 인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황,
또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다.
그 외 성공.

◆ DisconnectWithName()

static void FHiveAuthV4::DisconnectWithName ( const FString &  ProviderName,
const FHiveAuthV4OnDisconnectDelegate &  Delegate 
)
static

현재 사인-인 된 유저에 요청한 커스텀 provider 와 연동을 해제 한다.

인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황,
또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다.

disconnected 로 인해 연동이 모두 해제될 경우 게스트 상태가 될 수 있으니 주의.

매개변수
ProviderNamedisconnect 요청할 ProviderName.
DelegateFHiveAuthV4OnDisconnectDelegate result : 인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황,
또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다.
그 외 성공.

◆ GetAgeGateU13()

static bool FHiveAuthV4::GetAgeGateU13 ( )
static

COPPA 13세 나이 제한 여부를 반환한다.


기본값은 false이며, AuthV4.setup() 호출 시 COPPA 약관 동의에 따라 결정된다.
정상적인 값을 받으려면 AuthV4.setup() 이후에 호출하여야 한다.

반환값
boolean COPPA 13세 나이 제한 여부

/~english

Returns the value whether COPPA limits users under 13 or not.
Default value is false, and it depends on the agreement on COPPA when calling AuthV4.setup() API.
Normal process is calling this API after AuthV4.setup() API is completed.

반환값
boolean the value whether COPPA limits users under 13 or not

◆ GetPlayerInfo()

static TOptional< FHivePlayerInfo > FHiveAuthV4::GetPlayerInfo ( )
static

현재 사인-인 된 유저의 정보를 반환 한다.

PlayerInfo 에는 playerToken 을 포함하고 있으며
프로필 정보 (playerName, playerImageUrl) 까지 포함하고 있으나,
요청시 실시간으로 서버에 요청하지 않고 로컬에 캐쉬되어 있는 프로필 정보를 반환 한다.

getProfile 이나 showProfile 에서 다인-인 된 유저 자신일 경우 자동으로 캐쉬를 갱신한다..

반환값
FHivePlayerInfo 현재 사인-인 된 유저의 정보. 사인-인 되어있지 않을 경우 null.

◆ GetProfile()

static void FHiveAuthV4::GetProfile ( const TArray< int64 >  PlayerIdArray,
const FHiveAuthV4OnGetProfileDelegate &  Delegate 
)
static

요청한 playerId 들의 프로필 정보를 반환한다.

playerId 중 사인-인 된 자신이 있을 경우 playerName 과 playerImageUrl 을 동기화 한다.

매개변수
PlayerIdArrayArrayList<Long>
DelegateFHiveAuthV4OnGetProfileDelegate

◆ GetProviderFriendsList()

static void FHiveAuthV4::GetProviderFriendsList ( const EHiveProviderType ProviderType,
const FHiveAuthV4OnGetProviderFriendsListDelegate &  Delegate 
)
static

입력받은 providerType 에 해당하는 연결된 사용자의 친구들의 playerId 목록 정보를 얻어온다.

요청한 providerType의 providerId와 연결된 사용자의 playerId를 페어로 얻어온다.
kHIVEProviderTypeFACEBOOK 의 경우 최대 5000명.

getProfile 을 사용하여 친구의 PlayerInfo 를 조회할 수 있다.

매개변수
ProviderType친구목록을 조회할 연결된 ProviderType 값.
DelegateFHiveAuthV4OnGetProviderFriendsListDelegate

◆ IsAutoSignIn()

static bool FHiveAuthV4::IsAutoSignIn ( )
static

signIn(AUTO) 가 가능한지 여부를 반환한다.

AuthV4.setup() 호출 시 알려주는 값과 동일 하며,
로컬에 저장된 기존 세션만 체크 하기때문에 세션이 실제로 만료되지 않은 유효한 토큰인지는 알 수 없다.
true 일 경우 'TOUCH TO START' 등의 UI 를 통해 signIn(AUTO) 를 호출하고
여기서 실패할 경우 다시 초기 사인-인 씬으로 돌아가야 한다.

false 일 경우 AuthV4.setup() 호출 시 받은 providerList 를 통해 UI 를 구성하여 signIn 을 시도 하거나
showSignIn() 을 통해 HIVE 에서 제공하는 UI 를 사용하여도 된다.

앱 중간에 signOut 등 사인-인 씬으로 돌아왔을 경우 이 API 를 통해 UI 구성을 여부를 체크할 수 있다.

반환값
boolean signIn(AUTO) 가 가능한지 여부

◆ PlayerDelete()

static void FHiveAuthV4::PlayerDelete ( const FHiveAuthV4OnSignOutDelegate &  Delegate)
static

계정을 삭제하고 로컬에 있는 세션을 제거 한다.

서버에 계정 삭제를 요청하고 연동된 모든 Provider 들을 해제 한다. 성공 시 로그인 된 모든 Provider 들을 로그아웃 시키며 로컬 세션을 제거하고 성공 콜백을 준다.
signIn/Out 이 진행중일 경우 IN_PROGRESS 가 발생할 수 있다.

매개변수
DelegateFHiveAuthV4OnSignOutDelegate 계정 삭제 결과 통지

◆ ResolveConflict()

static void FHiveAuthV4::ResolveConflict ( const FHiveAuthV4OnResolveConflictDelegate &  Delegate)
static

connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다.

connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 에서 자체 UI 를 구성하였을 경우에 사용
충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다.
호출시 해당하는 IDP (Provider) 를 로그아웃하게 된다.
앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우 로그아웃은 불가능하고,
내부 충돌 정보만 삭제 된다.

매개변수
DelegateFHiveAuthV4OnResolveConflictDelegate
실제 IDP 로그아웃에 실패했어도 내부 충돌 정보는 삭제 되다.

◆ SelectConflict()

static void FHiveAuthV4::SelectConflict ( int64  SelectedPlayerId,
const FHiveAuthV4OnSignInDelegate &  Delegate 
)
static

connect 로 인한 계정 충돌 상황 (CONFLICT_PLAYER) 일 때 유저를 선택 한다.

connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 에서 자체 UI 를 구성하였을 경우
선택한 유저를 SDK에 통보해 주기 위해 호출 한다.
SDK 상태가 충돌 상태가 아니거나 signIn 이 진행중, 혹은 잘못된 playerId 일 경우 INVALID_PARAM 이 발생 할 수 있다.
충돌 상태가 되었다고 해도 selectConflict() 가 호출 되어 signIn 되기 전까지는 기존 유저가 signIn 된 상태로 본다.

showConflictSelection() 을 사용하였을 경우 호출할 필요가 없다.

매개변수
SelectedPlayerId선택한 유저의 playerId
DelegateFHiveAuthV4OnSignInDelegate
SUCCESS 가 되기 전까지는 기존 유저가 signIn 된 상태이다. 주의.

◆ SetProviderChangedListener()

static void FHiveAuthV4::SetProviderChangedListener ( const FHiveAuthV4OnCheckProviderDelegate &  Delegate)
static

연동된 Provider 의 정보가 바뀌었는지 통보 받는다.

Google Play Games, Apple Game Center 의 경우 앱 외에서 계정 정보가 변경 될 수 있다.
그렇기 때문에 앱이 resume (onStart) 될 때 유저 정보가 바뀌었는지 체크하게 되고,
바뀌었다면 해당 콜백이 불리게 된다.

콜백은 checkProvider() 이후나 connect 등으로 직접 연동 시도 된 이후부터 동작하게 된다.

묵시적 사인-인 방식으로 구현할 경우 signIn() 완료 시점에서 checkProvider() 를 통해 직접 비교 체크 하여야 한다.

매개변수
DelegateFHiveAuthV4OnCheckProviderDelegate

◆ Setup()

static void FHiveAuthV4::Setup ( const FHiveAuthV4OnSetupDelegate &  Delegate)
static

AuthV4 초기화를 수행한다.

Configuration 영역을 제외한 모든 API 중 가장 먼저 호출되어야 하며
선 호출이 되지 않을시 일부 API 에서는 NEED_INITIALIZE 에러가 발생할 수 있다.
Android 의 경우 초기 퍼미션 요청 UI 동작이 추가되며
이후 약관 동의, 다운로드 체크, DID 설정, config.xml 설정, ProviderList 설정 등이 진행 된다.
최초 실행 시 DID 를 받아오지 못하거나, Provider List 를 받아오지 못하면 handler 결과로 실패가 내려간다.
handler 에 포함된 providerTypeList 를 통해 signIn 에 필요한 UI 를 구성해야 한다.
직접 UI 를 구현하지 않을 시 showSignIn() 을 이용한다.

매개변수
DelegateFHiveAuthV4OnSetupDelegate AuthV4 초기화 결과 통지
result : 최초 실행 시 DID 를 받아오지 못하거나, Provider List 를 받아오지 못하면 실패한다. 그 외 성공.
isAutoSignIn : 로컬에 이전 세션이 남아있는지 여부. true 일 경우 SignIn(ProviderType.AUTO) 을 호출 한다.
그 외의 경우 providerTypeList 중 하나로 SignIn 을 요청이 가능 하다.
providerTypeList : 현재 단말에서 사인-인 가능한 Provider List 이다.
단말의 현재 지역 (IP) 에 따라 다르게 보여질 수 있다.
GUEST 를 포함하고 있으며 일부 지역 혹은 환경에서는 GUEST 도 불가능 할 수 있다. (분산서버)

◆ ShowAdultConfirm()

static void FHiveAuthV4::ShowAdultConfirm ( const FHiveAuthV4OnAdultConfirmDelegate &  Delegate)
static

성인 인증을 요청한다.

고스톱 / 포커류와 같이 성인 인증이 필요한 일부 게임의 경우 성인 인증 기능을 제공한다.

매개변수
DelegateFHiveAuthV4OnAdultConfirmDelegate
result : 사인-인 이 필요하기 때문에 사인-인 이 되어있지 않을 경우 INVALID_SESSION 이 올 수 있다.
성인인증에 정상적으로 진행되었을 경우 SUCCESS 가 된다.

◆ ShowChatbotInquiry()

static void FHiveAuthV4::ShowChatbotInquiry ( const FString &  AdditionalInfo,
const FHiveAuthV4OnShowInquiryDelegate &  Delegate 
)
static

HIVE 챗봇 1:1 문의 화면 호출

매개변수
AdditionalInfo챗봇 페이지 바로가기 호출시 전달받기로한 약속된 JSON 형식의 String 데이터
DelegateAPI 호출 결과 통지

◆ ShowConflictSelection()

static void FHiveAuthV4::ShowConflictSelection ( const FHiveConflictViewData &  ConflictViewData,
const FHiveAuthV4OnSignInDelegate &  Delegate 
)
static

충돌상태에서 유저를 선택하는 UI 를 띄운다.

connect 시 CONFLICT_PLAYER 에러가 발생한 경우에 호출 하여 유저 선택이 가능한 UI 를 띄운다.
충돌난 playerId 에 해당하는 유저가 인식할 수 있는 정보 (닉네임, 레벨 등) 들을 포함하여 호출 하여야 한다.
playerData 에는 "player_id" 를 키로 playerId 를 넣어주어야 한다.
그 외의 정보는 "game_data" 를 키로 Map<String, Object> 형태 값을 넣어 주면 된다.
"player_id" 와 "game_data" 의 키는 필수이며 변경하면 안된다.

ex) {"player_id":123, "game_data":{"Name":"CurrentPlayer", "Level":52}}

충돌난 유저로 선택 된 경우 다시 게임데이터를 불러와야 한다.

매개변수
DelegateFHiveAuthV4OnSignInDelegate

◆ ShowDeviceManagement()

static void FHiveAuthV4::ShowDeviceManagement ( const FHiveAuthV4OnShowDeviceManagementDelegate &  Delegate)
static

기기 관리 서비스 UI 를 띄운다.

미가입 계정이라면 기기 관리 서비스 가입 창을 띄운다.

매개변수
DelegateFHiveAuthV4OnShowDeviceManagementDelegate

◆ ShowInquiry()

static void FHiveAuthV4::ShowInquiry ( const FHiveAuthV4OnShowInquiryDelegate &  Delegate)
static

1:1 문의 UI 를 띄운다.

HIVE Membership 연동 여부와 상관없이 사용할 수 있으며
연동되어 있다면 e-mail 부분이 자동으로 기입되어 있다.

매개변수
DelegateFHiveAuthV4OnShowInquiryDelegate

◆ ShowMyInquiry()

static void FHiveAuthV4::ShowMyInquiry ( const FHiveAuthV4OnShowInquiryDelegate &  Delegate)
static

1:1 내문의 UI 를 띄운다.

Hive 연동 되어 있는 경우에만 사용 할 수 있다.

매개변수
DelegateFHiveAuthV4OnShowInquiryDelegate

◆ ShowProfile()

static void FHiveAuthV4::ShowProfile ( int64  PlayerId,
const FHiveAuthV4OnShowProfileDelegate &  Delegate 
)
static

요청한 playerId 의 프로필 UI 를 표시한다.

playerId 가 사인-인 된 자신이며 HIVE 와 연동된 유저일 경우 이 UI 에서 프로필 사진과 닉네임을 변경할 수 있다.
이 경우 창이 닫히면 playerName 과 playerImageUrl 를 로컬 정보와 동기화 한다.

매개변수
PlayerId프로필 UI 를 띄울 playerId
DelegateFHiveAuthV4OnShowProfileDelegate

◆ ShowSignIn()

static void FHiveAuthV4::ShowSignIn ( const FHiveAuthV4OnSignInDelegate &  Delegate)
static

사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다.

setup 에서 받은 ProviderList 와 동일한 목록을 가진 사인-인 가능한 UI 를 띄운다.
네트워크 지연 등으로 인해 GUEST 버튼이 노출되지 않을 수 있다.
AUTO 는 지원하지 않는다. isAutoSignIn() 이 true 라면 바로 signIn(AUTO) 를 호출 해 주면 된다.

매개변수
DelegateFHiveAuthV4OnSignInDelegate

◆ ShowTerms()

static void FHiveAuthV4::ShowTerms ( const FHiveAuthV4OnShowTermsDelegate &  Delegate)
static

HIVE 약관 정보를 표시한다.

약관 정보를 표시한다.
SDK 초기화 시 사용자에게 약관 동의 절차를 거치게 된다.
이후 게임에서는 설정 창 등에서 개인 정보 처리 방침 및 이용 약관 정보를 확인할 수 있는 웹뷰를 노출하도록 구성해야 한다.

매개변수
DelegateFHiveAuthV4OnShowTermsDelegate
API 호출 결과 통지

◆ SignIn()

static void FHiveAuthV4::SignIn ( const EHiveProviderType ProviderType,
const FHiveAuthV4OnSignInDelegate &  Delegate 
)
static

주어진 providerType 에 따라 signIn 을 요청 한다.

로컬에 저장된 세션이 있는데 AUTO 가 아니거나
로컬에 저장된 세션이 없는데 AUTO 이면 INVALID_PARAM 이 발생한다.
또한, isAutoSignIn() 호출로도 AUTO 인지 아닌지 체크할 수 있다.
이미 sign 이 진행중이면 IN_PROGRESS 가 발생하며,
GUEST 가 아닌 다른 ProviderType 의 경우 외부 인증창이 한번 더 노출 될 수 있다.

signIn 에 성공하게 되면 handler 에 포함되어있는 playerInfo 를 통해 유저 정보를 얻고
연동된 provider 상태를 UI 에 표시해 주면 된다.

signIn(AUTO) 의 경우 저장된 playerId 의 세션만으로 sign-in 되기 때문에
묵시적 로그인을 수행하는 Provider가 실제 단말에도 로그인 되어있는지의 여부를 체크하고 계정을 동기화 하려면 checkProvider() 를 호출 하여야 한다.
다를 경우 signOut() 후 signIn(Provider) 로 계정 전환을 할 수 있다.

BLACKLIST 일 경우 SDK에서 제재 팝업을 띄우고 BLACKLIST 에러를 내려 준다.

매개변수
ProviderTypesignIn 요청할 ProviderType
DelegateFHiveAuthV4OnSignInDelegate AuthV4 사인-인 결과 통지

◆ SignInWithAuthKey()

static void FHiveAuthV4::SignInWithAuthKey ( const FString &  AuthKey,
const FHiveAuthV4OnSignInDelegate &  Delegate 
)
static

자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 signIn을 요청 한다.


signIn 에 성공하게 되면 handler 에 포함되어있는 playerInfo 를 통해 유저 정보를 얻는다.

매개변수
DelegateFHiveAuthV4OnSignInDelegate AuthV4 사인-인 결과 통지

◆ SignOut()

static void FHiveAuthV4::SignOut ( const FHiveAuthV4OnSignOutDelegate &  Delegate)
static

로컬에 있는 세션을 제거 한다.

로그인 된 모든 Provider 들을 로그아웃 시키며 결과와 상관 없이 로컬 세션을 제거하고 성공 콜백을 준다.
signIn/Out 이 진행중일 경우 IN_PROGRESS 가 발생할 수 있다.

게스트 상태인 player 의 경우 (연동된 Provider 가 하나도 없는 상태) 다시 사인-인 할 수 없게 되니 주의.

매개변수
DelegateFHiveAuthV4OnSignOutDelegate 사인-아웃 결과 통지
Copyright © Com2uS Platform Corporation. All Right Reserved. 이용약관 개인정보 처리방침