45#ifndef __HIVE_AUTHV4_H__
46#define __HIVE_AUTHV4_H__
51#include "HIVE_PermissionView.h"
81 ,GOOGLE_PLAY_GAMES = 14
146 ,SUPERVISED_APPROVAL_PENDING = 2
147 ,SUPERVISED_APPROVAL_DENIED = 3
153typedef long long PlayerID;
161class IConflictViewInfo;
162class ConflictSingleViewInfo;
166class HIVESDK_DLLEXPORT AuthV4 {
195 typedef std::function<void(
ResultAPI const & result,
bool isAutoSignIn,std::string did,std::vector<ProviderType>
const & providerTypeList )>
onSetup;
404 typedef std::function<void(
ResultAPI const & result,std::vector<AuthV4MaintenanceInfo>
const & maintenanceInfolist)>
onMaintenance;
429 typedef std::function<void(
ResultAPI const & result,std::vector<ProfileInfo>
const & profileInfoList)>
onGetProfile;
574 typedef std::function<void(
bool isDismiss)> onAuthV4DialogDismiss;
576 typedef std::function<void(
ResultAPI const & result,PermissionViewData
const & data)> onAuthV4RequestPermissionViewData;
1679 static void showGameCenterLoginCancelDialog(onAuthV4DialogDismiss listener);
1938 static void showAgeRangeUpdatePermission(std::string description,
onGetAgeRange showAgeRangeUpdateListener);
1979 static void executeEngine(picojson::value jsonParam);
2033 class HIVESDK_DLLEXPORT Helper {
3557 static void executeEngine(picojson::value jsonParam);
3561class HIVESDK_DLLEXPORT IConflictViewInfo {
3563 virtual ~IConflictViewInfo(){}
3564 virtual std::string toJsonConflict()
const = 0;
3565 virtual std::string toJsonCurrent()
const = 0;
3568class HIVESDK_DLLEXPORT ConflictSingleViewInfo :
public IConflictViewInfo{
3575 virtual ~ConflictSingleViewInfo();
3577 void SetValue(
const std::string key,
const long long playerData);
3578 void SetValue(
const std::string key,
const double playerData);
3579 void SetValue(
const std::string key,
const std::string playerData);
3581 std::string toJsonConflict()
const override;
3582 std::string toJsonCurrent()
const override;
3584 std::string jsonData;
3600 void SetValue(
const std::string key,
const long long currentPlayerData,
const long long conflictPlayerData);
3601 void SetValue(
const std::string key,
const double currentPlayerData,
const double conflictPlayerData);
3602 void SetValue(
const std::string key,
const std::string currentPlayerData,
const std::string conflictPlayerData);
3604 std::string toJsonConflict()
const override;
3605 std::string toJsonCurrent()
const override;
3607 std::string jsonConflict;
3608 std::string jsonCurrent;
3641 std::string playerName;
3642 std::string playerImageUrl;
3680 std::map<ProviderType, hive::ProviderInfo> providerInfoData;
3681 std::map<std::string, hive::ProviderInfo> customProviderInfoData;
3682 bool isNewUser =
false;
3778 std::string providerName;
3828 hive::UserStatus userStatus = UserStatus::UNKNOWN;
3831 std::string mostRecentApprovalDate =
"";
3832 std::string ageRangeId =
"";
3911 std::string customerButton;
연령 범위 체크 결과 정보.
Definition: HIVE_AuthV4.h:3823
추가적인 점검 버튼 정보 button : 버튼의 Text 문구 ex) 추가 버튼 action : 버튼을 눌렀을때 동작될 행동 url : action이 OPEN_URL 일 경우에 ...
Definition: HIVE_AuthV4.h:3855
서버 점검 및 업데이트 상태 표시 정보 title : 점검 제목 message : 점검 내용 button : 버튼의 Text 문구 ex) 확인 action : 버튼을 눌렀을때 ...
Definition: HIVE_AuthV4.h:3900
HIVE 인증 충돌시 view에 표시할 UI data를 구성하는 정보.
Definition: HIVE_AuthV4.h:3590
본인 확인 서비스를 통해 인증한 유저 정보 phoneNumber : 전화번호 Ex) 01012345678 phoneCode : 국가 코드 Ex) 82 dateOfBirth : 법...
Definition: HIVE_AuthV4.h:3737
보호자 동의 정보 유저의 생년월일과 보호자의 이메일 주소가 포함되어 있다.
Definition: HIVE_AuthV4.h:3705
사인-인 유저의 정보 프로필 정보 (ProfileInfo) 와 함께 유저의 토큰과 DID 값이 포함되어 있다.
Definition: HIVE_AuthV4.h:3667
유저의 프로필 정보 playerID : 유저의 고유한 ID playerName : 외부에 보여질 유저의 닉네임, 처음 연결된 Provider 의 정보로 채워지며 HIVE 멤버쉽으...
Definition: HIVE_AuthV4.h:3631
프로바이더 정보 연결된 프로바이더의 UserId 를 포함하고 있다.
Definition: HIVE_AuthV4.h:3773
Definition: HIVE_ResultAPI.h:64
std::string providerEmail
Provider의 사용자 email (optional)
Definition: HIVE_AuthV4.h:3780
std::string accessToken
사용자 Hive 세션 토큰.
Definition: HIVE_AuthV4.h:3677
static void showLeaderboard(onAuthV4Helper listener)
리더보드 조회
static void showConflict(ConflictSingleViewInfo const &viewInfo, onAuthV4Helper listener)
충돌 상태를 알려주고 사용할 계정을 선택할 수 있고, 게임 정보를 같이 표현할 수 있는 HIVE UI 를 보여준다.
std::string customerLink
고객센터 버튼 제목
Definition: HIVE_AuthV4.h:3912
std::string endDate
점검종료일 YYYY-mm-dd HH:ii
Definition: HIVE_AuthV4.h:3909
std::string playerToken
사용자 Player 세션 토큰.
Definition: HIVE_AuthV4.h:3676
hive::AuthV4MaintenanceActionType action
버튼을 눌렀을때 동작될 행동
Definition: HIVE_AuthV4.h:3860
static hive::ProviderType providerTypeFromString(const std::string typeString)
Provider string값으로 type을 얻어온다.
static void signOut(onAuthV4Helper listener)
사용자 로그아웃
std::string providerUserId
< Provider의 이름.
Definition: HIVE_AuthV4.h:3779
std::string dateOfBirth
유저의 생년월일
Definition: HIVE_AuthV4.h:3710
std::string dateOfBirth
법정 생년월일, yyyy-MM-dd 형식
Definition: HIVE_AuthV4.h:3743
static void showAchievements(onAuthV4Helper listener)
업적 조회
std::string guardianEmail
보호자 이메일 주소
Definition: HIVE_AuthV4.h:3711
static void showConflict(onAuthV4Helper listener)
충돌 상태를 알려주고 사용할 계정을 선택하는 HIVE UI 를 보여준다.
static void achievementsReveal(const std::string achievementId, onAuthV4Helper listener)
숨겨진 업적 공개.
std::string startDate
점검시작일 YYYY-mm-dd HH:ii
Definition: HIVE_AuthV4.h:3908
std::string button
버튼의 Text 문구 ex) 확인
Definition: HIVE_AuthV4.h:3905
static void signIn(onAuthV4Helper listener)
사용자 로그인
static void connect(ProviderType providerType, onAuthV4Helper listener)
Provider 연결
std::string url
action 이 OPEN_URL 일 경우에 브라우징 될 URL
Definition: HIVE_AuthV4.h:3907
static void syncAccount(ProviderType providerType, onAuthV4Helper listener)
제공된 API 외 경우에 계정의 충돌 여부를 확인할 수 있다.
static void leaderboardsSubmitScore(const std::string leaderboardId, const long long score, onAuthV4Helper listener)
리더보드 점수를 갱신.
std::string title
점검 제목
Definition: HIVE_AuthV4.h:3903
static void disconnect(ProviderType providerType, onAuthV4Helper listener)
Provider 연결 해제
static void switchAccount(onAuthV4Helper listener)
계정 Conflict가 발생한 경우 현재 로그인 된 사용자를 로그아웃 시키고, 기기에 연결된 계정으로 로그인을 시도한다.
hive::PlayerID playerId
사용자 Player ID
Definition: HIVE_AuthV4.h:3640
std::string url
action이 OPEN_URL 일 경우에 브라우징 될 URL
Definition: HIVE_AuthV4.h:3861
ConflictSingleViewInfo(hive::PlayerID playerId)
생성자
static std::vector< ProviderType > getIDPList()
SDK에서 제공하는 Provider의 목록을 받는다.
std::vector< AuthV4MaintenanceExtraButton > exButtons
고객센터 링크
Definition: HIVE_AuthV4.h:3913
std::string phoneNumber
전화번호 Ex) 01012345678 64자리의 16진수 문자열이다.
Definition: HIVE_AuthV4.h:3741
static void showGameCenterLoginCancelDialog(onAuthV4DialogDismiss listener)
Game Center 로그인창을 표시할 수 없는 경우, 해당 상태를 보여주고, Game Center 로그인 방법을 안내하는 UI를 띄운다.
std::string hashedDi
SHA-256으로 해시된 DI. 64자리의 16진수 문자열이다.
Definition: HIVE_AuthV4.h:3744
int remainingTime
EXIT 일 경우 점검 완료까지 남은 초단위 시간. 시간은 실시간 갱신되며 0초가 되면 앱 종료
Definition: HIVE_AuthV4.h:3910
std::string message
점검 내용
Definition: HIVE_AuthV4.h:3904
static void achievementsIncrement(const std::string achievementId, const int value, onAuthV4Helper listener)
업적 수치 증가.
std::string button
버튼의 Text 문구
Definition: HIVE_AuthV4.h:3859
std::string phoneCode
국가 코드 Ex) 82
Definition: HIVE_AuthV4.h:3742
ConflictViewInfo(hive::PlayerID currentPlayerId, hive::PlayerID conflictPlayerId)
생성자
static void playerDelete(onAuthV4Helper listener)
사용자 삭제
static void resolveConflict(onAuthV4Helper listener)
계정 Conflict가 발생한 경우 기존 사용자를 유지하는 경우 사용한다.
hive::ProviderType providerType
Provider의 type.
Definition: HIVE_AuthV4.h:3777
static void achievementsUnlock(const std::string achievementId, onAuthV4Helper listener)
업적 달성.
hive::AuthV4MaintenanceActionType action
버튼을 눌렀을때 동작될 행동
Definition: HIVE_AuthV4.h:3906
std::function< void(ResultAPI const &result, std::shared_ptr< PlayerInfo > playerInfo)> onAuthV4Helper
AuthV4Helper API 요청 결과 통지
Definition: HIVE_AuthV4.h:2220
std::string did
사용자 device identifier.
Definition: HIVE_AuthV4.h:3678
static std::string stringProviderType(hive::ProviderType providerType)
Provider type으로 string 값을 얻어온다.
std::function< void(ResultAPI const &result, std::string loginToken)> onGetHiveTalkPlusLoginToken
getHiveTalkPlusLoginToken(AuthV4GetHiveTalkPlusLoginTokenListener) 호출 결과 통지 AuthV4....
Definition: HIVE_AuthV4.h:614
static void signIn(ProviderType providerType, onSignIn signInListener)
주어진 providerType 에 따라 signIn 을 요청 한다.
static void signInWithAuthKey(std::string authKey, onSignIn signInListener)
자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 signIn을 요청 한다.
static void showChatbotInquiry(std::string additionalInfo, onShowChatbotInquiry showChatbotInquiryListener)
HIVE 챗봇 1:1 문의 화면 호출
static void refreshAccessToken(onRefreshAccessToken refreshAccessTokenListener)
refreshAccessToken(AuthV4RefreshAccessTokenListener) 호출 결과 통지 AuthV4.refreshAccessToken() 에서 사용 Hive...
std::function< void(ResultAPI const &result, ProviderInfo const &providerInfo)> onCheckProvider
AuthV4 Provider 상태 조회 결과 통지 요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다.
Definition: HIVE_AuthV4.h:375
static void setup(onSetup setupListener)
AuthV4 초기화를 수행한다.
ProviderType
Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며 isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다.
Definition: HIVE_AuthV4.h:69
static void checkBlacklist(bool isShow, onMaintenance maintenanceListener)
현재 유저의 제재 상태를 체크한다.
static void checkProvider(ProviderType providerType, onCheckProvider checkProviderListener)
요청한 Provider 의 상태를 체크 한다.
std::function< void(ResultAPI const &result, std::string dateOfBirth)> onCheckAgeGate
생일 확인 팝업 호출 (AgeGate) 이용자의 생일값을 입력받는다.
Definition: HIVE_AuthV4.h:771
static void showSignIn(onSignIn signInListener)
사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다.
std::function< void(ResultAPI const &result)> onShowProfile
AuthV4 Profile UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:451
UserStatus
AgeRange API에서 사용되는 연령 상태 코드.
Definition: HIVE_AuthV4.h:143
std::function< void(ResultAPI const &result)> onDeletePlayerId
세션 정보 삭제 콜백 타입 정의 세션 정보 삭제 결과를 처리하는 콜백 함수 타입을 정의한다.
Definition: HIVE_AuthV4.h:684
std::function< void(ResultAPI const &result)> onStorePlayerId
현재 로그인된 세션을 저장하는 콜백 타입 정의 현재 로그인된 세션을 저장하는 기능에 대한 콜백 함수 타입을 정의한다.
Definition: HIVE_AuthV4.h:667
static void requestPermissionViewData(onAuthV4RequestPermissionViewData listener)
권한고지 팝업을 구성하기 위한 데이터를 얻습니다.
static void playerDelete(onSignOut playerDeleteListener)
계정을 삭제하고 로컬에 있는 세션을 제거 한다.
static void showMyInquiry(onShowMyInquiry showInquiryListener)
1:1 내문의 UI 를 띄운다.
static PlayerInfo getPlayerInfo()
현재 사인-인 된 유저의 정보를 반환 한다.
std::function< void(ResultAPI const &result)> onShowMyInquiry
AuthV4 내 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:516
std::function< void(ResultAPI const &result, bool isEnabled)> onAutoLoginEnabled
자동로그인 여부 설정 결과를 반환하는 리스너 타입
Definition: HIVE_AuthV4.h:788
static void checkAgeGate(bool useCloseButton, onCheckAgeGate checkAgeGateListener)
생일 확인 팝업을 호출한다.
std::function< void(ResultAPI const &result, AgeRange const &ageRange)> onGetAgeRange
AuthV4.getAgeRange() 호출 결과 값을 반환하는 리스너.
Definition: HIVE_AuthV4.h:752
static void getStoredPlayerIdList(onPlayerIdList playerIdListListener)
저장된 플레이어 ID 리스트를 반환한다.
static void getProviderFriendsList(ProviderType providerType, onGetProviderFriendsList getProviderFriendsListListener)
입력받은 providerType 에 해당하는 연결된 사용자의 친구들의 playerId 목록 정보를 얻어온다.
static void showAdultConfirm(onAdultConfirm adultConfirmListener)
성인 인증을 요청한다.
static void getProfile(std::vector< PlayerID > playerIdList, onGetProfile getProfileListener)
요청한 playerId 들의 프로필 정보를 반환한다.
static void storeCurrentPlayerId(onStorePlayerId storeListener)
현재 로그인된 세션을 저장한다.
static void selectConflict(PlayerID selectedPlayerId, onSignIn signInListener)
connect 로 인한 계정 충돌 상황 (CONFLICT_PLAYER) 일 때 유저를 선택 한다.
std::function< void(ResultAPI const &result, ProviderType providerType, std::map< std::string, PlayerID > providerUserIdList)> onGetProviderFriendsList
HIVE SDK 사용자 Provider 친구목록의 profile 요청 결과 통지.
Definition: HIVE_AuthV4.h:538
std::function< void(ResultAPI const &result)> onSignOut
AuthV4 사인-아웃 결과 통지
Definition: HIVE_AuthV4.h:246
std::function< void(ResultAPI const &result, std::vector< PlayerID > playerIdList)> onPlayerIdList
플레이어 ID 반환 콜백 타입 정의 플레이어 ID 반환 결과를 처리하는 콜백 함수 타입을 정의한다.
Definition: HIVE_AuthV4.h:650
std::function< void(ResultAPI const &result)> onResolveConflict
resolveConflict 호출 결과 통지 AuthV4.resolveConflict() 에서 사용 앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우...
Definition: HIVE_AuthV4.h:559
static void getHashedDi(onHashedDi hashedDiListener)
현재 로그인된 PlayerId에 연결된 해시된 DI 값을 조회하여 반환한다.
std::function< void(ResultAPI const &result, Identity const &data)> onIdentityVerification
본인 확인 결과 값을 반환하는 콜백 타입 정의 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:726
static void disconnectWithName(std::string providerName, onDisconnect disconnectListener)
현재 사인-인 된 유저에 요청한 커스텀 provider 와 연동을 해제 한다.
static void terminateProcess()
3rd party plugin 에 앱 종료 이벤트를 전달한다.
static ParentalConsentInfo getParentalConsentInfo()
보호자 동의 정보를 반환한다.
static void getHiveTalkPlusLoginToken(onGetHiveTalkPlusLoginToken getHiveTalkPlusLoginTokenListener)
getHiveTalkPlusLoginToken(AuthV4GetHiveTalkPlusLoginTokenListener) 호출 결과 통지 AuthV4....
std::function< void(ResultAPI const &result, std::vector< AuthV4MaintenanceInfo > const &maintenanceInfolist)> onMaintenance
AuthV4 서버 점검 조회 결과 통지 Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다.
Definition: HIVE_AuthV4.h:404
static void connect(ProviderType providerType, onConnect connectListener)
현재 사인-인 된 유저에 요청한 provider 와 연동 한다.
std::function< void(ResultAPI const &result, std::vector< ProfileInfo > const &profileInfoList)> onGetProfile
AuthV4 Profile Profile 정보 요청 결과 통지 프로필 서버에 요청한 playerId 들에 대한 profile 정보를 전달한다.
Definition: HIVE_AuthV4.h:429
static void disconnect(ProviderType providerType, onDisconnect disconnectListener)
현재 사인-인 된 유저에 요청한 provider 와 연동을 해제 한다.
static void showTerms(onShowTerms showTermsListener)
HIVE 약관 정보를 표시한다.
static void showProfile(PlayerID playerId, onShowProfile showProfileListener)
요청한 playerId 의 프로필 UI 를 표시한다.
static void checkMaintenance(bool isShow, onMaintenance maintenanceListener)
점검 상태 표시 및 데이터 반환한다.
static void resetAgreement()
약관동의 관련 데이터를 초기화 한다.
static void showDeviceManagement(onShowDeviceManagement showDeviceManagementListener)
기기 관리 서비스 UI 를 띄운다.
static void connectWithAuthKey(std::string authKey, onConnect connectListener)
자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 connect을 요청 한다.
std::function< void(ResultAPI const &result)> onShowInquiry
AuthV4 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:473
std::function< void(ResultAPI const &result, PlayerInfo const &conflictPlayer)> onConnect
AuthV4 Provider 연동 결과 통지
Definition: HIVE_AuthV4.h:282
static bool getAgeGateU13()
COPPA 13세 나이 제한 여부를 반환한다.
static void setAutoLoginEnabled(bool enabled, onAutoLoginEnabled autoLoginEnabledListener)
자동로그인 여부를 설정한다.
std::function< void(ResultAPI const &result, std::string hashedDi)> onHashedDi
현재 로그인된 PlayerId에 연결되어 있는 해시된 DI 값을 반환하는 콜백 타입 정의 현재 PlayerId에 연결된 해시된 DI 값을 반환한다.
Definition: HIVE_AuthV4.h:703
static void signInWithStoredPlayerId(PlayerID playerId, bool useAutoSignIn, onSignIn signInListener)
PlayerID를 이용하여 로그인 요청을 수행한다.
std::function< void(ResultAPI const &result)> onShowTerms
AuthV4 약관 다시보기 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:328
static void showConflictSelection(IConflictViewInfo const &viewInfo, onSignIn signInListener)
충돌상태에서 유저를 선택하는 UI 를 띄운다.
std::function< void(ResultAPI const &result, bool isAutoSignIn, std::string did, std::vector< ProviderType > const &providerTypeList)> onSetup
AuthV4 초기화 결과 통지
Definition: HIVE_AuthV4.h:195
std::function< void(ResultAPI const &result, PlayerInfo const &playerInfo)> onSignIn
AuthV4 사인-인 결과 통지
Definition: HIVE_AuthV4.h:225
static void deleteStoredPlayerId(PlayerID playerId, onDeletePlayerId deleteListener)
저장된 세션 정보를 삭제한다.
std::function< void(ResultAPI const &result)> onAdultConfirm
AuthV4 성인인증 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:350
AuthV4MaintenanceActionType
점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행 EXIT : 앱 종료 DONE : 아무 처리 하지 않고 점검 팝업 종료
Definition: HIVE_AuthV4.h:112
std::function< void(ResultAPI const &result)> onDisconnect
AuthV4 Provider 연동 해지 결과 통지 인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
Definition: HIVE_AuthV4.h:307
std::function< void(ResultAPI const &result)> onShowDeviceManagement
AuthV4 기기 관리 서비스 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:597
static void setProviderChangedListener(onCheckProvider checkProviderLisener)
연동된 Provider 의 정보가 바뀌었는지 통보 받는다.
static void resolveConflict(onResolveConflict resolveConflictListener)
connect 로 인해 계정이 충돌 된 상황 (CONFLICT_PLAYER) 을 해제 한다.
static void showInquiry(onShowInquiry showInquiryListener)
1:1 문의 UI 를 띄운다.
static void signOut(onSignOut signOutListener)
로컬에 있는 세션을 제거 한다.
static void showIdentityVerification(onIdentityVerification IdentityVerificationListener)
본인 확인을 요청한다.
static bool isAutoSignIn()
signIn(AUTO) 가 가능한지 여부를 반환한다.
std::function< void(ResultAPI const &result, const char *accessToken)> onRefreshAccessToken
refreshAccessToken(AuthV4RefreshAccessTokenListener) 호출 결과 통지 AuthV4.refreshAccessToken() 에서 사용 Hive...
Definition: HIVE_AuthV4.h:631
std::function< void(ResultAPI const &result)> onShowChatbotInquiry
AuthV4 챗봇 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:494