HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다
HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다.
더 자세히 ...
클래스 | |
class | HIVEProfileInfo |
유저의 프로필 정보 playerID : 유저의 고유한 ID playerName : 외부에 보여질 유저의 닉네임, 처음 연결된 Provider 의 정보로 채워지며 HIVE 멤버쉽으로 연동한 사용자는 변경이 가능하다. 더 자세히 ... | |
class | HIVEPlayerInfo |
사인-인 유저의 정보 프로필 정보 (ProfileInfo) 와 함께 유저의 토큰과 DID 값이 포함되어 있다. 더 자세히 ... | |
class | HIVEProviderInfo |
프로바이더 정보 연결된 프로바이더의 UserId 를 포함하고 있다. 더 자세히 ... | |
class | HIVEAuthV4MaintenanceInfo |
서버 점검 및 업데이트 상태 표시 정보 title : 점검 제목 message : 점검 내용 button : 버튼의 Text 문구 ex) 확인 action : 버튼을 눌렀을때 동작될 행동 url : action 이 OPEN_URL 일 경우에 브라우징 될 URL remainingTime : EXIT 일 경우 점검 완료까지 남은 초단위 시간. 더 자세히 ... | |
타입정의 | |
typedef void(^ | HIVEAuthV4SetupHandler) (HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray< NSNumber *> *providerTypeList) |
AuthV4 초기화 결과 통지 더 자세히 ... | |
typedef void(^ | HIVEAuthV4SignInHandler) (HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) |
AuthV4 사인-인 결과 통지 더 자세히 ... | |
typedef void(^ | HIVEAuthV4SignOutHandler) (HIVEResultAPI *result) |
AuthV4 사인-아웃 결과 통지 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ConnectHandler) (HIVEResultAPI *result, HIVEPlayerInfo *conflictPlayer) |
AuthV4 Provider 연동 결과 통지 더 자세히 ... | |
typedef void(^ | HIVEAuthV4DisconnectHandler) (HIVEResultAPI *result) |
AuthV4 Provider 연동 해지 결과 통지 인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ResolveConflictHandler) (HIVEResultAPI *result) |
resolveConflict 호출 결과 통지 AuthV4.resolveConflict() 에서 사용 앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우 로그아웃은 불가능 하다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4GetProfileHandler) (HIVEResultAPI *result, NSArray< HIVEProfileInfo *> *profileInfoList) |
AuthV4 Profile Profile 정보 요청 결과 통지 프로필 서버에 요청한 playerId 들에 대한 profile 정보를 전달한다. 더 자세히 ... | |
typedef void(^ | HIVEProviderFriendsCallback) (HIVEResultAPI *result, HIVEProviderType providerType, NSDictionary< NSString *, NSNumber *> *providerUserIdList) |
HIVE SDK 사용자 Provider 친구목록의 profile 요청 결과 통지. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ShowProfileHandler) (HIVEResultAPI *result) |
AuthV4 Profile UI 요청 결과 통지 UI 창이 닫히면 호출 된다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ShowCafeHandler) (HIVEResultAPI *result) |
AuthV4 Cafe UI 요청 결과 통지 UI 창이 닫히면 호출 된다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ShowInquiryHandler) (HIVEResultAPI *result) |
AuthV4 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4ShowTermsHandler) (HIVEResultAPI *result) |
AuthV4 약관 다시보기 정보 표시 결과 통지 UI 창이 닫히면 호출 된다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4AdultConfirmHandler) (HIVEResultAPI *result) |
AuthV4 성인인증 정보 표시 결과 통지 UI 창이 닫히면 호출 된다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4CheckProviderHandler) (HIVEResultAPI *result, HIVEProviderInfo *providerInfo) |
AuthV4 Provider 상태 조회 결과 통지 요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4MaintenanceHandler) (HIVEResultAPI *result, NSArray< HIVEAuthV4MaintenanceInfo *> *maintenanceInfolist) |
AuthV4 서버 점검 조회 결과 통지 Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다. 더 자세히 ... | |
typedef void(^ | HIVEAuthV4DialogDismissHandler) (BOOL isDismiss) |
AuthV4 Game Center 로그인 안내 팝업 결과 통지 더 자세히 ... | |
함수 | |
typedef | NS_ENUM (NSUInteger, HIVEProviderType) |
Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며 isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다. 더 자세히 ... | |
typedef | NS_ENUM (NSInteger, HIVEAuthV4MaintenanceActionType) |
점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행 EXIT : 앱 종료 DONE : 아무 처리 하지 않고 점검 팝업 종료 더 자세히 ... | |
(NSString *) | + HIVEProviderInfo::stringProviderType: |
Provider type으로 string 값을 얻어온다. 더 자세히 ... | |
(HIVEProviderType) | + HIVEProviderInfo::providerTypeFromString: |
Provider string값으로 type을 얻어온다. 더 자세히 ... | |
(void) | + HIVEAuthV4::setup: |
AuthV4 초기화를 수행한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::signIn:handler: |
주어진 providerType 에 따라 signIn 을 요청 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::signOut: |
로컬에 있는 세션을 제거 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::connect:handler: |
현재 사인-인 된 유저에 요청한 provider 와 연동 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::disconnect:handler: |
현재 사인-인 된 유저에 요청한 provider 와 연동을 해제 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::selectConflict:handler: |
connect 로 인한 계정 충돌 상황 (CONFLICT_PLAYER) 일 때 유저를 선택 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::resolveConflict: |
connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다. 더 자세히 ... | |
(BOOL) | + HIVEAuthV4::isAutoSignIn |
signIn(AUTO) 가 가능한지 여부를 반환한다. 더 자세히 ... | |
(HIVEPlayerInfo *) | + HIVEAuthV4::getPlayerInfo |
현재 사인-인 된 유저의 정보를 반환 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::getProfile:handler: |
요청한 playerId 들의 프로필 정보를 반환한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::getProviderFriendsList:handler: |
입력받은 providerType 에 해당하는 연결된 사용자의 친구들의 playerId 목록 정보를 얻어온다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showSignIn: |
사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showConflictSelection:conflictPlayerData:handler: |
충돌상태에서 유저를 선택하는 UI 를 띄운다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showProfile:handler: |
요청한 playerId 의 프로필 UI 를 표시한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showCafe: |
HIVE Cafe UI 를 띄운다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showInquiry: |
1:1 문의 UI 를 띄운다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showTerms: |
HIVE 약관 정보를 표시한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::showAdultConfirm: |
성인 인증을 요청한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::checkProvider:handler: |
요청한 Provider 의 상태를 체크 한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::checkMaintenance:handler: |
점검 상태 표시 및 데이터 반환한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::checkBlacklist:handler: |
현재 유저의 제재 상태를 체크한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::setProviderChangedListener: |
연동된 Provider 의 정보가 바뀌었는지 통보 받는다. 더 자세히 ... | |
(void) | + HIVEAuthV4::reset |
인증 정보를 포함하여 SDK 에서 사용하는 모든 데이터 초기화 한다. 더 자세히 ... | |
(bool) | + HIVEAuthV4::getAgeGateU13 |
COPPA 13세 나이 제한 여부를 반환한다. 더 자세히 ... | |
(void) | + HIVEAuthV4::requestPermissionViewData: |
권한고지 팝업을 구성하기 위한 데이터를 얻습니다. 더 자세히 ... | |
HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다
HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다.
HIVE SDK 초기화 및 HIVE 인증 기능을 제공한다 HIVE SDK 는 xml 설정 파일을 기반으로 초기화를 수행한다.
이 클래스에서 제공하는 상세 기능은 다음과 같다.
typedef void(^ HIVEAuthV4AdultConfirmHandler) (HIVEResultAPI *result) |
AuthV4 성인인증 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
result | : 사인-인 이 필요하기 때문에 사인-인 이 되어있지 않을 경우 INVALID_SESSION 이 올 수 있다. 성인인증에 정상적으로 진행되었을 경우 SUCCESS 가 된다. |
typedef void(^ HIVEAuthV4CheckProviderHandler) (HIVEResultAPI *result, HIVEProviderInfo *providerInfo) |
AuthV4 Provider 상태 조회 결과 통지 요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다.
현재 playerId 와 connect 를 요청하지는 않는다.
result | : SUCCESS 는 조회에 성공했다는 뜻이며 providerInfo 에 providerUserId 여부로 로그인된 유저를 판단해야 한다. |
providerInfo | : 실제 provider 에 로그인 되어있다면 providerUserId 가 존재한다. 그 외 providerType 만 존재. |
typedef void(^ HIVEAuthV4ConnectHandler) (HIVEResultAPI *result, HIVEPlayerInfo *conflictPlayer) |
AuthV4 Provider 연동 결과 통지
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 은 비어 있음. |
typedef void(^ HIVEAuthV4DialogDismissHandler) (BOOL isDismiss) |
AuthV4 Game Center 로그인 안내 팝업 결과 통지
isDismiss | : 팝업이 정상적으로 닫힌 경우 true가 전달된다. |
typedef void(^ HIVEAuthV4DisconnectHandler) (HIVEResultAPI *result) |
AuthV4 Provider 연동 해지 결과 통지 인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
result | : 인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황, 또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다. 그 외 성공. |
typedef void(^ HIVEAuthV4GetProfileHandler) (HIVEResultAPI *result, NSArray< HIVEProfileInfo * > *profileInfoList) |
AuthV4 Profile Profile 정보 요청 결과 통지 프로필 서버에 요청한 playerId 들에 대한 profile 정보를 전달한다.
result | : 요청에 대한 결과. 실패일 경우 profileInfoList 는 비어있다. |
profileInfoList | : 요청한 playerId 들에 대한 profile 정보. 각각 playerId, playerName, playerImageUrl 이 포함되어 있다. |
typedef void(^ HIVEAuthV4MaintenanceHandler) (HIVEResultAPI *result, NSArray< HIVEAuthV4MaintenanceInfo * > *maintenanceInfolist) |
AuthV4 서버 점검 조회 결과 통지 Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다.
요청시 isShow 가 true 였을 경우 점검 팝업이 노출되고 닫힌 이후에 불리게 된다.
result | : 서버에 조회 요청이 성공하면 SUCCESS 가 된다. SUCCESS 이지만 점검 공지 내용이 없다면 maintenanceInfo 는 비어있게 된다. |
maintenanceInfolist | : 점검 공지 팝업에 노출되는 동작에 대한 정보 이다. 요청시 isShow 를 false 로 주었다면 이 정보를 가지고 직접 UI 를 구성하여 노출하여야 한다. |
typedef void(^ HIVEAuthV4ResolveConflictHandler) (HIVEResultAPI *result) |
resolveConflict 호출 결과 통지 AuthV4.resolveConflict() 에서 사용
앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우 로그아웃은 불가능 하다.
따라서, 이런경우 실제 IDP 로그아웃에 실패했어도 내부 충돌 정보는 삭제 됩니다.
typedef void(^ HIVEAuthV4SetupHandler) (HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray< NSNumber * > *providerTypeList) |
AuthV4 초기화 결과 통지
result | : 최초 실행 시 DID 를 받아오지 못하거나, Provider List 를 받아오지 못하면 실패한다. 그 외 성공. |
isAutoSignIn | : 로컬에 이전 세션이 남아있는지 여부. true 일 경우 SignIn(ProviderType.AUTO) 을 호출 한다. 그 외의 경우 providerTypeList 중 하나로 SignIn 을 요청이 가능 하다. |
providerTypeList | : 현재 단말에서 사인-인 가능한 Provider List 이다. 단말의 현재 지역 (IP) 에 따라 다르게 보여질 수 있다. GUEST 를 포함하고 있으며 일부 지역 혹은 환경에서는 GUEST 도 불가능 할 수 있다. (분산서버) |
typedef void(^ HIVEAuthV4ShowCafeHandler) (HIVEResultAPI *result) |
AuthV4 Cafe UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
result | : setup 이 되어있지 않을 경우 NEED_INITIALIZE 가 발생할 수 있다. 그 외 성공. |
typedef void(^ HIVEAuthV4ShowInquiryHandler) (HIVEResultAPI *result) |
AuthV4 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
result | : setup 이 되어있지 않을 경우 NEED_INITIALIZE 가 발생할 수 있다. 그 외 성공. |
typedef void(^ HIVEAuthV4ShowProfileHandler) (HIVEResultAPI *result) |
AuthV4 Profile UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
result | : 입력된 playerId 가 잘못된 형태가 아니면 성공 |
typedef void(^ HIVEAuthV4ShowTermsHandler) (HIVEResultAPI *result) |
AuthV4 약관 다시보기 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
result | : setup 이 되어있지 않을 경우 NEED_INITIALIZE 가 발생할 수 있다. 그 외 성공. |
typedef void(^ HIVEAuthV4SignInHandler) (HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) |
AuthV4 사인-인 결과 통지
result | : SUCCESS 가 아닐 경우 다시 로그인 화면으로 돌아가야한다. 세션이 만료되었거나 정상적이지 않은 정보 일 경우 INVALID_SESSION 이 올 수 있으며 유저가 외부 로그인 창을 취소 하였을 경우 CANCELED, 서버 응답 지연 등에 의해 NETWORK 나 TIMEOUT 이 올 수 있다. 그 외 실패에 대한 상황은 RESPONSE_FAIL 이다. |
playerInfo | : result 가 SUCCESS 일 경우 playerInfo 에 사인-인에 성공한 유저의 정보가 담겨져 있다. providerInfoData 에는 연결되어있는 Provider 의 정보가 들어있다. 없는 Provider 는 연결되어있지 않은 상태. |
typedef void(^ HIVEAuthV4SignOutHandler) (HIVEResultAPI *result) |
AuthV4 사인-아웃 결과 통지
result | : setup 이 되지 않았거나 (NEED_INITIALIZE) SignIn 혹은 SignOut 이 진행중일 경우 (IN_PROGRESS) 실패가 될 수 있다. 그 외 성공 |
typedef void(^ HIVEProviderFriendsCallback) (HIVEResultAPI *result, HIVEProviderType providerType, NSDictionary< NSString *, NSNumber * > *providerUserIdList) |
HIVE SDK 사용자 Provider 친구목록의 profile 요청 결과 통지.
result | : API 호출 결과. 실패일 경우 providerUserIdList는 비어있다. |
providerType | : API 호출시 요청한 ProviderType. |
providerUserIdList | : 요청한 providerUserId들에 대한 id 정보. |
+ (void) checkBlacklist: | (BOOL) | isShow | |
handler: | (HIVEAuthV4MaintenanceHandler) | handler | |
현재 유저의 제재 상태를 체크한다.
기본적으로 signIn, connect 시에 자동으로 체크되며 제재 팝압을 띄우나
앱 내에서 필요한 시점에 실시간으로 체크가 필요할 때 사용할 수 있다.
요청시 isShow 가 true 였을 경우 팝업 UI 가 노출된다.
결과가 SUCCESS 이지만 제재 내용이 없다면 handler 의 maintenanceInfo 는 비어있게 된다.
요청시 isShow 를 false 로 주었다면 handler 의 maintenanceInfo 정보를 가지고 직접 UI 를 구성하여 노출하여야 한다.
isShow | HIVE UI 를 사용할 지 여부 |
handler | HIVEAuthV4MaintenanceHandler |
+ (void) checkMaintenance: | (BOOL) | isShow | |
handler: | (HIVEAuthV4MaintenanceHandler) | handler | |
점검 상태 표시 및 데이터 반환한다.
Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다.
SDK 의 초기화가 완료되면 서버 점검 및 업데이트 상태를 확인해야 한다.
서버 점검 및 업데이트는 게임 클라이언트의 업데이트 후에 하위 버전을 차단하거나, 게임 서버의 점검 시간 동안 게임 접속을 차단할 수 있다.
HIVE는 백오피스에 설정된 정보에 따라 서버 점검 혹은 공지 팝업을 노출하는 기능을 제공한다.
요청시 isShow 가 true 였을 경우 점검 팝업 UI 가 노출된다.
결과가 SUCCESS 이지만 점검 공지 내용이 없다면 handler 의 maintenanceInfo 는 비어있게 된다.
요청시 isShow 를 false 로 주었다면 handler 의 maintenanceInfo 정보를 가지고 직접 UI 를 구성하여 노출하여야 한다.
isShow | HIVE UI 를 사용할 지 여부 |
handler | HIVEAuthV4MaintenanceHandler |
+ (void) checkProvider: | (HIVEProviderType) | providerType | |
handler: | (HIVEAuthV4CheckProviderHandler) | handler | |
요청한 Provider 의 상태를 체크 한다.
요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다.
Login 에 성공하면 providerUserId 까지 얻어 온다.
현재 playerId 와 connect 를 요청하지는 않는다.
SUCCESS 는 조회에 성공했다는 뜻이며 providerInfo 에 providerUserId 여부로 로그인된 유저를 판단해야 한다.
실제 provider 에 로그인 되어있다면 providerUserId 가 존재한다. 그 외 providerType 만 존재.
Google Play Games, Apple Game Center 등 묵시적 사인-인 방식을 사용할 경우
providerType | 상태를 체크할 ProviderType |
handler | HIVEAuthV4CheckProviderHandler |
+ (void) connect: | (HIVEProviderType) | providerType | |
handler: | (HIVEAuthV4ConnectHandler) | handler | |
현재 사인-인 된 유저에 요청한 provider 와 연동 한다.
요청한 Provider 로 로그인을 시도 한 뒤, 로그인에 성공하면 인증서버에 연동 요청을 보낸다.
해당 Provider 의 UserId 에 이미 매칭된 playerId 가 있을 경우 handler 의 result 에 CONFLICT_PLAYER 에러를 내려준다.
이 경우 handler 에 포함되어 있는 conflictPlayer 객체의 충돌 유저 정보를 가지고 유저에게 계정 선택을 위한 UI 를 구성 해야한다.
유저가 선택을 하면 선택된 유저 정보로 selectConflict() 를 호출해 주면 된다.
직접 UI 를 구성하지 않을 경우 showConflictSelection() 을 이용할 수 있다.
이 경우 selectConflict() 까지 진행되며 사인-인 완료된 결과까지 받을 수 있다.
연동이 완료되면 해당 상태를 앱 내 UI 에 갱신해 준다.
BLACKLIST 일 경우 SDK에서 제재 팝업을 띄우고 BLACKLIST 에러를 내려 준다.
providerType | connect 요청할 ProviderType. AUTO 나 GUEST 는 INVALID_PARAM 에러를 발생시킨다. |
handler | HIVEAuthV4ConnectHandler 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 은 비어 있음. |
+ (void) disconnect: | (HIVEProviderType) | providerType | |
handler: | (HIVEAuthV4DisconnectHandler) | handler | |
현재 사인-인 된 유저에 요청한 provider 와 연동을 해제 한다.
인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황,
또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다.
disconnected 로 인해 연동이 모두 해제될 경우 게스트 상태가 될 수 있으니 주의.
providerType | disconnect 요청할 ProviderType. |
handler | HIVEAuthV4DisconnectHandler result : 인증 서버에 전달이 실패할 경우와 Sign 이 진행중이거나 setup 이 되지 않은 상황, 또는 이미 disconnected 된 Provider 일 경우 실패가 될 수 있다. 그 외 성공. |
+ (bool) getAgeGateU13 |
COPPA 13세 나이 제한 여부를 반환한다.
기본값은 false이며, AuthV4.setup() 호출 시 COPPA 약관 동의에 따라 결정된다.
정상적인 값을 받으려면 AuthV4.setup() 이후에 호출하여야 한다.
/~english Return 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.
+ (HIVEPlayerInfo *) getPlayerInfo |
현재 사인-인 된 유저의 정보를 반환 한다.
PlayerInfo 에는 playerToken 을 포함하고 있으며
프로필 정보 (playerName, playerImageUrl) 까지 포함하고 있으나,
요청시 실시간으로 서버에 요청하지 않고 로컬에 캐쉬되어 있는 프로필 정보를 반환 한다.
getProfile 이나 showProfile 에서 다인-인 된 유저 자신일 경우 자동으로 캐쉬를 갱신한다..
+ (void) getProfile: | (NSArray< NSNumber * > *) | playerIdList | |
handler: | (HIVEAuthV4GetProfileHandler) | handler | |
요청한 playerId 들의 프로필 정보를 반환한다.
plauerId 중 사인-인 된 자신이 있을 경우 playerName 과 playerImageUrl 을 동기화 한다.
playerIdList | ArrayList<Long> |
handler | HIVEAuthV4GetProfileHandler |
+ (void) getProviderFriendsList: | (HIVEProviderType) | providerType | |
handler: | (HIVEProviderFriendsCallback) | handler | |
입력받은 providerType 에 해당하는 연결된 사용자의 친구들의 playerId 목록 정보를 얻어온다.
요청한 providerType의 providerId와 연결된 사용자의 playerId를 페어로 얻어온다.
kHIVEProviderTypeFACEBOOK 의 경우 최대 5000명.
getProfile 을 사용하여 친구의 PlayerInfo 를 조회할 수 있다.
providerType | 친구목록을 조회할 연결된 ProviderType 값. |
handler | HIVEProviderFriendsCallback |
+ (BOOL) isAutoSignIn |
signIn(AUTO) 가 가능한지 여부를 반환한다.
AuthV4.setup() 호출 시 알려주는 값과 동일 하며,
로컬에 저장된 기존 세션만 체크 하기때문에 세션이 실제로 만료되지 않은 유효한 토큰인지는 알 수 없다.
true 일 경우 'TOUCH TO START' 등의 UI 를 통해 signIn(AUTO) 를 호출하고
여기서 실패할 경우 다시 초기 사인-인 씬으로 돌아가야 한다.
false 일 경우 AuthV4.setup() 호출 시 받은 providerList 를 통해 UI 를 구성하여 signIn 을 시도 하거나
showSignIn() 을 통해 HIVE 에서 제공하는 UI 를 사용하여도 된다.
앱 중간에 signOut 등 사인-인 씬으로 돌아왔을 경우 이 API 를 통해 UI 구성을 여부를 체크할 수 있다.
typedef NS_ENUM | ( | NSUInteger | , |
HIVEProviderType | |||
) |
Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며
isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다.
< kHIVEProviderTypeGUEST 게스트
< kHIVEProviderTypeHIVE HIVE
< kHIVEProviderTypeFACEBOOK Facebook
< kHIVEProviderTypeGOOGLE Google
< kHIVEProviderTypeQQ QQ
< kHIVEProviderTypeWEIBO Weibo
< kHIVEProviderTypeVK VK
< kHIVEProviderTypeWECHAT WECHAT
< kHIVEProviderTypeAPPLE Apple
< kHIVEProviderTypeSIGNIN_APPLE SignInWithApple
< kHIVEProviderTypeAUTO Auto
typedef NS_ENUM | ( | NSInteger | , |
HIVEAuthV4MaintenanceActionType | |||
) |
점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행
EXIT : 앱 종료
DONE : 아무 처리 하지 않고 점검 팝업 종료
< kHIVEAuthV4MaintenanceActionTypeOPEN_URL 외부 브라우저로 전달된 URL을 실행
< kHIVEAuthV4MaintenanceActionTypeEXIT 앱 강제 종료.
< kHIVEAuthV4MaintenanceActionTypeDONE 아무것도 하지 않음.
+ (HIVEProviderType) providerTypeFromString: | (NSString *) | typeString |
Provider string값으로 type을 얻어온다.
typeString | Provider string. |
+ (void) requestPermissionViewData: | ("Use Configration.getPermissionViewData") | __deprecated_msg |
권한고지 팝업을 구성하기 위한 데이터를 얻습니다.
HIVEResultAPI의 result가 success이며, result의 code가 kAuthV4SkipPermissionView 혹은 kAuthSkipPermissionView가 아닐 경우 권한고지 데이터를 이용하여 권한고지를 출력 할 수있습니다. HIVEPermissionViewData를 참조하여 데이터를 이용하여 UI를 구성하세요. 이 함수를 호출하여 권한고지팝업을 구성할 시 AuthV4.setup, Auth.initialize를 호출하였을때 HIVE SDK의 권한고지 팝업은 나오지 않습니다.
handler | 성인 인증 결과 통지 |
+ (void) reset |
인증 정보를 포함하여 SDK 에서 사용하는 모든 데이터 초기화 한다.
HIVE SDK 연동 및 테스트시에 사용된다.
+ (void) resolveConflict: | (HIVEAuthV4ResolveConflictHandler) | handler |
connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다.
connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 에서 자체 UI 를 구성하였을 경우에 사용
충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다.
호출시 해당하는 IDP (Provider) 를 로그아웃하게 된다.
앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우 로그아웃은 불가능하고,
내부 충돌 정보만 삭제 된다.
handler | HIVEAuthV4ResolveConflictHandler 실제 IDP 로그아웃에 실패했어도 내부 충돌 정보는 삭제 되다. |
+ (void) selectConflict: | (int64_t) | selectedPlayerId | |
handler: | (HIVEAuthV4SignInHandler) | handler | |
connect 로 인한 계정 충돌 상황 (CONFLICT_PLAYER) 일 때 유저를 선택 한다.
conncet 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 에서 자체 UI 를 구성하였을 경우
선택한 유저를 SDK에 통보해 주기 위해 호출 한다.
SDK 상태가 충돌 상태가 아니거나 signIn 이 진행중, 혹은 잘못된 playerId 일 경우 INVALID_PARAM 이 발생 할 수 있다.
충돌 상태가 되었다고 해도 selectConflict() 가 호출 되어 signIn 되기 전까지는 기존 유저가 signIn 된 상태로 본다.
showConflictSelection() 을 사용하였을 경우 호출할 필요가 없다.
selectedPlayerId | 선택한 유저의 playerId |
handler | HIVEAuthV4SignInHandler SUCCESS 가 되기 전까지는 기존 유저가 signIn 된 상태이다. 주의. |
+ (void) setProviderChangedListener: | (HIVEAuthV4CheckProviderHandler) | handler |
연동된 Provider 의 정보가 바뀌었는지 통보 받는다.
Google Play Games, Apple Game Center 의 경우 앱 외에서 계정 정보가 변경 될 수 있다.
그렇기 때문에 앱이 resume (onStart) 될 때 유저 정보가 바뀌었는지 체크하게 되고,
바뀌었다면 해당 콜백이 불리게 된다.
콜백은 checkProvider() 이후나 connect 등으로 직접 연동 시도 된 이후부터 동작하게 된다.
묵시적 사인-인 방식으로 구현할 경우 signIn() 완료 시점에서 checkProvider() 를 통해 직접 비교 체크 하여야 한다.
handler | HIVEAuthV4CheckProviderHandler |
+ (void) setup: | (HIVEAuthV4SetupHandler) | handler |
AuthV4 초기화를 수행한다.
Configuration 영역을 제외한 모든 API 중 가장 먼저 호출되어야 하며
선 호출이 되지 않을시 일부 API 에서는 NEED_INITIALIZE 에러가 발생할 수 있다.
Android 의 경우 초기 퍼미션 요청 UI 동작이 추가되며
이후 약관 동의, 다운로드 체크, DID 설정, config.xml 설정, ProviderList 설정 등이 진행 된다.
최초 실행 시 DID 를 받아오지 못하거나, Provider List 를 받아오지 못하면 handler 결과로 실패가 내려간다.
handler 에 포함된 providerTypeList 를 통해 signIn 에 필요한 UI 를 구성해야 한다.
직접 UI 를 구현하지 않을 시 showSignIn() 을 이용한다.
AuthV4 의 setup 이 되면 기존의 Auth 와 Social 영역의 기능은 사용할 수 없게된다.
반대의 경우에도 Auth 로 initialize 가 되면 AuthV4 와 Provider 영역은 사용할 수 없게 된다.
다른 기능 단위에서 (Push, Pomotion, IAP 등) 필요한 vid 는 AuthV4 로 setup 한 경우 playerId 를 String 으로 넣어주면 된다.
handler | HIVEAuthV4SetupHandler AuthV4 초기화 결과 통지 result : 최초 실행 시 DID 를 받아오지 못하거나, Provider List 를 받아오지 못하면 실패한다. 그 외 성공. isAutoSignIn : 로컬에 이전 세션이 남아있는지 여부. true 일 경우 SignIn(ProviderType.AUTO) 을 호출 한다. 그 외의 경우 providerTypeList 중 하나로 SignIn 을 요청이 가능 하다. providerTypeList : 현재 단말에서 사인-인 가능한 Provider List 이다. 단말의 현재 지역 (IP) 에 따라 다르게 보여질 수 있다. GUEST 를 포함하고 있으며 일부 지역 혹은 환경에서는 GUEST 도 불가능 할 수 있다. (분산서버) |
+ (void) showAdultConfirm: | (HIVEAuthV4AdultConfirmHandler) | handler |
성인 인증을 요청한다.
고스톱 / 포커류와 같이 성인 인증이 필요한 일부 게임의 경우 성인 인증 기능을 제공한다.
handler | HIVEAuthV4AdultConfirmHandler result : 사인-인 이 필요하기 때문에 사인-인 이 되어있지 않을 경우 INVALID_SESSION 이 올 수 있다. 성인인증에 정상적으로 진행되었을 경우 SUCCESS 가 된다. |
+ (void) showCafe: | (HIVEAuthV4ShowCafeHandler) | handler |
HIVE Cafe UI 를 띄운다.
HIVE Membership 연동 여부와 상관없이 사용할 수 있으며
연동되어 있다면 My Cafes 메뉴 추가로 보인다.
handler | HIVEAuthV4ShowCafeHandler |
+ (void) showConflictSelection: | (NSDictionary< NSString *, NSObject * > *) | currentPlayerData | |
conflictPlayerData: | (NSDictionary< NSString *, NSObject * > *) | conflictPlayerData | |
handler: | (HIVEAuthV4SignInHandler) | handler | |
충돌상태에서 유저를 선택하는 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}}
충돌난 유저로 선택 된 경우 다시 게임데이터를 불러와야 한다.
currentPlayerData | 현재 사인-인 되어있는 유저의 정보 |
conflictPlayerData | connect 시 받은 conflictPlayer 정보 |
handler | HIVEAuthV4SignInHandler |
+ (void) showInquiry: | (HIVEAuthV4ShowInquiryHandler) | handler |
1:1 문의 UI 를 띄운다.
HIVE Membership 연동 여부와 상관없이 사용할 수 있으며
연동되어 있다면 e-mail 부분이 자동으로 기입되어 있다.
handler | HIVEAuthV4ShowInquiryHandler |
+ (void) showProfile: | (int64_t) | playerId | |
handler: | (HIVEAuthV4ShowProfileHandler) | handler | |
요청한 playerId 의 프로필 UI 를 표시한다.
playerId 가 사인-인 된 자신이며 HIVE 와 연동된 유저일 경우 이 UI 에서 프로필 사진과 닉네임을 변경할 수 있다.
이 경우 창이 닫히면 playerName 과 playerImageUrl 를 로컬 정보와 동기화 한다.
playerId | 프로필 UI 를 띄울 playerId |
handler | HIVEAuthV4ShowProfileHandler |
+ (void) showSignIn: | (HIVEAuthV4SignInHandler) | handler |
사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다.
setup 에서 받은 ProviderList 와 동일한 목록을 가진 사인-인 가능한 UI 를 띄운다.
네트워크 지연 등으로 인해 GUEST 버튼이 노출되지 않을 수 있다.
AUTO 는 지원하지 않는다. isAutoSignIn() 이 true 라면 바로 signIn(AUTO) 를 호출 해 주면 된다.
handler | HIVEAuthV4SignInHandler |
+ (void) showTerms: | (HIVEAuthV4ShowTermsHandler) | handler |
HIVE 약관 정보를 표시한다.
약관 정보를 표시한다.
SDK 초기화 시 사용자에게 약관 동의 절차를 거치게 된다.
이후 게임에서는 설정 창 등에서 개인 정보 처리 방침 및 이용 약관 정보를 확인할 수 있는 웹뷰를 노출하도록 구성해야 한다.
handler | HIVEAuthV4ShowTermsHandler API 호출 결과 통지 |
+ (void) signIn: | (HIVEProviderType) | providerType | |
handler: | (HIVEAuthV4SignInHandler) | handler | |
주어진 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 에러를 내려 준다.
providerType | signIn 요청할 ProviderType |
handler | HIVEAuthV4SignInHandler AuthV4 사인-인 결과 통지 |
+ (void) signOut: | (HIVEAuthV4SignOutHandler) | handler |
로컬에 있는 세션을 제거 한다.
로그인 된 모든 Provider 들을 로그아웃 시키며 결과와 상관 없이 로컬 세션을 제거하고 성공 콜백을 준다.
signIn/Out 이 진행중일 경우 IN_PROGRESS 가 발생할 수 있다.
게스트 상태인 player 의 경우 (연동된 Provider 가 하나도 없는 상태) 다시 사인-인 할 수 없게 되니 주의.
handler | HIVEAuthV4SignOutHandler 사인-아웃 결과 통지 |
+ (NSString *) stringProviderType: | (HIVEProviderType) | providerType |
Provider type으로 string 값을 얻어온다.
providerType | Provider Type. |