해당 강의는 PC환경에 최적화 된 글 입니다.
목록 바로가기
https://cheolmini.tistory.com/53
[뒤끝 파헤치기] #02. 회원가입 및 로그인
뒤끝 파헤치기 두번째 강의글 입니다.
동기, 비동기식으로 회원가입 및 로그인을 시도 해볼것입니다.
해당 강의에서 처음 등장한 클래스 입니다.
참고 바랍니다.
https://developer.thebackend.io/unity3d/guide/utils/BackendReturnObject/
공통 으로 쓸 함수
// 전역 변수로 선언
[Header("Login & Register")]
public InputField ID;
public InputField PW;
// 에러 코드 확인
void Error(string errorCode)
{
switch (errorCode)
{
case "DuplicatedParameterException":
print("중복된 사용자 아이디 입니다.");
break;
case "BadUnauthorizedException":
print("잘못된 사용자 아이디 혹은 비밀번호 입니다.");
break;
default:
break;
}
}
동기 방식
1. 회원가입 함수
Backend.BMember.CustomSignUp ( "id" , "password" );
입력된 아이디 와 비밀번호를 통해 회원가입을 진행합니다.
// 동기방식 회원가입
public void Register()
{
BackendReturnObject BRO = Backend.BMember.CustomSignUp(ID.text, PW.text);
if (BRO.IsSuccess()) print("동기방식 회원가입 성공");
else Error(BRO.GetErrorCode());
}
2. 로그인 함수
Backend.BMember.CustomLogin( "id", "password" );
회원가입을 한 아이디 와 비밀번호를 통해 로그인을 진행합니다.
// 동기방식 로그인
public void Login()
{
BackendReturnObject BRO = Backend.BMember.CustomLogin(ID.text, PW.text);
if (BRO.IsSuccess()) print("동기방식 로그인 성공");
else Error(BRO.GetErrorCode());
}
비동기 방식
1. Update 함수
비동기 방식은 메인 쓰레드가 아니기 때문에 리턴되는 BackendReturnObject를 Update() 문에서 SaveToken(BackendReturnObject)를 통해 처리해 주어야 합니다.
// 비동기 회원가입 및 로그인을 구현 할때 사용할 변수
BackendReturnObject bro = new BackendReturnObject();
bool isSuccess = false;
// 비동기 메소드는 update()문에서 SaveToken을 꼭 적용해야 합니다.
void Update()
{
#region 회원가입 및 로그인(비동기)
if (isSuccess)
{
// SaveToken( BackendReturnObject bro ) -> void
// 비동기 메소드는 update()문에서 SaveToken을 꼭 적용해야 합니다.
BackendReturnObject saveToken = Backend.BMember.SaveToken(bro);
if (saveToken.IsSuccess()) print("비동기 로그인 성공");
else Error(bro.GetErrorCode());
isSuccess = false;
bro.Clear();
}
#endregion
}
2. 회원가입 함수
BackendAsyncClass.BackendAsync(Backend.BMember.CustomSignUpAsync, "id" , "password", ( callback ) => { // 이후처리 });
// 비동기 방식 회원가입
public void RegisterAsync()
{
BackendAsyncClass.BackendAsync(Backend.BMember.CustomSignUpAsync, ID.text, PW.text, (callback) =>
{
bro = callback;
isSuccess = true;
});
}
3. 로그인 함수
BackendAsyncClass.BackendAsync(Backend.BMember.CustomLoginAsync, "id", "password", (callback) => { // 이후처리 });
// 비동기 방식 로그인
public void LoginAsync()
{
BackendAsyncClass.BackendAsync(Backend.BMember.CustomLoginAsync, ID.text, PW.text, (callback) =>
{
bro = callback;
isSuccess = true;
});
}
UI 구성하기
저는 InputField 2개, 버튼 4개로 구성하였습니다.
필요에 따라 버튼을 구성해주세요
이전 강의에서 만든 ServerManager에 InputField 연결해주세요.
각 버튼 마다 OnClick 을 사용해 함수를 연결해주세요.
결과
동기와 비동기 방식의 차이점은 한줄씩 실행하느냐에 차이입니다.
동기는 한줄 실행후 다음 줄을 실행하고
비동기는 한줄 실행 후 바로 넘어갑니다. 그렇기 때문에 업데이트 함수를 통하여 결과값을 확인합니다.
아래 움짤을 확인해 보시면 확실하게 차이가 느껴집니다
(움직이는 원 확인)
참고 글
https://developer.thebackend.io/unity3d/guide/bmember/signup_login/
모든 프로젝트는 깃 허브에 업데이트 할 예정입니다.
https://github.com/CM-Games/BackEnd
읽어 주셔서 감사합니다.
검색어
뒤끝베이스
뒤끝강좌
뒤끝
뒤끝매치
뒤끝챗
유니티뒤끝
백앤드
유니티백앤드
유니티서버
유니티데이터저장
뒤끝기초
뒤끝서버
'Unity > 뒤끝' 카테고리의 다른 글
[뒤끝 파헤치기] #04. 유저 정보 생성,수정 (3) | 2020.07.17 |
---|---|
[뒤끝 파헤치기] #03. 로그아웃 및 회원탈퇴 (0) | 2020.07.16 |
[뒤끝 파헤치기] #01. 시작하기 (1) | 2020.07.14 |
[뒤끝 파헤치기] 목록 (0) | 2020.07.13 |
[뒤끝 파헤치기] #00. 시작 하기에 앞서.. (0) | 2020.07.12 |