1인 개발/PushAndSlash

푸쉬앤슬래시 개인 프로젝트 27일차

잼잼재미 2024. 6. 20. 16:56

구현 내용


1. 구글 로그인 구현


게임 접속 시, 자동으로 구글 로그인 구현

 

 

public void GPGSLogin()
{
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status)
{
    if (status == SignInStatus.Success)
    {
        string displayName = PlayGamesPlatform.Instance.GetUserDisplayName();   // 유저가 변경 가능
        string userID = PlayGamesPlatform.Instance.GetUserId(); // 유저가 변경 불가능

        Debug.Log("로그인 성공, " + "DisplayName : " + displayName + ", UserID : " + userID);
    }
    else
    {
        Debug.Log("로그인 실패");
    }
}

 

 

https://kkln2486.tistory.com/442

 

구글 로그인 구현

1. Google Play Games plugin 추가https://github.com/playgameservices/play-games-plugin-for-unity/releases Releases · playgameservices/play-games-plugin-for-unityGoogle Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-uni

kkln2486.tistory.com

 

 

2. 뒤끝 로그인, 회원가입 구현


구글 로그인 시, 생성된 고유의 ID로 뒤끝 로그인 진행, 로그인을 실패한다면 회원가입 진행 후, 로그인 하도록 구현

 

 

뒤끝 초기화

private void BackendSetup()
{
    BackendReturnObject bro = Backend.Initialize(true); // 뒤끝 초기화

    // 뒤끝 초기화에 대한 응답값
    if (bro.IsSuccess())
    {
        Debug.Log("뒤끝 서버 연동 성공 : " + bro); // 성공일 경우 statusCode 204 Success
    }
    else
    {
        Debug.LogError("뒤끝 서버 연동 실패 : " + bro); // 실패일 경우 statusCode 400대 에러 발생
    }
}

 

 

뒤끝 회원가입

public void SignUp()
{
    BackendReturnObject bro = Backend.BMember.CustomSignUp("ID", "PASSWORD");
    if (bro.IsSuccess())
    {
        Debug.Log("회원가입에 성공했습니다");
    }
}

 

 

뒤끝 로그인

public void Login()
{
    BackendReturnObject bro = Backend.BMember.CustomLogin("ID", "PASSWORD");
    if (bro.IsSuccess())
    {
        Debug.Log("로그인에 성공했습니다");
    }
    else
    {
        Debug.Log("로그인에 실패했습니다");
    }
}

 

 

https://kkln2486.tistory.com/441

 

뒤끝 시작하기

뒤끝이란?온라인 게임 개발 및 운영을 위해 필요한 서버와 데이터베이스 구축을 손쉽게 할 수 있는 서버 시스템. 직접 서버를 개발하지 않아도 되기 때문에, 개발 기간을 단축할 수 있다.    

kkln2486.tistory.com

 

 

3. 뒤끝 데이터 송수신 구현


유니티 에디터나 모바일에서 수정된 데이터를 서버로 전송

 

 

https://kkln2486.tistory.com/445

 

뒤끝 회원가입, 로그인, 데이터 송수신

회원가입 public void SignUp(){ BackendReturnObject bro = Backend.BMember.CustomSignUp("ID", "PASSWORD"); if (bro.IsSuccess()) { Debug.Log("회원가입에 성공했습니다"); }} * 뒤끝 서버 연동 후, 사용 가능  로그인public void Login

kkln2486.tistory.com

 

 

 

회고


랭킹 구현을 위해서는 서버에서 유저의 데이터를 관리해야한다. 그래서 게임 접속 시, 로그인이나 회원가입 방법이 필요했고, 그 유저의 데이터를 관리하는 방법이 필요했다. 일단 사용할 수 있는 서버는 다양했다. 그 중 뒤끝 서버를 사용하기로 결정한 큰 이유는 많은 기능이 이미 구현되어 있어서 간단한 방법만 익히면 되기 때문이다. 단점은 일정 사용량을 초과 시, 발생하는 사용료가 타 서버에 비해서 많이 비싸다는 것이다. 하지만 포트폴리오용으로 개발 후, 출시하는 것이기 때문에 그렇게 많은 유저가 생길 것이라고 생각하지 않기 때문에 뒤끝 서버를 사용하는 것이 좋다고 판단했다. 그리고 구글 로그인을 위해 GPGS를 구현한 이유는 게임 실행 시, 구글 로그인을 하게 되면 해당 구글 아이디마다 고유 ID가 생성되는데, 그 고유 ID로 뒤끝 서버에 로그인을 시도하고 회원가입을 하는 과정을 자동으로 실행하기 위해서다. 즉, 시중에 출시된 게임과 같이 게입 접속 시, 자동으로 로그인, 회원가입을 하고, 하나의 계정에서는 하나의 유저만 등록 가능하도록 하기 위해서다. 뒤끝 서버가 비교적 사용 방법이 간단하다고 하지만 초기화나 데이터 송수신 부분에서 생각보다 구현하기 어려웠다. 그리고 GPGS의 경우도 설정해야 하는 부분이 많았기 때문에 총 3일 정도 소요된 것 같다. 이제 모바일에서 로그인, 회원가입, 데이터 송수신 기능까지 완료했기 때문에 본격적으로 랭킹 시스템을 구현하도록 하겠다!