콘텐츠로 이동

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)

AuthV4.Helper.signOut ((ResultAPI result, AuthV4.PlayerInfo playerInfo) => {
    switch(result.code) {
        ...
    }
});
AuthV4::Helper::syncAccount(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){
    switch(result.code) {
        ...
    }
});
AuthV4.Helper.signOut(new AuthV4.Helper.AuthV4HelperListener() {
    @Override
    public void onAuthV4Helper(ResultAPI result, AuthV4.PlayerInfo playerInfo) {
        switch(result.code) {
        ...
        }
    }
});
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)

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, (ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{
    switch(result.code) {
        //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다.
    }   
});
ProviderType providerType = ProviderType::HIVE; //connect 하고자 하는 provider를 넘겨줍니다.
AuthV4::Helper::disconnect(providerType, [](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){
    switch(result.code) {
        //AuthV4.disconnect와 ResultAPI 코드가 전달됩니다.
    }  
});
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((ResultAPI result, AuthV4.PlayerInfo playerInfo) => {
    switch(result.code) {
    /*
        아래 함수와 동일한 ResultAPI 코드가 전달됩니다.
        - AuthV4.helper.syncAccount
        - AuthV4.helper.connect
        - providerGoogle.showLeaderBoard
        - providerApple.showLeaderBoard
        */
    }
});
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
        */
    }
});
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((ResultAPI result, AuthV4.PlayerInfo playerInfo) => {
    switch(result.code) {
        /*
        아래 함수와 동일한 ResultAPI 코드가 전달됩니다.
        - AuthV4.helper.syncAccount
        - AuthV4.helper.connect
        - providerGoogle.showAchievements
        - providerApple.showAchievements
        */
    }
});
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
        */
    }
});
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((ResultAPI result, AuthV4.PlayerInfo playerInfo) =>{
    switch(result.code) {
        case ResultAPI.Code.AuthV4PlayerResolved:
        //기존의 계정으로 게임 플레이를 지속하세요.
        break;
        ...
        //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다.
    }   
});
AuthV4::Helper::resolveConflict([](ResultAPI const & result, std::shared_ptr<PlayerInfo> playerInfo){
    switch(result.code) {
        case ResultAPI::Code::AuthV4PlayerResolved:
        //기존의 계정으로 게임 플레이를 지속하세요.
        break;
        ...
        //추가로 AuthV4.resolveConflict와 동일한 ResultAPI 코드가 전달됩니다.
    }
});
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 코드가 전달됩니다.
        }
    }
});
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 없음