본문으로 건너뛰기
버전: 5.9.6

사전 준비

로그인/회원가입 기능을 구현하기 위해서는 다음과 같은 작업들이 사전에 준비되어있어야합니다.

  1. 뒤끝 초기화 로직 삽입
  2. 뒤끝 로그인/회원가입 전용 스크립트 생성

1. 뒤끝 초기화 로직 스크립트 생성

해당 예제는 뒤끝 개발자 문서 - 시작하기Step 9번 이후의 로직을 다루고 있습니다.
따라서 해당 예제를 원활하게 테스트하기 위해서는 시작하기의 초기화 로직이 작성되어 있어야합니다.

BackendManager.cs의 파일 위치는 테스트에 영향을 미치지 않습니다.

BackendManager.cs 스크립트

시작하기의 초기화 로직에 이어 동기 함수를 비동기에서 호출해주는 Test함수를 추가합니다.

수정 전

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 뒤끝 SDK namespace 추가
using BackEnd;

public class BackendManager : MonoBehaviour {
void Start() {
var bro = Backend.Initialize(true); // 뒤끝 초기화

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

수정 후

using UnityEngine;
using System.Threading.Tasks; // [변경] async 기능을 이용하기 위해서는 해당 namepsace가 필요합니다.

// 뒤끝 SDK namespace 추가
using BackEnd;

public class BackendManager : MonoBehaviour {
void Start() {
var bro = Backend.Initialize(true); // 뒤끝 초기화

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

Test();
}

// =======================================================
// [추가] 동기 함수를 비동기에서 호출하게 해주는 함수(유니티 UI 접근 불가)
// =======================================================
async void Test() {
await Task.Run(() => {
// 추후 테스트 케이스 추가
Debug.Log("테스트를 종료합니다.");
});
}
}

2. 로그인 전용 스크립트 생성

새로운 스크립트를 생성하고 이름을 BackendLogin으로 수정합니다.

BackendLogin.cs

이후 BackendLogin.cs 스크립트를 열어 내용을 다음과 같이 수정합니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 뒤끝 SDK namespace 추가
using BackEnd;

public class BackendLogin {
private static BackendLogin _instance = null;

public static BackendLogin Instance {
get {
if(_instance == null) {
_instance = new BackendLogin();
}

return _instance;
}
}

public void CustomSignUp(string id, string pw) {
// Step 2. 회원가입 구현하기 로직
}

public void CustomLogin(string id, string pw) {
// Step 3. 로그인 구현하기 로직
}

public void UpdateNickname(string nickname) {
// Step 4. 닉네임 변경 구현하기 로직
}
}