HIVE SDK for iOS

HIVEAuthV4.h
이 파일의 문서화 페이지로 가기
1 //
2 // HIVEAuthV4.h
3 // Hive_v2_source
4 //
5 // Created by Arkeo Lucid on 2017. 3. 22..
6 // Copyright © 2017년 COM2US. All rights reserved.
7 //
8 
55 #import <Foundation/Foundation.h>
56 
57 @class HIVEResultAPI;
58 @class HIVEProviderInfo;
59 @class HIVEPlayerInfo;
60 @class HIVEProfileInfo;
62 @class HIVEAuthV4Helper;
63 @class HIVEAuthV4MaintenanceExtraButton;
64 @class HIVEPermissionViewData;
65 
66 typedef NSString HIVEProviderTypeStr;
67 
82 typedef NS_ENUM(NSUInteger, HIVEProviderType) {
83  kHIVEProviderTypeGUEST = 0,
84  kHIVEProviderTypeHIVE,
85  kHIVEProviderTypeFACEBOOK,
86  kHIVEProviderTypeGOOGLE,
87  kHIVEProviderTypeQQ,
88  kHIVEProviderTypeWEIBO,
89  kHIVEProviderTypeVK,
90  kHIVEProviderTypeWECHAT,
91  kHIVEProviderTypeAPPLE,
92  kHIVEProviderTypeSIGNIN_APPLE,
93  kHIVEProviderTypeAUTO = 99
94 };
95 
96 
114 typedef NS_ENUM(NSInteger, HIVEAuthV4MaintenanceActionType) {
115  kHIVEAuthV4MaintenanceActionTypeOPEN_URL = 1,
116  kHIVEAuthV4MaintenanceActionTypeEXIT,
117  kHIVEAuthV4MaintenanceActionTypeDONE
118 };
119 
127 typedef NS_ENUM(NSUInteger, HIVEAuthV4MaintenanceDialogType) {
128 
129  kHIVEAuthV4MaintenanceDialogDefault = 0,
130  kHIVEAuthV4MaintenanceDialogBlacklist = 1,
131 };
132 
158 typedef void (^HIVEAuthV4SetupHandler) (HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray<NSNumber *> *providerTypeList);
159 
160 
188 typedef void (^HIVEAuthV4SignInHandler) (HIVEResultAPI *result, HIVEPlayerInfo *playerInfo);
189 
190 
208 typedef void (^HIVEAuthV4SignOutHandler) (HIVEResultAPI *result);
209 
210 
244 typedef void (^HIVEAuthV4ConnectHandler) (HIVEResultAPI *result, HIVEPlayerInfo *conflictPlayer);
245 
246 
269 typedef void (^HIVEAuthV4DisconnectHandler) (HIVEResultAPI *result);
270 
271 
292 
293 
317 typedef void (^HIVEAuthV4GetProfileHandler) (HIVEResultAPI *result, NSArray<HIVEProfileInfo *> *profileInfoList);
318 
319 
340 typedef void(^HIVEProviderFriendsCallback)(HIVEResultAPI* result, HIVEProviderType providerType, NSDictionary<NSString*,NSNumber*> *providerUserIdList);
341 
342 
363 typedef void (^HIVEAuthV4ShowProfileHandler) (HIVEResultAPI *result);
364 
365 
385 typedef void (^HIVEAuthV4ShowCafeHandler) (HIVEResultAPI *result);
386 
387 
407 typedef void (^HIVEAuthV4ShowInquiryHandler) (HIVEResultAPI *result);
408 
409 
428 typedef void (^HIVEAuthV4ShowTermsHandler) (HIVEResultAPI *result);
429 
430 
451 // REMOVE: 성인인증 안씀
453 
454 
477 typedef void (^HIVEAuthV4CheckProviderHandler) (HIVEResultAPI *result, HIVEProviderInfo *providerInfo);
478 
479 
506 typedef void (^HIVEAuthV4MaintenanceHandler) (HIVEResultAPI *result, NSArray<HIVEAuthV4MaintenanceInfo *> *maintenanceInfolist);
507 
521 typedef void (^HIVEAuthV4DialogDismissHandler) (BOOL isDismiss);
522 
523 // MARK: -
524 // MARK: HIVEPlayerInfo
525 
546 @interface HIVEProfileInfo : NSObject <NSCopying>
547 
548  @property (nonatomic) int64_t playerId;
549  @property (nonatomic, copy) NSString *playerName;
550  @property (nonatomic, copy) NSString *playerImageUrl;
551 
552 - (NSString *)toJson;
553 
554 - (NSString*)privacySafeDescription;
555 
556 @end
557 
558 
581 @interface HIVEPlayerInfo : HIVEProfileInfo <NSCopying>
582 
583  @property (nonatomic, copy) NSString *playerToken;
584  @property (nonatomic, copy) NSString *did;
585  @property (nonatomic, copy) NSDictionary<HIVEProviderTypeStr *, HIVEProviderInfo *> *providerInfoData;
586 
587 - (NSString *)toJson;
588 - (NSString *)privacySafeDescription;
589 
590 @end
591 
592 
593 // MARK: -
594 // MARK: HIVEProviderInfo
595 
617 @interface HIVEProviderInfo : NSObject <NSCopying>
618 
619  @property (nonatomic) HIVEProviderType providerType;
620  @property (nonatomic, copy) NSString *providerUserId;
621 
622 
631 // MOVE: 외부 노출 필요? -> impl로 이동 필요. Authv1도 동일한 확인 필요. (확인)
632 + (NSString *)stringProviderType:(HIVEProviderType)providerType;
633 
634 
643 // MOVE: 외부 노출 필요? -> impl로 이동 필요. Authv1도 동일한 확인 필요. (확인)
644 + (HIVEProviderType)providerTypeFromString:(NSString *)typeString;
645 
646 - (NSString *)toJson;
647 
648 @end
649 
650 
651 // MARK: -
652 // MARK: HIVEAuthV4MaintenanceInfo
653 
681 @interface HIVEAuthV4MaintenanceInfo : NSObject <NSCopying>
682 
683  @property (nonatomic, copy) NSString *title;
684  @property (nonatomic, copy) NSString *message;
685  @property (nonatomic, copy) NSString *button;
686  @property (nonatomic) HIVEAuthV4MaintenanceActionType action;
687  @property (nonatomic, copy) NSString *url;
688  @property (nonatomic, copy) NSString *startDate;
689  @property (nonatomic, copy) NSString *endDate;
690  @property (nonatomic) NSInteger remainingTime;
691  //TODO : 주석 오탈자 확인 (확인)
692  //EDIT : Authv1부분에서 동일하게 확인 후 편집 필요 (확인)
693  @property (nonatomic, copy) NSString *customerButton;
694  @property (nonatomic, copy) NSString *customerLink;
695 
696  @property (nonatomic, copy) NSMutableArray *exButtons;
697 
698 - (NSString *)toJson;
699 
700 @end
701 
702 
703 @interface HIVEAuthV4MaintenanceExtraButton : NSObject <NSCopying>
704 
705  @property (nonatomic) HIVEAuthV4MaintenanceActionType action;
706  @property (nonatomic, copy) NSString *url;
707  @property (nonatomic, copy) NSString *button;
708 
709 - (NSString *)toJson;
710 
711 @end
712 
713 
714 // MARK: -
715 // MARK: HIVEAuthV4
716 
720 @interface HIVEAuthV4 : NSObject
721 
722 + (HIVEAuthV4Helper*)helper;
723 
773 + (void)setup:(HIVEAuthV4SetupHandler)handler;
774 
775 
822 + (void)signIn:(HIVEProviderType)providerType handler:(HIVEAuthV4SignInHandler)handler;
823 
824 
847 + (void)signOut:(HIVEAuthV4SignOutHandler)handler;
848 
849 
916 + (void)connect:(HIVEProviderType)providerType handler:(HIVEAuthV4ConnectHandler)handler;
917 
918 
954 + (void)disconnect:(HIVEProviderType)providerType handler:(HIVEAuthV4DisconnectHandler)handler;
955 
956 
990 + (void)selectConflict:(int64_t)selectedPlayerId handler:(HIVEAuthV4SignInHandler)handler;
991 
992 
1022 + (void)resolveConflict:(HIVEAuthV4ResolveConflictHandler)handler;
1023 
1024 
1058 + (BOOL)isAutoSignIn;
1059 
1060 
1085 + (HIVEPlayerInfo *)getPlayerInfo;
1086 
1087 
1109 + (void)getProfile:(NSArray<NSNumber *> *)playerIdList handler:(HIVEAuthV4GetProfileHandler)handler;
1110 
1111 
1112 
1137 + (void)getProviderFriendsList:(HIVEProviderType)providerType handler:(HIVEProviderFriendsCallback)handler;
1138 
1139 
1140 
1162 + (void)showSignIn:(HIVEAuthV4SignInHandler)handler;
1163 
1164 
1206 + (void)showConflictSelection:(NSDictionary<NSString *, NSObject *> *)currentPlayerData
1207  conflictPlayerData:(NSDictionary<NSString *, NSObject *> *)conflictPlayerData
1208  handler:(HIVEAuthV4SignInHandler)handler;
1209 
1210 
1234 + (void)showProfile:(int64_t)playerId handler:(HIVEAuthV4ShowProfileHandler)handler;
1235 
1236 
1256 + (void)showCafe:(HIVEAuthV4ShowCafeHandler)handler;
1257 
1258 
1278 + (void)showInquiry:(HIVEAuthV4ShowInquiryHandler)handler;
1279 
1280 
1304 + (void)showTerms:(HIVEAuthV4ShowTermsHandler)handler;
1305 
1306 
1328 // REMOVE: 성인인증
1329 + (void)showAdultConfirm:(HIVEAuthV4AdultConfirmHandler)handler;
1330 
1366 + (void)checkProvider:(HIVEProviderType)providerType handler:(HIVEAuthV4CheckProviderHandler)handler;
1367 
1368 
1404 + (void)checkMaintenance:(BOOL)isShow handler:(HIVEAuthV4MaintenanceHandler)handler;
1405 
1406 
1438 + (void)checkBlacklist:(BOOL)isShow handler:(HIVEAuthV4MaintenanceHandler)handler;
1439 
1440 
1468 + (void)setProviderChangedListener:(HIVEAuthV4CheckProviderHandler)handler;
1469 
1470 
1484 + (void)reset;
1485 
1486 + (void)showGameCenterLoginCancelDialog:(HIVEAuthV4DialogDismissHandler)handler;
1487 
1488 + (void)setFacebookPermission:(NSArray *) permission;
1489 
1508 + (bool)getAgeGateU13;
1509 
1524 + (void)requestPermissionViewData:(void(^)(HIVEResultAPI *result, HIVEPermissionViewData *data))handler __deprecated_msg("Use Configration.getPermissionViewData");
1525 
1526 @end
1527 
void(^ HIVEAuthV4CheckProviderHandler)(HIVEResultAPI *result, HIVEProviderInfo *providerInfo)
AuthV4 Provider 상태 조회 결과 통지 요청한 Provider 로 Login 이 되어있지 않으면 Login 까지 시도한다...
Definition: HIVEAuthV4.h:477
사인-인 유저의 정보 프로필 정보 (ProfileInfo) 와 함께 유저의 토큰과 DID 값이 포함되어 있다...
Definition: HIVEAuthV4.h:581
void(^ HIVEAuthV4GetProfileHandler)(HIVEResultAPI *result, NSArray< HIVEProfileInfo *> *profileInfoList)
AuthV4 Profile Profile 정보 요청 결과 통지 프로필 서버에 요청한 playerId 들에 대한 profile 정보를 전...
Definition: HIVEAuthV4.h:317
void(^ HIVEAuthV4MaintenanceHandler)(HIVEResultAPI *result, NSArray< HIVEAuthV4MaintenanceInfo *> *maintenanceInfolist)
AuthV4 서버 점검 조회 결과 통지 Configuration 에 설정한 ServerId 로 점검상태 여부를 체크한다...
Definition: HIVEAuthV4.h:506
void(^ HIVEAuthV4DisconnectHandler)(HIVEResultAPI *result)
AuthV4 Provider 연동 해지 결과 통지 인증 서버에 disconnect 상황을 전달하고 이후 요청한 Provider 를 Lo...
Definition: HIVEAuthV4.h:269
void(^ HIVEAuthV4SignInHandler)(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo)
AuthV4 사인-인 결과 통지
Definition: HIVEAuthV4.h:188
Definition: HIVEResultAPI.h:25
NSString * playerImageUrl
사용자 image url. PlayerName과 마찬가지로 처음 연결된 Provider의 정보로 채워지며, HIVE와 연동시 변경...
Definition: HIVEAuthV4.h:550
서버 점검 및 업데이트 상태 표시 정보 title : 점검 제목 message : 점검 내용 button : 버튼의 Text 문...
Definition: HIVEAuthV4.h:681
void(^ HIVEAuthV4ShowCafeHandler)(HIVEResultAPI *result)
AuthV4 Cafe UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVEAuthV4.h:385
void(^ HIVEAuthV4AdultConfirmHandler)(HIVEResultAPI *result)
AuthV4 성인인증 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVEAuthV4.h:452
void(^ HIVEAuthV4ShowProfileHandler)(HIVEResultAPI *result)
AuthV4 Profile UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVEAuthV4.h:363
int64_t playerId
사용자 Player ID
Definition: HIVEAuthV4.h:548
void(^ HIVEAuthV4ResolveConflictHandler)(HIVEResultAPI *result)
resolveConflict 호출 결과 통지 AuthV4.resolveConflict() 에서 사용 앱 내에서 로그아웃 할 수 없는 IDP ...
Definition: HIVEAuthV4.h:291
HIVE 인증의 고도화 된 기능을 제공한다 이 클래스에서 제공하는 상세 기능은 다음과 같다...
Definition: HIVEAuthV4Helper.h:275
void(^ HIVEProviderFriendsCallback)(HIVEResultAPI *result, HIVEProviderType providerType, NSDictionary< NSString *, NSNumber *> *providerUserIdList)
HIVE SDK 사용자 Provider 친구목록의 profile 요청 결과 통지.
Definition: HIVEAuthV4.h:340
void(^ HIVEAuthV4ShowTermsHandler)(HIVEResultAPI *result)
AuthV4 약관 다시보기 정보 표시 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVEAuthV4.h:428
NSString * playerName
사용자 Player name. 처음 연결된 Provider의 정보로 채워지며, HIVE 와 연동시 변경이 가능하다...
Definition: HIVEAuthV4.h:549
프로바이더 정보 연결된 프로바이더의 UserId 를 포함하고 있다.
Definition: HIVEAuthV4.h:617
void(^ HIVEAuthV4SignOutHandler)(HIVEResultAPI *result)
AuthV4 사인-아웃 결과 통지
Definition: HIVEAuthV4.h:208
typedef NS_ENUM(NSUInteger, HIVEProviderType)
Provider 형태 정의 여기서 AUTO 는 자동로그인의 용도로 쓰이며 isAutoSignIn() 이 true 일 경우 SignIn ...
Definition: HIVEAuthV4.h:82
유저의 프로필 정보 playerID : 유저의 고유한 ID playerName : 외부에 보여질 유저의 닉네임...
Definition: HIVEAuthV4.h:546
void(^ HIVEAuthV4ConnectHandler)(HIVEResultAPI *result, HIVEPlayerInfo *conflictPlayer)
AuthV4 Provider 연동 결과 통지
Definition: HIVEAuthV4.h:244
void(^ HIVEAuthV4DialogDismissHandler)(BOOL isDismiss)
AuthV4 Game Center 로그인 안내 팝업 결과 통지
Definition: HIVEAuthV4.h:521
void(^ HIVEAuthV4ShowInquiryHandler)(HIVEResultAPI *result)
AuthV4 1:1 문의 UI 요청 결과 통지 UI 창이 닫히면 호출 된다.
Definition: HIVEAuthV4.h:407
void(^ HIVEAuthV4SetupHandler)(HIVEResultAPI *result, BOOL isAutoSignIn, NSString *did, NSArray< NSNumber *> *providerTypeList)
AuthV4 초기화 결과 통지
Definition: HIVEAuthV4.h:158
Copyright © GAMEVIL COM2US PLATFORM Inc. All Right Reserved. 이용약관 개인정보 처리방침