Result API code AuthV4 Helper
Book Mark
syncAccount | signIn | signOut | connect | disconnect |
---|---|---|---|---|
showLeaderboard | showAchievements | showConflict | showConflict Info | switchAccount |
resolveConflict | getIDPList | showGameCenterLoginCancelDialog |
AuthV4 Helper 적용 Flow¶
hive.AuthV4.Helper.syncAccount (ProviderType providerType, onAuthV4Helper listener)¶
#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
*/
}
});
#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
*/
}
});
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
*/
}
}
});
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)¶
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 코드가 전달될 수 있습니다.
}
});
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 코드가 전달될 수 있습니다.
}
});
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 코드가 전달될 수 있습니다.
}
}
});
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)¶
Code | Message | How to solve |
---|---|---|
AuthV4.signOut API 응답 값과 동일한 응답 값 전달. | 로그아웃 진행 중 에러가 발생하였습니다. | AuthV4.signOut ResultAPI 코드를 확인하세요. |
hive.AuthV4.Helper.connect (ProviderType providerType, onAuthV4Helper listener)¶
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
*/
}
});
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
*/
}
});
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
*/
}
}
});
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)¶
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 코드가 전달됩니다.
}
}
});
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)¶
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
*/
}
}
});
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)¶
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
*/
}
}
});
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)¶
AuthV4.Helper.showConflict((ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{
switch(result.code) {
/*
아래 함수와 동일한 ResultAPI 코드가 전달됩니다.
- AuthV4.resolveConflict
- AuthV4.selectConflict
*/
case ResultAPI.Code.AuthV4NotRegisteredDevice:
// 기기 인증에 실패하여 로그인이 해제된 경우입니다. AUTO로 재로그인을 시도하거나 로그아웃하세요.
break;
}
});
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;
}
});
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;
}
}
});
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)¶
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;
}
});
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;
}
});
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;
}
}
});
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)¶
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;
}
});
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;
}
});
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;
}
}
});
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)¶
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 코드가 전달됩니다.
}
}
});
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 없음 |