구글 페더레이션으로 자동 로그인을 구현하는데,
유저가 기존에 존재하지 않다면 회원가입 및 로그인을 동시에 진행하게 되잖아요?
그럼, 최초 로그인 유저 (회원가입 유저) 는 게임 DB를 인서트하고 닉네임 최초 설정을 하게 하고싶다면
CheckUserInBackend 메서드를 써서 아래와 같이 코딩하면 될까요?
private void GPGSLogin()
{
// 페더레이션 유저의 뒤끝 가입 여부 확인
var checkUserResult = Backend.BMember.CheckUserInBackend(GetTokens(), FederationType.Google);
// 로그인 (회원가입)
BackendReturnObject bro = Backend.BMember.AuthorizeFederation(GetTokens(), FederationType.Google, "GPGS");
if (checkUserResult.GetStatusCode() == "200")
{
// 이미 가입한 유저
UiManager.SetStartUi(false);
UiManager.SetGameUi(true);
}
else
{
// 가입하지 않은 유저
BackendGameData.Instance.GameDataInsert();
UiManager.SetStartUi(false);
UiManager.SetnicknameUi(true);
}
}
추가로, GPGS 로그인 예제를 봤는데,
아래와 같이 이미 로그인 된 경우를 포함하여 로그인 로직이 총 두번 들어가더라구요.
public void OnClickLogin()
{
// 이미 로그인 된 경우
if (Social.localUser.authenticated == true)
{
GPGSLogin();
}
else
{
Social.localUser.Authenticate((bool success) => {
if (success)
{
GPGSLogin();
}
else
{
// 로그인 실패
Debug.Log("Login failed for some reason");
}
});
}
}
저 경우엔 기존 CustomLogin으로 아이디가 있던 유저들을 위한 코드인가요?
아니면 로그인 후, 로컬 기기에 유저의 토큰이 남아있을 때 바로 로그인하는 코드인가요?
읽어주셔서 감사합니다!