Book Mark
|
|
|
|
|
|
|
|
|
|
|
|
|
AuthV4 Helper 적용 Flow
hive.AuthV4.Helper.syncAccount (ProviderType providerType, onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#if UNITY_ANDROID // 전처리는 플렛폼에 따라 다름 AuthV4.ProviderType providerType = AuthV4.ProviderType.GOOGLE #elif UNITY_IPHONE // 전처리는 플렛폼에 따라 다름 AuthV4.ProviderType providerType = AuthV4.ProviderType.APPLE #endif AuthV4.Helper.syncAccount(providerType, (ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { case ResultAPI.Code.AuthV4AppleLoginCancel: //AuthV4.helper.showGameCenterLoginCancelDialog API를 호출하여 Game Center 취소 안내 문구를 노출하세요. break; case ResultAPI.Code.AuthV4ConflictPlayer: //계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; ... /* 추가로 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.checkProvider - AuthV4.selectConflict - AuthV4.resolveConflict */ } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#if __IOS__ // 전처리는 플렛폼에 따라 다름. ProviderType providerType = ProviderType::APPLE; #elif __ANDROID__ // 전처리는 플렛폼에 따라 다름. ProviderType providerType = ProviderType::GOOGLE; #endif AuthV4::Helper::syncAccount(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4AppleLoginCancel: //AuthV4.helper.showGameCenterLoginCancelDialog API를 호출하여 Game Center 취소 안내 문구를 노출하세요. break; case ResultAPI::Code::AuthV4ConflictPlayer: //계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; ... /* 추가로 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.checkProvider - AuthV4.selectConflict - AuthV4.resolveConflict */ } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
AuthV4.ProviderType providerType = AuthV4.ProviderType.GOOGLE; AuthV4.Helper.syncAccount(providerType, new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case AuthV4AppleLoginCancel: //AuthV4.helper.showGameCenterLoginCancelDialog API를 호출하여 Game Center 취소 안내 문구를 노출하세요. break; case AuthV4ConflictPlayer: //계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; ... /* 추가로 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.checkProvider - AuthV4.selectConflict - AuthV4.resolveConflict */ } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
HIVEProviderType providerType = kHIVEProviderTypeAPPLE; HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper syncAccount:providerType handler:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo){ switch (result.code) { case kAuthV4AppleLoginCancel: //AuthV4.helper.showGameCenterLoginCancelDialog API를 호출하여 Game Center 취소 안내 문구를 노출하세요. break; case kAuthV4ConflictPlayer: //계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; default: break; /* 추가로 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.checkProvider - AuthV4.selectConflict - AuthV4.resolveConflict */ } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4AppleLoginCancel | Game Center 로그인이 취소되었습니다. | AuthV4.helper.showGameCenterLoginCancelDialog API를 호출하여 Game Center 취소 안내 문구를 노출하세요. |
(필수 구현) AuthV4ConflictPlayer | [ Custom UI를 사용 하는 경우 ] 계정 충돌 상황이 발생하였습니다. | 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. |
AuthV4NotInitialized | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
AuthV4SigninFirst | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
AuthV4NotSupportedProviderType | HIVE 에서 지원하지 않는 Provider 입니다, | HIVE에서 지원하는 provider를 이용하여 시도해주세요. |
AuthV4.checkProvider API 응답 값과 동일한 응답 값 전달. | 계정 충돌 여부 확인을 위해 Provider에 로그인 시 에러가 발생하였습니다. | AuthV4.checkProvider ResultAPI 코드를 확인하세요. |
AuthV4.resolveConflict API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 충돌 상황이 발생하여 계정 전환을 시도 하던 중 에러가 발생하였습니다. | AuthV4.resolveConflict ResultAPI 코드를 확인하세요. |
AuthV4.selectConflict API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 충돌 상황이 발생하여 계정 전환을 시도 하던 중 에러가 발생하였습니다. | AuthV4.selectConflict ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.signIn (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4.Helper.signIn((ResultAPI result, AuthV4.PlayerInfo playerInfo) => { switch(result.code) { case ResultAPI.Code.AuthV4ConflictPlayer: // 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; case ResultAPI.Code.AuthV4HelperImplifiedLoginFail: // 명시적 로그인 UI를 노출하여 로그인을 진행하세요. break; ... // 추가로 AuthV4.showSignIn의 ResultAPI 코드가 전달될 수 있습니다. } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4::Helper::signIn([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4ConflictPlayer: // 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; case ResultAPI::Code::AuthV4HelperImplifiedLoginFail: // 명시적 로그인 UI를 노출하여 로그인을 진행하세요. break; ... // 추가로 AuthV4.showSignIn의 ResultAPI 코드가 전달될 수 있습니다. } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
AuthV4.Helper.signIn(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case AuthV4ConflictPlayer: // 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; case AuthV4HelperImplifiedLoginFail: // 명시적 로그인 UI를 노출하여 로그인을 진행하세요. break; ... // 추가로 AuthV4.showSignIn의 ResultAPI 코드가 전달될 수 있습니다. } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper signIn:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { case kAuthV4ConflictPlayer: // 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. break; case kAuthV4HelperImplifiedLoginFail: // 명시적 로그인 UI를 노출하여 로그인을 진행하세요. break; default: break; // 추가로 AuthV4.showSignIn의 ResultAPI 코드가 전달될 수 있습니다. } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4ConflictPlayer | [ Custom UI를 사용 하는 경우 ] 계정 충돌 상황이 발생하였습니다. | 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. |
(필수 구현) AuthV4HelperImplifiedLoginFail | [ Custom UI를 사용 하는 경우 ] 명시적 로그인 노출이 필요합니다. | 명시적 로그인 UI를 노출하여 로그인을 진행하세요. |
AuthV4NotInitialized | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
AuthV4AlreadyAuthorized | 기존에 로그인한 이력이 있습니다. | 기존에 로그인된 계정으로 로그인을 진행하기 위해 providerType을 Auto로 설정하여 signIn API를 호출해주세요. |
AuthV4InProgressSignIn | SignIn이 이미 진행 중입니다. | AuthV4.Helper.signIn API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4.showSignIn API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 명시적 로그인 UI를 노출하여 로그인을 시도하던 중 에러가 발생하였습니다. | AuthV4.showSignIn ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.signOut (onAuthV4Helper listener)
Unity
1 2 3 4 5 |
AuthV4.Helper.signOut ((ResultAPI result, AuthV4.PlayerInfo playerInfo) => { switch(result.code) { ... } }); |
C++
1 2 3 4 5 |
AuthV4::Helper::syncAccount(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { ... } }); |
Android
1 2 3 4 5 6 7 8 |
AuthV4.Helper.signOut(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { ... } } }); |
iOS
1 2 3 4 5 6 7 8 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper signOut:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { //... } }]; |
Code | Message | How to solve |
AuthV4.signOut API 응답 값과 동일한 응답 값 전달. | 로그아웃 진행 중 에러가 발생하였습니다. | AuthV4.signOut ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.connect (ProviderType providerType, onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
AuthV4.ProviderType providerType = AuthV4.ProviderType.HIVE; //connect 하고자 하는 provider를 넘겨줍니다. AuthV4.Helper.connect (providerType, (ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { case ResultAPI.Code.AuthV4AppleLoginCancel //계정 연동 실패되었음을 안내를 하세요. break; /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.connect - AuthV4.helper.showConflict - AuthV4.helper.switchAccount */ } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
ProviderType providerType = ProviderType::HIVE; //connect 하고자 하는 provider를 넘겨줍니다. AuthV4::Helper::connect(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4AppleLoginCancel //계정 연동 실패되었음을 안내를 하세요. break; /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.connect - AuthV4.helper.showConflict - AuthV4.helper.switchAccount */ } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
AuthV4.Helper.connect(providerType, new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case ResultAPI.Code.AuthV4AppleLoginCancel //계정 연동 실패되었음을 안내를 하세요. break; /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.connect - AuthV4.helper.showConflict - AuthV4.helper.switchAccount */ } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
HIVEProviderType providerType = kHIVEProviderTypeHIVE; //connect 하고자 하는 provider를 넘겨줍니다. HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper connect:providerType handler:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { case kAuthV4AppleLoginCancel: //계정 연동 실패되었음을 안내를 하세요. break; default: break; /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.connect - AuthV4.helper.showConflict - AuthV4.helper.switchAccount */ } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4AppleLoginCancel | [ Custom UI를 사용 하지 않는 경우 ] 유저가 이미 GameCenter 로그인을 취소한 적이 있습니다. | 계정 연동 실패되었음을 안내를 하세요. |
AuthV4InProgressSignIn | 계정 연동이 이미 진행 중입니다. | AuthV4.Helper.connect API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4InProgressConnect | 계정 연동이 이미 진행 중입니다. | AuthV4.Helper.connect API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4.connect API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하는 경우 ] 계정 연동 진행 중 에러가 발생하였습니다. | AuthV4.connect ResultAPI 코드를 확인하세요. |
AuthV4.helper.showConflict API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 연동 진행 후 계정 충돌 처리 진행 중 에러가 발생하였습니다. | AuthV4.helper.showConflict ResultAPI 코드를 확인하세요. |
AuthV4.helper.switchAccount API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 연동 진행 후 충돌 발생한 계정 전환 처리 진행 중 에러가 발생하였습니다. | AuthV4.helper.switchAccount ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.disconnect (ProviderType providerType, onAuthV4Helper listener)
Unity
1 2 3 4 5 6 |
AuthV4.ProviderType providerType = AuthV4.ProviderType.HIVE; //disconnect 하고자 하는 provider를 넘겨줍니다. AuthV4.Helper.disconnect (providerType, (ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다. } }); |
C++
1 2 3 4 5 6 |
ProviderType providerType = ProviderType::HIVE; //connect 하고자 하는 provider를 넘겨줍니다. AuthV4::Helper::disconnect(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다. } }); |
Android
1 2 3 4 5 6 7 8 9 |
AuthV4.ProviderType providerType = AuthV4.ProviderType.HIVE; //disconnect 하고자 하는 provider를 넘겨줍니다. AuthV4.Helper.disconnect(providerType, new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다. } } }); |
iOS
1 2 3 4 5 6 7 8 9 |
HIVEProviderType providerType = kHIVEProviderTypeHIVE; //disconnect 하고자 하는 provider를 넘겨줍니다. HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper disconnect:providerType handler:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다. } }]; |
Code | Message | How to solve |
AuthV4.disconnect API 응답 값과 동일한 응답 값 전달. | 계정 연동 해제 진행 중 에러가 발생하였습니다. | AuthV4.disconnect ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.showLeaderboard (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 |
AuthV4.Helper.showLeaderboard((ResultAPI result, AuthV4.PlayerInfo playerInfo) => { switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showLeaderBoard - providerApple.showLeaderBoard */ } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 |
AuthV4::Helper::showLeaderboard([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showLeaderBoard - providerApple.showLeaderBoard */ } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
AuthV4.Helper.showLeaderboard(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showLeaderBoard - providerApple.showLeaderBoard */ } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper showLeaderboard:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showLeaderBoard - providerApple.showLeaderBoard */ } }]; |
Code | Message | How to solve |
AuthV4NotInitialized | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
AuthV4SigninFirst | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
AuthV4InProgressShowLeaderboard | LeaderBoard 노출이 이미 진행 중입니다. | AuthV4.Helper.leaderboard API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4InProgressSignIn | SignIn이 이미 진행 중입니다. | AuthV4.Helper.signIn API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4AppleNotSupported | HIVE에 설정된 연동 가능한 Provider가 아닙니다. | HIVE에 해당 Provider 사용하도록 설정하세요. |
AuthV4.helper.syncAccount API 응답 값과 동일한 응답 값 전달. | 계정에 연동된 Provider 계정이 기기에 로그인 된 계정과 동일한지 체크하던 중 에러가 발생하였습니다. | AuthV4.helper.syncAccount ResultAPI 코드를 확인하세요. |
AuthV4.helper.connect API 응답 값과 동일한 응답 값 전달. | 기기에 로그인 된 계정을 현재 로그인 된 계정에 연동하던 중 에러가 발생하였습니다. | AuthV4.helper.connect ResultAPI 코드를 확인하세요. |
providerGoogle.showLeaderBoard API 응답 값과 동일한 응답 값 전달. | 각 OS에 맞는 Provider에 LeaderBoard 기능 호출 중 에러가 발생하였습니다. | 각각 providerGoogle.showLeaderBoard, providerApple.showLeaderBoard ResultAPI 코드를 확인하세요. |
providerApple.showLeaderBoard API 응답 값과 동일한 응답 값 전달. | 각 OS에 맞는 Provider에 LeaderBoard 기능 호출 중 에러가 발생하였습니다. | 각각 providerGoogle.showLeaderBoard, providerApple.showLeaderBoard ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.showAchievements (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 |
AuthV4.Helper.showAchievements((ResultAPI result, AuthV4.PlayerInfo playerInfo) => { switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showAchievements - providerApple.showAchievements */ } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 |
AuthV4::Helper::showAchievements([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showAchievements - providerApple.showAchievements */ } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
AuthV4.Helper.showAchievements(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showAchievements - providerApple.showAchievements */ } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper showAchievements:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.helper.syncAccount - AuthV4.helper.connect - providerGoogle.showAchievements - providerApple.showAchievements */ } }]; |
Code | Message | How to solve |
AuthV4NotInitialized | HIVE SDK 초기화가 되어있지 않습니다. | AuthV4.setup API를 호출하여 HIVE SDK 초기화를 수행하세요. API 보기 |
AuthV4SigninFirst | 로그인이 되어있지 않습니다. | AuthV4.helper.signIn API를 호출하여 로그인을 수행하세요. API 보기 |
AuthV4InProgressShowAchievements | ShowAchievements 노출이 이미 진행 중입니다. | AuthV4.Helper.showAchievements API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4InProgressSignIn | SignIn이 이미 진행 중입니다. | AuthV4.Helper.signIn API가 이미 수행 중인 경우 중복으로 API 호출이 불가능합니다. 이전 기능을 종료한 후 호출해 주세요. |
AuthV4AppleNotSupported | HIVE에 설정된 연동 가능한 Provider가 아닙니다. | HIVE에 해당 Provider 사용하도록 설정하세요. |
AuthV4.helper.syncAccount API 응답 값과 동일한 응답 값 전달. | 계정에 연동된 Provider 계정이 기기에 로그인 된 계정과 동일한지 체크하던 중 에러가 발생하였습니다. | AuthV4.helper.syncAccount ResultAPI 코드를 확인하세요. |
AuthV4.helper.connect API 응답 값과 동일한 응답 값 전달. | 기기에 로그인 된 계정을 현재 로그인 된 계정에 연동하던 중 에러가 발생하였습니다. | AuthV4.helper.connect ResultAPI 코드를 확인하세요. |
providerGoogle.showAchievements API 응답 값과 동일한 응답 값 전달. | 각 OS에 맞는 Provider에 업적 기능 호출 중 에러가 발생하였습니다. | 각각 providerGoogle.showAchievements, providerApple.showAchievements ResultAPI 코드를 확인하세요. |
providerApple.showAchievements API 응답 값과 동일한 응답 값 전달. | 각 OS에 맞는 Provider에 업적 기능 호출 중 에러가 발생하였습니다. | 각각 providerGoogle.showAchievements, providerApple.showAchievements ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.showConflict (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4.Helper.showConflict((ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.resolveConflict - AuthV4.selectConflict */ case ResultAPI.Code.AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4::Helper::showConflict([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.resolveConflict - AuthV4.selectConflict */ case ResultAPI::Code::AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
AuthV4.Helper.showConflict(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.resolveConflict - AuthV4.selectConflict */ case AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper showConflict:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { /* 아래 함수와 동일한 ResultAPI 코드가 전달됩니다. - AuthV4.resolveConflict - AuthV4.selectConflict */ case kAuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4ConflictPlayer | [ Custom UI를 사용 하는 경우 ] 계정 충돌 상황이 발생하였습니다. | 계정 충돌 UI를 노출하여 충돌 상황을 해결 할 수 있도록 하세요. |
AuthV4.resolveConflict API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 충돌 상황이 발생하여 계정 전환을 시도 하던 중 에러가 발생하였습니다. | AuthV4.resolveConflict ResultAPI 코드를 확인하세요. |
AuthV4.selectConflict API 응답 값과 동일한 응답 값 전달. | [ Custom UI를 사용 하지 않는 경우 ] 계정 충돌 상황이 발생하여 계정 전환을 시도 하던 중 에러가 발생하였습니다. | AuthV4.selectConflict ResultAPI 코드를 확인하세요. |
AuthV4NotRegisteredDevice | 인증되지 않은 디바이스 입니다. | 계정 충돌 시, 선택한 계정으로 전환하는 중에 기기 인증이 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. |
hive.AuthV4.Helper.showConflict (ConflictSingleViewInfo viewInfo, onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Int64 playerId = 10000000000; AuthV4.Helper.ConflictSingleViewInfo viewInfo = new AuthV4.Helper.ConflictSingleViewInfo(playerId); viewInfo.setValue("key_int",123); viewInfo.setValue("key_double",12.333); viewInfo.setValue("key_str","Player1"); AuthV4.Helper.showConflict(viewInfo, (ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { case ResultAPI.Code.AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.helper.showConflict와 동일한 ResultAPI 코드가 전달됩니다. case ResultAPI.Code.AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
PlayerID playerId = 10000000000; ConflictSingleViewInfo* info = new ConflictSingleViewInfo(playerId); info->SetValue("key_int", 123); info->SetValue("key_double", 12.333); info->SetValue("key_str", "Player1"); AuthV4::Helper::syncAccount(info, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.helper.showConflict와 동일한 ResultAPI 코드가 전달됩니다. case ResultAPI::Code::AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
long playerId = 10000000000l; AuthV4.Helper.ConflictSingleViewInfo viewInfo = new AuthV4.Helper.ConflictSingleViewInfo(playerId); viewInfo.setValue("key_int",123); viewInfo.setValue("key_double",12.333); viewInfo.setValue("key_str","Player1"); AuthV4.Helper.showConflict(viewInfo, new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.helper.showConflict와 동일한 ResultAPI 코드가 전달됩니다. case AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int64_t playerId = 10000000000; HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; HIVEConflictSingleViewInfo *viewInfo = [[HIVEConflictSingleViewInfo alloc] initWithPlayerId:playerId]; [viewInfo setValue:@"key_int" intValue:123]; [viewInfo setValue:@"key_double" doubleValue:12.333]; [viewInfo setValue:@"key_str" stringValue:@"Player1"]; [helper showConflict:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { case kAuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; //... //추가로 AuthV4.helper.showConflict와 동일한 ResultAPI 코드가 전달됩니다. case kAuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4PlayerChange | 계정이 전환되었습니다. | 전환된 계정으로 게임 플레이를 진행하도록 하세요. |
AuthV4InvalidConflictInfo | 계정 충돌이 발생되지 않은 상태입니다. | 계정 충돌이 발생되지 않은 상태입니다. 계정 충돌이 발생된 상황에서만 호출해주세요. |
AuthV4.showConflict API 응답 값과 동일한 응답 값 전달. | 계정 충돌 해소 UI 노출 중 에러가 발생하였습니다. | AuthV4.showConflict ResultAPI 코드를 확인하세요. |
AuthV4NotRegisteredDevice | 인증되지 않은 디바이스 입니다. | 계정 충돌 시, 선택한 계정으로 전환하는 중에 기기 인증이 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. |
hive.AuthV4.Helper.switchAccount (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4.Helper.switchAccount((ResultAPI result, AuthV4.PlayerInfo playerInfo) => { switch(result.code) { case ResultAPI.Code.AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.selectConflict와 동일한 ResultAPI 코드가 전달됩니다. case ResultAPI.Code.AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
C++
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4::Helper::switchAccount([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.selectConflict와 동일한 ResultAPI 코드가 전달됩니다. case ResultAPI::Code::AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
AuthV4.Helper.switchAccount(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case AuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; ... //추가로 AuthV4.selectConflict와 동일한 ResultAPI 코드가 전달됩니다. case AuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper switchAccount:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { case kAuthV4PlayerChange: //전환된 계정으로 게임 플레이를 진행하도록 하세요. break; //... //추가로 AuthV4.selectConflict와 동일한 ResultAPI 코드가 전달됩니다. case kAuthV4NotRegisteredDevice: // 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. break; } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4PlayerChange | 계정이 전환되었습니다. | 전환된 계정으로 게임 플레이를 진행하도록 하세요. |
AuthV4InvalidConflictInfo | 계정 충돌이 발생되지 않은 상태입니다. | 계정 충돌이 발생되지 않은 상태입니다. 계정 충돌이 발생된 상황에서만 호출해주세요. |
AuthV4.selectConflict API 응답 값과 동일한 응답 값 전달. | 계정 충돌 발생한 계정으로 전환 중 에러가 발생하였습니다. | AuthV4.selectConflict ResultAPI 코드를 확인하세요. |
AuthV4NotRegisteredDevice | 인증되지 않은 디바이스 입니다. | 계정 충돌 시, 선택한 계정으로 전환하는 중에 기기 인증이 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요. |
hive.AuthV4.Helper.resolveConflict (onAuthV4Helper listener)
Unity
1 2 3 4 5 6 7 8 9 |
AuthV4.Helper.resolveConflict((ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{ switch(result.code) { case ResultAPI.Code.AuthV4PlayerResolved: //기존의 계정으로 게임 플레이를 지속하세요. break; ... //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다. } }); |
C++
1 2 3 4 5 6 7 8 9 |
AuthV4::Helper::resolveConflict([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){ switch(result.code) { case ResultAPI::Code::AuthV4PlayerResolved: //기존의 계정으로 게임 플레이를 지속하세요. break; ... //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다. } }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 |
AuthV4.Helper.resolveConflict(new AuthV4.Helper.AuthV4HelperListener() { @Override public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) { switch(result.code) { case AuthV4PlayerResolved: //기존의 계정으로 게임 플레이를 지속하세요. break; ... //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다. } } }); |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 |
HIVEAuthV4Helper *helper = [HIVEAuthV4 helper]; [helper resolveConflict:^(HIVEResultAPI *result, HIVEPlayerInfo *playerInfo) { switch (result.code) { case kAuthV4PlayerResolved: //기존의 계정으로 게임 플레이를 지속하세요. break; //... //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다. } }]; |
Code | Message | How to solve |
(필수 구현) AuthV4PlayerResolved | 계정 전환이 진행되지 않았습니다. | 기존의 계정으로 게임 플레이를 지속하세요. |
AuthV4InvalidConflictInfo | 계정 충돌이 발생되지 않은 상태입니다. | 계정 충돌이 발생되지 않은 상태입니다. 계정 충돌이 발생된 상황에서만 호출해주세요. |
AuthV4.resolveConflict API 응답 값과 동일한 응답 값 전달. | 계정 충돌 상황 해소 진행 중 에러가 발생하였습니다. | AuthV4.resolveConflict ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.getIDPList ()
Code | Message | How to solve |
Result API 없음 |
hive.AuthV4.Helper.showGameCenterLoginCancelDialog ()
Code | Message | How to solve |
Result API 없음 |