5.1 계정 연동 SDK 예제

5.1. 계정 연동 SDK 예제

 


5.1.1. 계정 연동 예제

  • 기본 계정 연동 UI를 사용하는 계정 연동 API를 호출하면, 아래와 같이 어느 IDP를 사용할지 선택하는 창이 뜬다.

  • 만약 계정 연동 UI를 개발사에서 직접 구현하고 싶을 경우(기본 계정 연동 UI를 사용하고 싶지 않은 경우)를 위해서, IDP별 계정 연동 API가 제공된다.

    • 개발사에서 계정 연동 화면에, 각 IDP별 계정 연동 버튼을 배치하고, 각 버튼을 클릭했을 경우, 각각의 IDP별 계정 연동 API를 호출하도록 구현해야 한다.

5.1.2. 기본 계정 연동 UI를 사용하는 계정 연동하기

기본 계정 연동 UI를 사용하는 계정 연동 예제입니다.
게스트 인증, 한국에서 아이폰으로 SIWA 인증된 경우에만, 다른 IDP로 계정 연동이 가능합니다. 그렇지 않은 경우, 계정 연동 UI를 비활성화 하도록 합니다.
계정 연동에 성공하면, 플레이어 아이디는 계속 동일하게 유지됩니다.

Unity 예제

using Kakaogame.SDK;   // 기본 계정 연동 UI를 사용하는 계정 연동하기 KGSession.Connect(     (result) => {         if (result.isSuccess) {             // 계정 연동 성공             // Player ID 는 변경되지 않습니다.         }         else if (result.code == KGResultCode.NotAuthorized) {             // 현재 인증이 안되어 있는 경우         }         else if (result.code == KGResultCode.InvalidState) {             // 현재 인증 된 IDP가 게스트, 혹은 한국에서 아이폰으로 SIWA 인증이 아닌 경우         }         else if (result.code == KGResultCode.AlreadyUsedIDPAccount) {             // 이미 사용중인 IDP계정으로 연동을 시도한 경우         }         else {             // 그 밖의 에러         }     });

Android 예제

// 기본 계정 연동 UI를 사용하는 계정 연동하기 KGSession.connect(activity, idpCode, new KGResultCallback<Void>() {     @Override     public void onResult(KGResult<Void> result) {         if (result.isSuccess()) {             // 계정 연동 성공             // Player ID 는 변경되지 않습니다.         } else {             // 계정 연동 실패             if (result.getCode() == KGResult.KGResultCode.INVALID_PARAMETER) {                 // activity 가 null인 경우             } else if (result.getCode() == KGResult.KGResultCode.NOT_AUTHORIZED) {                 // 현재 인증이 안되어 있는 경우             } else if (result.getCode() == KGResult.KGResultCode.INVALID_STATE) {                 // 현재 인증 된 IDP가 게스트 인증이 아닌 경우             } else if (result.getCode() == KGResult.KGResultCode.ALREADY_USED_IDP_ACCOUNT) {                 // 이미 사용중인 IDP계정으로 연동을 시도한 경우             } else {                 // 그 밖의 에러             }         }     } });

iOS 예제

#import <KakaoGame/KakaoGame.h>    // 기본 계정 연동 UI를 사용하는 계정 연동하기 [KGSession connectWithCompletionHandler:^(NSError *error) {     if (IS_SUCCESS(error) == YES) {         // 계정 연동 성공         // Player ID 는 변경되지 않습니다.     }     else {         // 계정 연동 실패         if (error.code == KGErrorNotAuthorized) {             // 현재 인증이 안되어 있는 경우         }         else if (error.code == KGErrorInvalidState) {             // 현재 인증 된 IDP가 게스트, 혹은 한국에서 SIWA 인증이 아닌 경우         }         else if (error.code == KGErrorAlreadyUsedIdpAccount) {             // 이미 사용중인 IDP계정으로 연동을 시도한 경우         }         else {             // 그 밖의 에러         }     } }];

Unreal 예제

5.1.3. 기본 계정 연동 UI를 사용하지 않는 계정 연동하기

기본 계정 연동 UI를 사용하지 않는 계정 연동 예제입니다.
게스트 인증, 한국에서 아이폰으로 SIWA 인증된 경우에만, 다른 IDP로 계정 연동이 가능합니다. 그렇지 않은 경우, 계정 연동 UI를 비활성화 하도록 합니다.
계정 연동에 성공하면, 플레이어 아이디는 계속 동일하게 유지됩니다.

Unity 예제

Android 예제

iOS 예제

 Windows 동기식 예제

Windows 비동기식 예제

Unreal 예제

5.1.4. 기본 계정 연동 UI를 사용하지 않는 카카오 앱 to 웹 로그인 구현하기 (3.8.0 이상)

기본 계정 연동 UI를 사용하지 않는 계정 연동 시 카카오 앱 to 웹 로그인을 구현하는 예제입니다.

게스트 인증, 한국에서 아이폰으로 SIWA 인증된 경우에만,  다른 IDP로 계정 연동이 가능합니다. 그렇지 않은 경우, 계정 연동 UI를 비활성화 하도록 합니다.

계정 연동에 성공하면, 플레이어 아이디는 계속 동일하게 유지됩니다.

기존 3.8.0 미만의 버전에서는 카카오 로그인 호출 시 기본적으로 카카오톡 앱이 깔여있는 경우 앱 to 앱 인증만을 지원하였습니다.

아래 API를 이용하면 유저가 앱 혹은 웹 인증을 선택하여 로그인할 수 있도록 하거나 무조건 앱 to 웹 인증을 하도록 구현할 수 있습니다.

Unity 예제

Android 예제

iOS 예제

Unreal 예제