유니티 버전 : 2020.3.25f1
작업환경 : Mac (Monterey 12.2.1), 안드로이드
이번엔 파이어베이스(Firebase)를 이용하여 로그인 기능을 구현하려 합니다.
파이어베이스를 이용하는 이유는 그냥? 해보고 싶어서 입니다. ㅎ
제일 먼저 유니티 프로젝트를 안드로이드로 switch platform합니다.
파이어베이스를 유니티에서 사용하기 위한 준비는 아래 사이트에 잘 정리 되어 있습니다. 하나씩 천천히 하면 됩니다.
https://firebase.google.com/docs/unity/setup?hl=ko
Unity 프로젝트에 Firebase 추가 | Firebase Documentation
Join Firebase at Google I/O online May 11-12, 2022. Register now 의견 보내기 Unity 프로젝트에 Firebase 추가 plat_ios plat_android plat_unity Firebase Unity SDK를 활용하여 Unity 게임을 업그레이드 해보세요. Firebase를 Unity 프
firebase.google.com
파이어베이스 콘솔 https://console.firebase.google.com/
로그인 - Google 계정
하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인
accounts.google.com
파이어베이스 관련 유니티 패키지 zip파일을 다운 받으실 텐데, 확인해보니 dotnet4로 있어서 유니티를 dotnet4로 변경시킨 뒤 FirebaseAuth.unitypackage를 생성한 유니티 프로젝트에 추가합니다.
여기까지 되셨다면 이제 파이어베이스 콘솔에서 이메일을 이용한 로그인을 사용을 허용해주면 됩니다.
AuthController.cs를 생성하고 다음과 같이 작성합니다.
버튼을 누르면 동작되도록 작성했습니다.
AuthController.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Firebase.Auth;
public class AuthController : MonoBehaviour
{
public Text SignUpAuthID;
public Text SignUpAuthPW;
public Text SignInAuthID;
public Text SignInAuthPW;
public Text LogMessage;
string message;
FirebaseAuth auth;
void Start()
{
auth = FirebaseAuth.DefaultInstance;
}
private void FixedUpdate()
{
LogMessage.text = message;
}
public void SignUpClick()
{
signUp(SignUpAuthID.text, SignUpAuthPW.text);
Debug.Log("SignUp : " + SignUpAuthID.text + " " + SignUpAuthPW.text);
}
public void SignInClick()
{
signIn(SignInAuthID.text, SignInAuthPW.text);
Debug.Log("SignIn : " + SignInAuthID.text + " " + SignInAuthPW.text);
}
void signUp(string email, string password)
{
auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(
task => {
if (!task.IsCanceled && !task.IsFaulted)
{
message = email + " 로 회원가입 하셨습니다.";
}
else
{
message = "회원가입에 실패하셨습니다.";
}
}
);
}
void signIn(string email, string password)
{
auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(
task => {
if (task.IsCompleted && !task.IsFaulted && !task.IsCanceled)
{
message = email + " 로 로그인 하셨습니다.";
}
else
{
message = "로그인에 실패하셨습니다.";
}
}
);
}
}
하이어라키와 게임씬 화면입니다.
화면에서 왼쪽이 회원가입 오른쪽이 로그인 창입니다.
E-Mail과 Passeword를 입력하면 회원가입 및 로그인을 할 수 있습니다.
회원가입을 하게 되면 아래 사진처럼 파이어베이스 콘솔에 추가되어 있습니다.
구현영상 https://youtu.be/bNkASALkFpg
유니티 기반 게임,앱 개발해 드립니다. | 1000000원부터 시작 가능한 총 평점 0점의 IT·프로그래밍,
0개 총 작업 개수 완료한 총 평점 0점인 민또배기의 IT·프로그래밍, 2D·3D 게임 서비스를 0개의 리뷰와 함께 확인해 보세요. IT·프로그래밍, 2D·3D 게임 제공 등 1000000원부터 시작 가능한 서비스
kmong.com
'유니티 > Firebase' 카테고리의 다른 글
유니티 Push Alram (firebase - IOS) (0) | 2022.04.25 |
---|---|
유니티 Push Alram (firebase) (0) | 2022.04.21 |