유니티 Firebase로 로그인 구현 - 1
Intro
Firebase는 서버 없이도 손쉽게 백엔드 기능을 구현할 수 있도록해주는 기능이다.
Firebase는 주로 아래의 기능들을 제공한다.
- 인증(로그인)
- 실시간 데이터베이스
- 클라우드 저장소
- 분석
Firebase를 사용하여 로그인 기능을 만들거나, 게임내의 랭킹등을 구현할 수 있다.
이번 포스팅에서는 Firebase를 사용하여 로그인기능을 만들어보려고한다.
Firebase 사용법
Firebase를 사용하기위해 Firebase 홈페이지에서 회원가입을 진행한다.
화면 우측상단의 Go to Console 를 눌러 프로젝트 페이지로 이동한다.
그다음, Firebase 프로젝트 만들기를 선택한다.
프로젝트 이름을 입력한다.
Google 애널리틱스 계정을 선택한다.
없다면 새로 생성한다.
프로젝트가 만들어졌다면, 프로젝트 페이지에서 만들어진 프로젝트를 확인할 수 있다.
유니티와 앱을 연동하기위해 아래 버튼을 클릭한다.
Apple 또는 Android로 앱을 등록할 수 있다.
나는 Android로 등록하였다.
여기에 Android 패키지 이름은 유니티엔진의 [File] - [Build Settings] - [PlayerSettings] - [Other Settings] - [Identification Pacakage Name]에서 설정할 수 있다.
Android 플랫폼을 사용하기위해 플랫폼을 스위칭 해주어야한다.
다음으로 google-services.json 파일을 다운로드받고, 프로젝트의 Assets 폴더에 넣어준다.
그러면 알아서 StreamingAssets 폴더가 생성되고, 아래에 파일이 생성된다.
Firebase SDK를 다운로드받고, 로그인 기능을 위해 FirebaseAuth.unitypackage 파일을 임포트해준다.
다시 Firebase 프로젝트로 돌아가서, 왼쪽 카테고리의 “빌드” 탭에서 Authentication 을 클릭한다.
여러가지 로그인 방법을 선택할 수 있는데, 간단하게 이메일로 로그인할 수 있도록 해보았다.
프로젝트 설정을 눌러 아래의 내 앱에서
디지털 지문 추가를 선택한다.
디지털 지문을 추가하기위해 유니티엔진의 keystore 생성이 필요하다.
Keystore Manager를 통해 새로운 keystore를 생성한다.
-
반드시 keystore의 비밀번호와 alias의 비밀번호를 기억해두어야한다. 나중에 찾을 방법없음.
-
생성된 keystore의 위치를 지정해주자. 나는 프로젝트 내에 위치하도록하였다.
-
Windows의 Terminal을 열어 keystore가 있는 폴더로 이동한다.
-
다음 명령을 통해 인증서 지문을 생성한다.
- keytool -list -v -alias {Alias 이름} -keystore {keystore 이름}
SHA1 과 SHA256이 있는데 아무거나 사용해도된다.
디지털지문에 등록해주자.
디지털지문을 등록하고나면 방금까지의 변경사항이 반영되어있는 최신 google-services.json 파일이 생성된다.
프로젝트에있던 기존 파일을 지워주고, 새로운 구글서비스json 파일을 집어넣어준다.
다시 Firebase의 Authentication탭으로 돌아가서,
테스트를 위해 데모용 사용자를 추가해주었다.
여기까지 유니티와 Firebase 연동의 준비가 끝이났다.
댓글남기기