45#ifndef __HIVE_AUTHV4_H__
46#define __HIVE_AUTHV4_H__
52#include "HIVE_PermissionView.h"
85 ,GOOGLE_PLAY_GAMES = 14
114typedef long long PlayerID;
120class IConflictViewInfo;
121class ConflictSingleViewInfo;
123class HIVESDK_DLLEXPORT AuthV4 {
152 typedef std::function<void(
ResultAPI const & result,
bool isAutoSignIn,std::string did,std::vector<ProviderType>
const & providerTypeList )>
onSetup;
361 typedef std::function<void(
ResultAPI const & result,std::vector<AuthV4MaintenanceInfo>
const & maintenanceInfolist)>
onMaintenance;
386 typedef std::function<void(
ResultAPI const & result,std::vector<ProfileInfo>
const & profileInfoList)>
onGetProfile;
531 typedef std::function<void(
bool isDismiss)> onAuthV4DialogDismiss;
533 typedef std::function<void(
ResultAPI const & result,PermissionViewData
const & data)> onAuthV4RequestPermissionViewData;
1464 static void showGameCenterLoginCancelDialog(onAuthV4DialogDismiss listener);
1539 static void executeEngine(picojson::value jsonParam);
1575 class HIVESDK_DLLEXPORT Helper {
3099 static void executeEngine(picojson::value jsonParam);
3103class HIVESDK_DLLEXPORT IConflictViewInfo {
3105 virtual ~IConflictViewInfo(){}
3106 virtual std::string toJsonConflict()
const = 0;
3107 virtual std::string toJsonCurrent()
const = 0;
3110class HIVESDK_DLLEXPORT ConflictSingleViewInfo :
public IConflictViewInfo{
3117 virtual ~ConflictSingleViewInfo();
3119 void SetValue(
const std::string key,
const long long playerData);
3120 void SetValue(
const std::string key,
const double playerData);
3121 void SetValue(
const std::string key,
const std::string playerData);
3122 void SetCharValue(
const char* key,
const char* playerData);
3124 std::string toJsonConflict()
const override;
3125 std::string toJsonCurrent()
const override;
3127 std::string jsonData;
3143 void SetValue(
const std::string key,
const long long currentPlayerData,
const long long conflictPlayerData);
3144 void SetValue(
const std::string key,
const double currentPlayerData,
const double conflictPlayerData);
3145 void SetValue(
const std::string key,
const std::string currentPlayerData,
const std::string conflictPlayerData);
3146 void SetCharValue(
const char* key,
const char* currentPlayerData,
const char* conflictPlayerData);
3148 std::string toJsonConflict()
const override;
3149 std::string toJsonCurrent()
const override;
3151 std::string jsonConflict;
3152 std::string jsonCurrent;
3185 std::string playerName;
3186 std::string playerImageUrl;
3223 std::map<ProviderType, hive::ProviderInfo> providerInfoData;
3224 std::map<std::string, hive::ProviderInfo> customProviderInfoData;
3259 std::string providerName;
3330 HIVESDK_DLLEXPORT
const char* AuthV4GetPlayerInfo();
3331 HIVESDK_DLLEXPORT
void AuthV4ShowChatbotInquiry(
const char* additionalInfo, hive::AuthV4::onShowChatbotInquiry showChatbotInquiryListener);
3333 HIVESDK_DLLEXPORT
void AuthV4SignInWithAuthKey(
const char* authKey, hive::AuthV4::onSignIn signInListener);
3336 HIVESDK_DLLEXPORT
void AuthV4ConnectWithAuthKey(
const char* authKey, hive::AuthV4::onConnect connectListener);
3337 HIVESDK_DLLEXPORT
void AuthV4DisconnectWithName(
const char* providerName, hive::AuthV4::onDisconnect disconnectListener);
3341 HIVESDK_DLLEXPORT
const char* AuthV4HelperGetIDPList();
서버 점검 및 업데이트 상태 표시 정보 title : 점검 제목 message : 점검 내용 button : 버튼의 Text 문구 ex) 확인 action : 버튼을 눌렀을때 ...
Definition: HIVE_AuthV4.h:3311
HIVE 인증 충돌시 view에 표시할 UI data를 구성하는 정보.
Definition: HIVE_AuthV4.h:3133
사인-인 유저의 정보 프로필 정보 (ProfileInfo) 와 함께 유저의 토큰과 DID 값이 포함되어 있다.
Definition: HIVE_AuthV4.h:3211
유저의 프로필 정보 playerID : 유저의 고유한 ID playerName : 외부에 보여질 유저의 닉네임, 처음 연결된 Provider 의 정보로 채워지며 HIVE 멤버쉽으...
Definition: HIVE_AuthV4.h:3175
프로바이더 정보 연결된 프로바이더의 UserId 를 포함하고 있다.
Definition: HIVE_AuthV4.h:3254
Definition: HIVE_ResultAPI.h:63
@ OPEN_URL
외부 부라우저로 전달된 url 을 실행
@ AUTO
게스트 로그인이나 HIVE 로그인되어 있는 상태 (단말에 세션키가 남아 있는 상태)
std::string providerEmail
Provider의 사용자 email (optional)
Definition: HIVE_AuthV4.h:3261
static void showLeaderboard(onAuthV4Helper listener)
리더보드 조회
static void showConflict(ConflictSingleViewInfo const &viewInfo, onAuthV4Helper listener)
충돌 상태를 알려주고 사용할 계정을 선택할 수 있고, 게임 정보를 같이 표현할 수 있는 HIVE UI 를 보여준다.
std::string endDate
점검종료일 YYYY-mm-dd HH:ii
Definition: HIVE_AuthV4.h:3320
std::string playerToken
사용자 Player 세션 토큰.
Definition: HIVE_AuthV4.h:3220
static hive::ProviderType providerTypeFromString(const std::string typeString)
Provider string값으로 type을 얻어온다.
static void signOut(onAuthV4Helper listener)
사용자 로그아웃
std::string providerUserId
< Provider의 이름.
Definition: HIVE_AuthV4.h:3260
static void showAchievements(onAuthV4Helper listener)
업적 조회
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:3319
std::string button
버튼의 Text 문구 ex) 확인
Definition: HIVE_AuthV4.h:3316
static void signIn(onAuthV4Helper listener)
사용자 로그인
static void connect(ProviderType providerType, onAuthV4Helper listener)
Provider 연결
std::string url
action 이 OPEN_URL 일 경우에 브라우징 될 URL
Definition: HIVE_AuthV4.h:3318
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:3314
static void disconnect(ProviderType providerType, onAuthV4Helper listener)
Provider 연결 해제
static void switchAccount(onAuthV4Helper listener)
계정 Conflict가 발생한 경우 현재 로그인 된 사용자를 로그아웃 시키고, 기기에 연결된 계정으로 로그인을 시도한다.
hive::PlayerID playerId
사용자 Player ID
Definition: HIVE_AuthV4.h:3184
ConflictSingleViewInfo(hive::PlayerID playerId)
생성자
static std::vector< ProviderType > getIDPList()
SDK에서 제공하는 Provider의 목록을 받는다.
static void showGameCenterLoginCancelDialog(onAuthV4DialogDismiss listener)
Game Center 로그인창을 표시할 수 없는 경우, 해당 상태를 보여주고, Game Center 로그인 방법을 안내하는 UI를 띄운다.
int remainingTime
EXIT 일 경우 점검 완료까지 남은 초단위 시간. 시간은 실시간 갱신되며 0초가 되면 앱 종료
Definition: HIVE_AuthV4.h:3321
std::string message
점검 내용
Definition: HIVE_AuthV4.h:3315
static void achievementsIncrement(const std::string achievementId, const int value, onAuthV4Helper listener)
업적 수치 증가.
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:3258
static void achievementsUnlock(const std::string achievementId, onAuthV4Helper listener)
업적 달성.
hive::AuthV4MaintenanceActionType action
버튼을 눌렀을때 동작될 행동
Definition: HIVE_AuthV4.h:3317
std::function< void(ResultAPI const &result, std::shared_ptr< PlayerInfo > playerInfo)> onAuthV4Helper
AuthV4Helper API 요청 결과 통지
Definition: HIVE_AuthV4.h:1762
std::string did
사용자 device identifier.
Definition: HIVE_AuthV4.h:3221
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:571
static void signIn(ProviderType providerType, onSignIn signInListener)
주어진 providerType 에 따라 signIn 을 요청 한다.
static void reset()
인증 정보를 포함하여 SDK 에서 사용하는 모든 데이터 초기화 한다.
static void signInWithAuthKey(std::string authKey, onSignIn signInListener)
자체 구현한 커스텀 로그인 후 획득한 authKey 값으로 signIn을 요청 한다.
static void showChatbotInquiry(std::string additionalInfo, onShowChatbotInquiry showChatbotInquiryListener)
HIVE 챗봇 1:1 문의 화면 호출
std::function< void(ResultAPI const &result, ProviderInfo const &providerInfo)> onCheckProvider
AuthV4 Provider 상태 조회 결과 통지 요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다.
Definition: HIVE_AuthV4.h:332
static void setup(onSetup setupListener)
AuthV4 초기화를 수행한다.
ProviderType
Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며 isAutoSignIn() 이 true 일 경우 SignIn 시 AUTO 로 입력해 주면 된다.
Definition: HIVE_AuthV4.h:70
static void checkBlacklist(bool isShow, onMaintenance maintenanceListener)
현재 유저의 제재 상태를 체크한다.
static void checkProvider(ProviderType providerType, onCheckProvider checkProviderListener)
요청한 Provider 의 상태를 체크 한다.
static void showSignIn(onSignIn signInListener)
사인-인 을 할 수 있는 Provider 목록이 있는 UI 를 띄운다.
std::function< void(ResultAPI const &result)> onShowProfile
AuthV4 Profile UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:408
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:473
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 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:495
std::function< void(ResultAPI const &result)> onSignOut
AuthV4 사인-아웃 결과 통지
Definition: HIVE_AuthV4.h:203
std::function< void(ResultAPI const &result)> onResolveConflict
resolveConflict 호출 결과 통지 AuthV4.resolveConflict() 에서 사용 앱 내에서 로그아웃 할 수 없는 IDP (Apple GameCenter)의 경우...
Definition: HIVE_AuthV4.h:516
static void disconnectWithName(std::string providerName, onDisconnect disconnectListener)
현재 사인-인 된 유저에 요청한 커스텀 provider 와 연동을 해제 한다.
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:361
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:386
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 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:430
std::function< void(ResultAPI const &result, PlayerInfo const &conflictPlayer)> onConnect
AuthV4 Provider 연동 결과 통지
Definition: HIVE_AuthV4.h:239
static bool getAgeGateU13()
COPPA 13세 나이 제한 여부를 반환한다.
std::function< void(ResultAPI const &result)> onShowTerms
AuthV4 약관 다시보기 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:285
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:152
std::function< void(ResultAPI const &result, PlayerInfo const &playerInfo)> onSignIn
AuthV4 사인-인 결과 통지
Definition: HIVE_AuthV4.h:182
std::function< void(ResultAPI const &result)> onAdultConfirm
AuthV4 성인인증 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:307
AuthV4MaintenanceActionType
점검 화면에서 버튼을 눌렀을때 동작될 행동 OPEN_URL : 외부 브라우저로 전달된 URL 을 실행 EXIT : 앱 종료 DONE : 아무 처리 하지 않고 점검 팝업 종료
Definition: HIVE_AuthV4.h:108
std::function< void(ResultAPI const &result)> onDisconnect
AuthV4 Provider 연동 해지 결과 통지 인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Logout 시킨다.
Definition: HIVE_AuthV4.h:264
std::function< void(ResultAPI const &result)> onShowDeviceManagement
AuthV4 기기 관리 서비스 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:554
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 bool isAutoSignIn()
signIn(AUTO) 가 가능한지 여부를 반환한다.
std::function< void(ResultAPI const &result)> onShowChatbotInquiry
AuthV4 챗봇 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVE_AuthV4.h:451