#include "KakaoGameV4.h"
// 로그인 하고자 하는 IdpCode 셋팅
EKGTIdpCode idpCode = EKGTIdpCode::Kakao;
// 특정 idp로 로그인 하기
FKGTPlayer::Login(idpCode, FKGTResultDelegate::CreateLambda([=](FKGTResult result)
{
if (result.IsSuccess())
{
// 플랫폼에서 발급한 현재 Player의 ID
FString playerId = FKGTPlayer::GetCurrentPlayer().GetPlayerId();
// 플랫폼 엑세스 토큰
FString accessToken = FKGTPlayer::GetAccessToken();
// 현재 IDP 인증 정보를 가져옴
FKGTIdpProfile idpProfile = FKGTPlayer::GetCurrentPlayer().GetIdpProfile();
// [TODO] 로그인이 성공하였으므로 게임 화면으로 이동합니다.
}
else
{
// IDP 로그인 혹은 플랫폼 로그인 실패
// [TODO] 로그인 실패 시 사용자 안내 후 재 시도 하도록 하여야 합니다.
int32 resultCode = result.GetCode();
if (resultCode == FKGTResultCode::NetworkFailure || resultCode == FKGTResultCode::ServerTimeout || resultCode == FKGTResultCode::ServerConnectionFailed)
{
// [TODO] 네트워크 에러가 발생한 경우에는 유저에게 네트워크 이슈로 스타트에 실패했음을 알리고 재시도
}
else if (resultCode == FKGTResultCode::Forbidden)
{
// [TODO] CBT기간동안 허용된 유저외에는 인증이 불가능 할 수 있습니다. 유저에게 안내메시지 처리가 필요합니다.
}
else if (resultCode == FKGTResultCode::UserCanceled)
{
// [TODO] 사용자가 로그인 진행 중 취소한 상황이므로 로그인 화면을 유지 하여야 합니다.
}
else
{
// [TODO] 나머지 에러가 발생한 경우에는 에러 안내 후 로그인 재시도 요청 하여야 합니다. - 에러코드 및 로그 확인 후 원인 파악이 필요합니다.
}
}
})); |