HIVE 인증의 고도화 된 기능을 제공한다
이 클래스에서 제공하는 상세 기능은 다음과 같다.
더 자세히 ...
타입정의 | |
| typedef std::function< void(ResultAPI const &result, std::shared_ptr< PlayerInfo > playerInfo)> | AuthV4::Helper::onAuthV4Helper |
| AuthV4Helper API 요청 결과 통지 더 자세히 ... | |
함수 | |
| static void | AuthV4::Helper::syncAccount (ProviderType providerType, onAuthV4Helper listener) |
| 제공된 API 외 경우에 계정의 충돌 여부를 확인할 수 있다. 더 자세히 ... | |
| static void | AuthV4::Helper::signIn (onAuthV4Helper listener) |
| 사용자 로그인 더 자세히 ... | |
| static void | AuthV4::Helper::signOut (onAuthV4Helper listener) |
| 사용자 로그아웃 더 자세히 ... | |
| static void | AuthV4::Helper::playerDelete (onAuthV4Helper listener) |
| 사용자 삭제 더 자세히 ... | |
| static void | AuthV4::Helper::connect (ProviderType providerType, onAuthV4Helper listener) |
| Provider 연결 더 자세히 ... | |
| static void | AuthV4::Helper::disconnect (ProviderType providerType, onAuthV4Helper listener) |
| Provider 연결 해제 더 자세히 ... | |
| static void | AuthV4::Helper::showAchievements (onAuthV4Helper listener) |
| 업적 조회 더 자세히 ... | |
| static void | AuthV4::Helper::showLeaderboard (onAuthV4Helper listener) |
| 리더보드 조회 더 자세히 ... | |
| static void | AuthV4::Helper::achievementsReveal (const std::string achievementId, onAuthV4Helper listener) |
| 숨겨진 업적 공개. 더 자세히 ... | |
| static void | AuthV4::Helper::achievementsUnlock (const std::string achievementId, onAuthV4Helper listener) |
| 업적 달성. 더 자세히 ... | |
| static void | AuthV4::Helper::achievementsIncrement (const std::string achievementId, const int value, onAuthV4Helper listener) |
| 업적 수치 증가. 더 자세히 ... | |
| static void | AuthV4::Helper::leaderboardsSubmitScore (const std::string leaderboardId, const long long score, onAuthV4Helper listener) |
| 리더보드 점수를 갱신. 더 자세히 ... | |
| static void | AuthV4::Helper::showConflict (onAuthV4Helper listener) |
| 충돌 상태를 알려주고 사용할 계정을 선택하는 HIVE UI 를 보여준다. 더 자세히 ... | |
| static void | AuthV4::Helper::showConflict (ConflictSingleViewInfo const &viewInfo, onAuthV4Helper listener) |
| 충돌 상태를 알려주고 사용할 계정을 선택할 수 있고, 게임 정보를 같이 표현할 수 있는 HIVE UI 를 보여준다. 더 자세히 ... | |
| static void | AuthV4::Helper::switchAccount (onAuthV4Helper listener) |
| 계정 Conflict가 발생한 경우 현재 로그인 된 사용자를 로그아웃 시키고, 기기에 연결된 계정으로 로그인을 시도한다. 더 자세히 ... | |
| static void | AuthV4::Helper::resolveConflict (onAuthV4Helper listener) |
| 계정 Conflict가 발생한 경우 기존 사용자를 유지하는 경우 사용한다. 더 자세히 ... | |
| static std::vector< ProviderType > | AuthV4::Helper::getIDPList () |
| SDK에서 제공하는 Provider의 목록을 받는다. 더 자세히 ... | |
| static void | AuthV4::Helper::showGameCenterLoginCancelDialog (onAuthV4DialogDismiss listener) |
| Game Center 로그인창을 표시할 수 없는 경우, 해당 상태를 보여주고, Game Center 로그인 방법을 안내하는 UI를 띄운다. 더 자세히 ... | |
| ConflictSingleViewInfo::ConflictSingleViewInfo (hive::PlayerID playerId) | |
| 생성자 더 자세히 ... | |
| ConflictViewInfo::ConflictViewInfo (hive::PlayerID currentPlayerId, hive::PlayerID conflictPlayerId) | |
| 생성자 더 자세히 ... | |
| static std::string | ProviderInfo::stringProviderType (hive::ProviderType providerType) |
| Provider type으로 string 값을 얻어온다. 더 자세히 ... | |
| static hive::ProviderType | ProviderInfo::providerTypeFromString (const std::string typeString) |
| Provider string값으로 type을 얻어온다. 더 자세히 ... | |
변수 | |
| hive::PlayerID | ProfileInfo::playerId |
| 사용자 Player ID | |
| std::string | PlayerInfo::playerToken |
| 사용자 Player 세션 토큰. | |
| std::string | PlayerInfo::accessToken |
| 사용자 Hive 세션 토큰. | |
| std::string | PlayerInfo::did |
| 사용자 device identifier. | |
| bool | PlayerInfo::isNewUser = false |
| 이번 사인-인에서 신규 가입된 유저 여부 (인증 서버 판단 기준) | |
| std::string | ParentalConsentInfo::dateOfBirth |
| 유저의 생년월일 | |
| std::string | ParentalConsentInfo::guardianEmail |
| 보호자 이메일 주소 | |
| std::string | Identity::phoneNumber |
| 전화번호 Ex) 01012345678 64자리의 16진수 문자열이다. | |
| std::string | Identity::phoneCode |
| 국가 코드 Ex) 82 | |
| std::string | Identity::dateOfBirth |
| 법정 생년월일, yyyy-MM-dd 형식 | |
| std::string | Identity::hashedDi |
| SHA-256으로 해시된 DI. 64자리의 16진수 문자열이다. | |
| hive::ProviderType | ProviderInfo::providerType |
| Provider의 type. | |
| std::string | ProviderInfo::providerUserId |
| < Provider의 이름. 더 자세히 ... | |
| std::string | ProviderInfo::providerEmail |
| Provider의 사용자 email (optional) | |
| hive::UserStatus | AgeRange::userStatus = UserStatus::UNKNOWN |
| 연령 범위 상태 코드 | |
| int | AgeRange::ageLower = -1 |
| 연령 범위 하한값 | |
| int | AgeRange::ageUpper = -1 |
| 연령 범위 상한값 | |
| std::string | AgeRange::mostRecentApprovalDate = "" |
| 최근 승인된 중요한 변경 사항의 발효일 | |
| std::string | AgeRange::ageRangeId = "" |
| 스토어에서 발급된 사용자 식별자 | |
| std::string | AuthV4MaintenanceExtraButton::button |
| 버튼의 Text 문구 | |
| hive::AuthV4MaintenanceActionType | AuthV4MaintenanceExtraButton::action |
| 버튼을 눌렀을때 동작될 행동 | |
| std::string | AuthV4MaintenanceExtraButton::url |
| action이 OPEN_URL 일 경우에 브라우징 될 URL | |
| std::string | AuthV4MaintenanceInfo::title |
| 점검 제목 | |
| std::string | AuthV4MaintenanceInfo::message |
| 점검 내용 | |
| std::string | AuthV4MaintenanceInfo::button |
| 버튼의 Text 문구 ex) 확인 | |
| hive::AuthV4MaintenanceActionType | AuthV4MaintenanceInfo::action |
| 버튼을 눌렀을때 동작될 행동 | |
| std::string | AuthV4MaintenanceInfo::url |
| action 이 OPEN_URL 일 경우에 브라우징 될 URL | |
| std::string | AuthV4MaintenanceInfo::startDate |
| 점검시작일 YYYY-mm-dd HH:ii | |
| std::string | AuthV4MaintenanceInfo::endDate |
| 점검종료일 YYYY-mm-dd HH:ii | |
| int | AuthV4MaintenanceInfo::remainingTime |
| EXIT 일 경우 점검 완료까지 남은 초단위 시간. 시간은 실시간 갱신되며 0초가 되면 앱 종료 | |
| std::string | AuthV4MaintenanceInfo::customerLink |
| 고객센터 버튼 제목 | |
| std::vector< AuthV4MaintenanceExtraButton > | AuthV4MaintenanceInfo::exButtons |
| 고객센터 링크 | |
HIVE 인증의 고도화 된 기능을 제공한다
이 클래스에서 제공하는 상세 기능은 다음과 같다.
| typedef std::function<void(ResultAPI const & result,std::shared_ptr<PlayerInfo> playerInfo)> AuthV4::Helper::onAuthV4Helper |
AuthV4Helper API 요청 결과 통지
| result | result에 올 수 있는 ErrorCode와 Code는 아래와 같다.
| ||||||||||||||||||||||||||||||
| playerInfo | result에 따라 올 수 있는 사용자의 정보는 아래와 같다.
|
|
static |
업적 수치 증가.
숨겨져 있거나 공개된 여부와 상관없이 업적이 100% 로 달성 된다.
총 합산이 Max 가 될 경우 자동으로 업적이 달성되며, 계속 호출하여도 무방하다.
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 업적 수치 증가 요청 성공 | - |
| RESPONSE_FAIL | AuthV4GoogleResponseFailAchievementsIncrement | PGS API 함수 호출이 실패한 경우 | - |
| incrementalAchievementId | 업적 키 값 |
| value | 증가 값 |
| listener | onAuthV4Helper achievementsIncrement 결과 통지 |
|
static |
숨겨진 업적 공개.
업적이 0% 로 공개만 될 뿐 달성 되지는 않는다.
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 숨겨진 업적 공개 요청 성공 | - |
| RESPONSE_FAIL | AuthV4GoogleResponseFailAchievementsReveal | PGS API 함수 호출이 실패한 경우 | - |
| achievementId | 업적 키 값 |
| listener | onAuthV4Helper achievementsReveal 결과 통지 |
|
static |
업적 달성.
숨겨져 있거나 공개된 여부와 상관없이 업적이 100% 로 달성 된다.
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 업적 달성 요청 성공 | - |
| RESPONSE_FAIL | AuthV4GoogleResponseFailAchievementsUnlock | PGS API 함수 호출이 실패한 경우 | - |
| achievementId | 업적 키 값 |
| listener | onAuthV4Helper achievementsUnlock 결과 통지 |
| ConflictSingleViewInfo::ConflictSingleViewInfo | ( | hive::PlayerID | playerId | ) |
생성자
| playerId | 충돌된 사용자의 플레이어 아이디 |
| ConflictViewInfo::ConflictViewInfo | ( | hive::PlayerID | currentPlayerId, |
| hive::PlayerID | conflictPlayerId | ||
| ) |
생성자
| currentPlayerId | 현재 사용자의 플레이어 아이디 |
| conflictPlayerId | 충돌된 사용자의 플레이어 아이디 |
|
static |
Provider 연결
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | Provider 연결 성공 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| CANCELED | AuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나, 직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
| CONFLICT_PLAYER | AuthV4ConflictPlayer | Connect를 시도한 Provider의 Player ID가 이미 있는 경우 playerInfo: 충돌 계정 정보 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
| listener | onAuthV4Helper AuthV4Helper Connect 결과 통지 |
|
static |
Provider 연결 해제
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | Provider 연결 해제 성공 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| INVALID_PARAM | AuthV4ProviderAlreadtDisconnected | 해제 요청받은 Provider가 해당 계정에 연결되지 않은 경우 | - |
| listener | onAuthV4Helper AuthV4Helper Disconnect 결과 통지 |
|
static |
SDK에서 제공하는 Provider의 목록을 받는다.
|
static |
리더보드 점수를 갱신.
leaderboardId 에 해당하는 기록에 score 수치로 갱신된다.
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 리더보드 점수 갱신 요청 성공 | - |
| RESPONSE_FAIL | AuthV4GoogleResponseFailLeaderboardsSubmitScore | PGS API 함수 호출이 실패한 경우 | - |
| leaderboardId | 리더보드 키 값 |
| score | 리더보드 점수 |
| listener | onAuthV4Helper LeaderboardsSubmitScore 결과 통지 |
|
static |
사용자 삭제
\~korean
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 로그아웃 성공 | - |
| NEED_INITIALIZED | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| listener | AuthV4HelperListener AuthV4Helper PlayerDelete 결과 통지 |
|
static |
Provider string값으로 type을 얻어온다.
| typeString | Provider string. |
|
static |
|
static |
업적 조회
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 업적 조회 요청 성공 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| CANCELED | AuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나, 직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
| CONFLICT_PLAYER | AuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나 Connect를 시도한 Provider의 Player ID가 이미 있는 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
| listener | onAuthV4Helper AuthV4Helper Show achievements 결과 통지 |
|
static |
충돌 상태를 알려주고 사용할 계정을 선택할 수 있고, 게임 정보를 같이 표현할 수 있는 HIVE UI 를 보여준다.
| ErrorCode | Code | Description |
| PLAYER_CHANGE | AuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우 |
| CANCELED | AuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
| INVALID_PARAM | AuthV4InvalidConflictInfo | 계정 충돌이 발생하지 않은 상태에서 계정 충돌 해결을 요청한 경우 |
| conflictData | ConflictSingleViewInfo 충돌이 발생한 사용자의 게임 데이터 |
| listener | onAuthV4Helper AuthV4Helper Show Conflict 결과 통지 |
|
static |
충돌 상태를 알려주고 사용할 계정을 선택하는 HIVE UI 를 보여준다.
| ErrorCode | Code | Description |
| PLAYER_CHANGE | AuthV4PlayerChange | 계정 충돌이 발생한 후 계정 전환에 성공한 경우 |
| CANCELED | AuthV4PlayerResolved | 계정 충돌이 발생한 후 현재 로그인 된 계정을 유지하는 경우 |
| INVALID_PARAM | AuthV4InvalidConflictInfo | 계정 충돌이 발생하지 않은 상태에서 계정 충돌 해결을 요청한 경우 |
| listener | onAuthV4Helper AuthV4Helper Show Conflict 결과 통지 |
|
static |
Game Center 로그인창을 표시할 수 없는 경우, 해당 상태를 보여주고,
Game Center 로그인 방법을 안내하는 UI를 띄운다.
| listener | onAuthV4DialogDismiss 계정 안내 팝업 Close 여부 통지 |
|
static |
리더보드 조회
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 리더보드 조회 요청 성공 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| CANCELED | AuthV4AppleLoginCancel | Apple GameCenter 로그인창을 표시할 수 없거나 사용자가 GameCenter 로그인을 취소한 경우 | AuthV4.helper.showGameCenterLoginCancelDialog() API로 게임센터 로그인 안내 팝업을 표시하거나, 직접 구현하여 사용자에게 GameCenter 로그인 방법을 안내 |
| CONFLICT_PLAYER | AuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나 Connect를 시도한 Provider의 Player ID가 이미 있는 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
| listener | onAuthV4Helper AuthV4Helper Show leaderboard 결과 통지 |
|
static |
사용자 로그인
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 로그인 성공 playerInfo: 로그인 성공한 사용자의 정보 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| IN_PROGRESS | AuthV4InProgressSignIn | Sign In 처리 중 재요청이 들어온 경우 | 기존 SignIn 요청 결과 대기 |
| CONFLICT_PLAYER | AuthV4ConflictPlayer | Device에 로그인 된 계정과 현재 로그인 된 계정의 PGS/GameCenter 정보가 다르거나 Connect를 시도한 Provider의 Player ID가 이미 있는 경우 playerInfo: 충돌 계정 정보 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
| INVALID_SESSION | AuthV4HelperImplifiedLoginFail | 묵시적 로그인에 실패하여 명시적 로그인을 진행해야 하는 경우 | AuthV4.Helper.getIDPList()로 지원 Provider 목록 조회 후 명시적 로그인 UI를 구현하거나, AuthV4.showSignIn() HIVE UI를 이용하여 명시적 로그인 동작 수행 |
| listener | onAuthV4Helper AuthV4Helper Sign In 결과 통지 |
|
static |
사용자 로그아웃
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 로그아웃 성공 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| listener | onAuthV4Helper AuthV4Helper Sign Out 결과 통지 |
|
static |
Provider type으로 string 값을 얻어온다.
| providerType | Provider Type. |
|
static |
|
static |
제공된 API 외 경우에 계정의 충돌 여부를 확인할 수 있다.
| ErrorCode | Code | Description | Solution |
| SUCCESS | Success | 계정 상태 정상 | - |
| NEED_INITIALIZE | AuthV4NotInitialized | HIVE SDK가 초기화되지 않은 경우 | AuthV4.setup() API로 HIVE SDK 초기화 |
| CONFLICT_PLAYER | AuthV4ConflictPlayer | 로그인한 계정과 기기에 로그인된 PGS/GameCenter 계정이 다른 경우 | 계정 충돌 상황 해결 방법 안내에 따라 해결 |
| NOT_SUPPORTED | AuthV4NotSupportedProviderType | PGS/GameCenter 외 Provider Type으로 계정 상태를 조회한 경우 | - |
| providerType | 동기화를 요청할 ProviderType |
| listener | onAuthV4Helper AuthV4Helper Sync Account 결과 통지 |
| std::string ProviderInfo::providerUserId |
< Provider의 이름.
Provider의 사용자 user identifier.