HIVE 인증의 고도화 된 기능을 제공한다
이 클래스에서 제공하는 상세 기능은 다음과 같다.
더 자세히 ...
HIVE 인증의 고도화 된 기능을 제공한다
이 클래스에서 제공하는 상세 기능은 다음과 같다.
- 사인-인/아웃
- Provider 연결/연결 해제
- 업적/리더보드 조회
- 계정 충돌 상태 조회/해결
§ HIVEAuthV4HelperHandler
AuthV4Helper API 요청 결과 통지
- 매개변수
-
result | result에 올 수 있는 ErrorCode와 Code는 아래와 같다.
ErrorCode | Code | Description |
kHIVEResultAPITypeSUCCESS | kSuccess | 계정 충돌이 없으며 요청한 작업이 정상적으로 수행됨 |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 |
kHIVEResultAPITypeINVALID_SESSION | kAuthV4SigninFirst | 로그인 상태에서 사용 가능한 API를 로그인하지 않은 상태에서 호출한 경우 |
kHIVEResultAPITypeINVALID_PARAM | kAuthV4AlreadyAuthorized | 로그인 상태에서 다시 로그인 API를 호출한 경우 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나 Connect를 시도한 Provider의 Player ID가 이미 있는 경우 |
kHIVEResultAPITypePLAYER_CHANGE | kAuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우 |
kHIVEResultAPITypeCANCELED | kAuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
kHIVEResultAPITypeINVALID_SESSION | kAuthV4HelperImplifiedLoginFail | 묵시적 로그인에 실패하여 명시적 로그인을 진행해야 하는 경우 |
kHIVEResultAPITypeIN_PROGRESS | kAuthV4InProgressSignIn
kAuthV4InProgressConnect
kAuthV4InProgressShowLeaderboard
kAuthV4InProgressShowAchievements | 요청한 작업이 아직 처리중인 경우 |
|
playerInfo | result에 따라 올 수 있는 사용자의 정보는 아래와 같다.
ErrorCode | Code | Player Info |
kHIVEResultAPITypeSUCCESS | kSuccess | 현재 로그인 된 유저의 정보 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | 충돌이 발생한 유저의 정보 |
kHIVEResultAPITypePLAYER_CHANGE | kAuthV4PlayerChange | 계정 전환에 성공한 유저의 정보 |
kHIVEResultAPITypeCANCELED | kAuthV4PlayerResolved | 현재 유저의 정보 |
|
- 참고
- HIVEResultAPI, HIVEPlayerInfo
§ connect:handler:()
Provider 연결
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | Provider 연결 성공
| - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeCANCELED | kAuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나,
직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | Connect를 시도한 Provider의 Player ID가 이미 있는 경우
playerInfo: 충돌 계정 정보 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Connect 결과 통지 |
§ disconnect:handler:()
Provider 연결
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | Provider 연결 해제 성공
| - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeINVALID_PARAM | kAuthV4ProviderAlreadtDisconnected | 해제 요청받은 Provider가 해당 계정에 연결되지 않은 경우 | - |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Disconnect 결과 통지 |
§ getIDPList()
SDK에서 제공하는 Provider의 목록을 받는다.
§ resolveConflict:()
계정 Conflict가 발생한 경우 기존 사용자를 유지하는 경우 사용한다.
주요 결과 코드
ErrorCode | Code | Description |
kHIVEResultAPITypeCANCELED | kAuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Resolve Conflict결과 통지 |
§ showAchievements:()
업적 조회
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
특이 사항
- 로그인 되어있는 계정이 PGS/GameCenter에 연결되어있지 않은 경우 자동으로 해당 서비스로 연결을 시도
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | 업적 조회 요청 성공
| - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeCANCELED | kAuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나,
직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나
Connect를 시도한 Provider의 Player ID가 이미 있는 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Show achievements 결과 통지 |
§ showConflict:()
충돌 상태를 알려주고 사용할 계정을 선택하는 HIVE UI 를 보여준다.
주요 결과 코드
ErrorCode | Code | Description |
kHIVEResultAPITypePLAYER_CHANGE | kAuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우
|
kHIVEResultAPITypeCANCELED | kAuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
kHIVEResultAPITypeINVALID_PARAM | kAuthV4InvalidConflictInfo | 계정 충돌이 발생하지 않은 상태에서 계정 충돌 해결을 요청한 경우 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Show Conflict 결과 통지 |
§ showConflict:handler:()
충돌 상태를 알려주고 사용할 계정을 선택할 수 있고, 게임 정보를 같이 표현할 수 있는 HIVE UI 를 보여준다.
주요 결과 코드
ErrorCode | Code | Description |
kHIVEResultAPITypePLAYER_CHANGE | kAuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우
|
kHIVEResultAPITypeCANCELED | kAuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
kHIVEResultAPITypeINVALID_PARAM | kAuthV4InvalidConflictInfo | 계정 충돌이 발생하지 않은 상태에서 계정 충돌 해결을 요청한 경우 |
- 매개변수
-
- 참고
- HIVEConflictSingleViewInfo
§ showGameCenterLoginCancelDialog:()
Game Center 로그인창을 표시할 수 없는 경우, 해당 상태를 보여주고,
Game Center 로그인 방법을 안내하는 UI를 띄운다.
- 매개변수
-
handler | HIVEAuthV4DialogDismissHandler 계정 안내 팝업 Close 여부 통지 |
- 참고
- HIVEAuthV4DialogDismissHandler
§ showLeaderboard:()
리더보드 조회
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
특이 사항
- 로그인 되어있는 계정이 PGS/GameCenter에 연결되어있지 않은 경우 자동으로 해당 서비스로 연결을 시도
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | 리더보드 조회 요청 성공
| - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeCANCELED | kAuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나,
직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나
Connect를 시도한 Provider의 Player ID가 이미 있는 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Show leaderboard 결과 통지 |
§ signIn:()
사용자 로그인
사용 조건
- HIVE SDK 초기화
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | 로그인 성공
playerInfo: 로그인 성공한 사용자의 정보 | - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeIN_PROGRESS | kAuthV4InProgressSignIn
| Sign In 처리 중 재요청이 들어온 경우 | 기존 SignIn 요청 결과 대기 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나
Connect를 시도한 Provider의 Player ID가 이미 있는 경우
playerInfo: 충돌 계정 정보 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
kHIVEResultAPITypeINVALID_SESSION | kAuthV4HelperImplifiedLoginFail | 묵시적 로그인에 실패하여 명시적 로그인을 진행해야 하는 경우 | AuthV4.Helper.getIDPList()로 지원 Provider 목록 조회 후 명시적 로그인 UI를 구현하거나,
AuthV4.showSignIn() HIVE UI를 이용하여 명시적 로그인 동작 수행 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Sign In 결과 통지 |
§ signOut:()
사용자 로그아웃
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | 로그아웃 성공
| - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Sign Out 결과 통지 |
§ switchAccount:()
계정 Conflict가 발생한 경우 현재 로그인 된 사용자를 로그아웃 시키고,
기기에 연결된 계정으로 로그인을 시도한다.
주요 결과 코드
ErrorCode | Code | Description |
kHIVEResultAPITypePLAYER_CHANGE | kAuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우
|
- 매개변수
-
handler | HIVEAuthV4HelperHandler AuthV4Helper Switch Account 결과 통지 |
§ syncAccount:handler:()
제공된 API 외 경우에 계정의 충돌 여부를 확인할 수 있다.
사용 조건
- HIVE SDK 초기화
- HIVE SignIn 완료
주요 결과 코드
ErrorCode | Code | Description | Solution |
kHIVEResultAPITypeSUCCESS | kSuccess | 계정 상태 정상 | - |
kHIVEResultAPITypeNEED_INITIALIZE | kAuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
kHIVEResultAPITypeCONFLICT_PLAYER | kAuthV4ConflictPlayer | 로그인한 계정과 기기에 로그인된 PGS/GameCenter 계정이 다른 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
kHIVEResultAPITypeNOT_SUPPORTED | kAuthV4NotSupportedProviderType | PGS/GameCenter 외 Provider Type으로 계정 상태를 조회한 경우 | - |
- 매개변수
-
providerType | 동기화를 요청할 ProviderType |
handler | HIVEAuthV4HelperHandler AuthV4Helper Sync Account 결과 통지 |