파이어베이스 기본 설정은 아래 문서의 2번까지 하고 오시면 됩니다.
https://ruen346.tistory.com/93
1. 로그인 설정
프로젝트에 들어가서 빌드 -> Authentication 클릭
시작하기를 눌러 준다
이번엔 이메일로 로그인을 구현을 할려고 하니 이메일/비밀번호를 눌러준다
사용 설정이 되었는지 확인을 한다
로그인 추가로 인해 json이 변경이 되어 다시 다운받아야 한다
프로젝트 개요 우측 설정 버튼을 누르고 프로젝트 설정을 눌러준다
google-services.json 을 다운 받아 기존에 다운 받은 경로에 덮어준다
기존에 로그 구현할때는 Analytics를 사용하였는데
이번에는 그 아래에 있는 FirebaseAuth.unitypackage를 더블클릭하여 임포트 해준다.
2. 코드 작성
이제 코드를 작성해 주어야 하는데 간단하게 가입과 로그인을 할 수 있는 코드를 작성해보았다
using Firebase.Auth;
using UnityEngine;
using UnityEngine.UI;
public class IDManager : MonoBehaviour
{
public InputField emailField;
public InputField passwordField;
public Text text;
public string email;
public string password;
private FirebaseAuth firebaseAuth;
private void Awake()
{
firebaseAuth = FirebaseAuth.DefaultInstance;
}
public void OnClickSignInButton()
{
email = emailField.text;
password = passwordField.text;
firebaseAuth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task =>
{
if (task.IsCanceled)
{
text.text = "가입 취소";
return;
}
if (task.IsFaulted)
{
text.text = "가입 실패";
return;
}
text.text = "가입 성공";
});
}
public void OnClickSignUpButton()
{
email = emailField.text;
password = passwordField.text;
firebaseAuth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task =>
{
if (task.IsCanceled)
{
text.text = "로그인 취소";
return;
}
if (task.IsFaulted)
{
text.text = "로그인 실패";
return;
}
text.text = "로그인 성공";
});
}
}
이메일과 비밀번호를 입력할 수 있는 Field를 만들고 가입과 로그인 버튼을 만들었다
정보 Text에는 가입과 로그인이 성공하였는지 출력을 시켜 주었다
테스트는 빌드를 하여야 정상적으로 가능하다
빌드하여 테스트 하였는데 가입이 실패하는 경우가 많아 정리를 해본다
먼저 email과 password에는 공백이 있으면 안된다
공백을 제거해 주는 함수를 써도 되는데
emailField.text.Trim()
위와 같이 처리해 줘도 된다
그리고 비밀번호는 6자리 이상이 되어야 한다
이게 생각보다 예외 처리를 해야하는 부분이 많은것 같아 좀 더 찾아봐야 할 것 같다
이제 페이지의 Authentication에 들어가면 가입한 아이디가 표시되게 된다
'가이드 > Unity, C#' 카테고리의 다른 글
Unity/C# string.indexof(string) is culture-specific (0) | 2022.05.12 |
---|---|
유니티 파이어베이스 데이터베이스 저장/불러오기 (0) | 2022.03.20 |
유니티/C# 리스트(list) 오름차순, 내림차순 정렬 (0) | 2022.03.15 |
유니티/C# InvalidOperationException: Collection was modified; enumeration operation may not execute. 오류 해결법 (0) | 2022.03.14 |
유니티(Unity) cannot resolve symbol 'StartCoroutine' 해결법 (0) | 2022.03.04 |
댓글