Computer Science/Android App

[Android Studio/Firebase] Firebase SDK 설치하고 연결하는 방법

Henry Cho 2022. 4. 26. 09:52
728x90

Firebase SDK 설치하고 연결하는 방법


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# Firebase SDK

Android studio에서 Cloud database service인 Firebase를 사용하기 위해서는 SDK 설치가 필요하다.

각 Firebase 기능마다 필요한 SDK이 다르기에 원하는 기능에 맞추어 SDK 설치를 진행해주면 된다.

SDK를 설치해주고 기본적인 세팅과 import만 해준다면 Firebase를 바로 사용할 수 있다.

 


# [Tool] -> [Firebase]

 

<Fig1.Android Studio>

 

Android studio에서 [Tool] 메뉴를 클릭하면 노란색 아이콘으로 표시된 Firebase를 확인할  수 있다.

Firebase 메뉴를 클릭해주면 오른쪽 메뉴 바에 Firebase 기능들이 나열된다.

 

<Fig2.Android Studio Firebase>

 

앱 개발 과정에서 필요한 기능만을 골라서 Firebase에서 찾은 뒤에 선택하여 사용하면 된다.

물론 모든 SDK를 설치해도 되지만 앱 기획이 되어 있다면 필요한 기능만을 선택적으로 사용하면 된다.

Firebase 기능에는 유료버전과 무료 버전이 같이 있기 때문에 Firebase 페이지에서 무료 버전을 확인해준 뒤에 무료 버전을 이용하면 된다.

물론 유료버전 요금제를 사용하면 상관이 없다.

예를 들어, Firebase ML의 경우에는 무료 버전을 이용할 시에는 적용이 안된다.

 


# 대표적으로 많이 사용되는 Firebase 기능

 

<Fig3.Android Studio Firebase>

 

대표적으로 많이 사용하는 Firebase 기능으로는 Authentication, Realtime Databse, Cloud Firestore, Cloud Storage for Firebase 등이 있다.

해당 기능들은 무료 버전에서도 제한적으로 사용이 가능하기에 처음 앱 개발을 사이드 프로젝트로 해보거나, 테스트용 앱을 개발하거나 또는 학부생인데 졸업 작품을 만들어야 한다면 무료 버전으로도 충분히 활용이 가능하다.

간략하게 각 기능들에 대해서 설명하자면, Authentication은 앱의 각 사용자별 계정을 확인할 때 사용되는 기능이다.

Realtime Database는 사용자가 앱을 사용하면서 즉각적으로 바뀌거나 업데이트되는 데이터를 다루는 database에 해당한다.

예를 들어서 채팅의 경우 유저 간의 대화가 즉각적으로 데이터베이스에 저장됨과 동시에 상대방 유저한테 보여주어야 하는데 이때 사용되는 database가 realtime database이다.

또한 사용자가 프로필을 바꾼다고 가정했을때 바로 적용이 되어 업데이트가 이루어져야 하는 부분이기에 이 역시도 Realtime Database를 활용할 수 있다.

Cloud storage의 경우에는 사용자가 올리는 텍스트 파일이 아닌 이미지, 비디오 등의 데이터를 Firebase에 저장하고 관리하는 기능에 해당한다.

 


# Authentication 적용해보기

 

<Fig4.Firebase Authentication>

 

Firebase에서 특정 기능을 사용하더라도 설정하는 방법은 비슷하다.

우선 Authentication을 설치하여 사용하는 방법을 예시로 살펴보도록 하자.

Authentication을 클릭하면 아래와 같은 선택지가 나온다.

매우 친절하게 어떤 환경에서 해당 기능을 사용할 것인지에 대한 선택지를 주는데 첫 번째 방식으로 사용해보도록 해보자.

 

<Fig5.Firebase Authentication Using Google>

 

google에서 사용할 것이라는 메뉴를 선택하게 되면 순차적으로 어떻게 Android studio에 적용하여 사용할 수 있는지를 친절하게 알려준다.

필자의 경우에는 이미 Connect가 되어 있어서 1번의 저런 메세지가 나온다.

Firebase를 연결해주기 위해서는 우선적으로 Firebase 계정을 만들어서 본인의 Firebase에 안드로이드 스튜디오 프로젝트를 연결해줘야 한다.

계정 생성이 이루어진다음에는 2번째 SDK를 설치해주면 어떤 프로젝트와 어떤 Firebase 프로젝트랑 연결할 것인지를 물어본다.

이때 올바른 프로젝트끼리 연결해주면 Firebase 프로젝트와 Android studio 프로젝트 간의 연결이 이루어진다.

이후에는 import를 활용하여 각 기능에 맞는 명령어를 사용하여 소스코드에서 활용하면 된다.

예를 들어서 여기서는 Authentication을 연결해주었기 때문에 소스코드에서 "FirebaseAuth"로 소스코드 내에서 사용할 FirebaseAuth을 선언해준다.

다음에 아래와 같이 사용이 가능하다.

 

HOOAIAuth.signInWithEmailAndPassword
HOOAIAuth.sendPasswordResetEmail

 

첫 번째는 HOOAIAuth를 FirebaseAuth로 이미 선언한 뒤에 앱 로그인하는데 이메일과 패스워드가 일치하는지 Firebase database와 비교할 때 사용할 수 있다.

두 번째의 경우에는 사용자가 비밀번호를 잊어버렸을 때 사용자의 계정 이메일로 비밀번호를 변경할 수 있는 이메일을 보내주는 기능을 구현할 때 사용할 수 있다.

이처럼 각 기능에 맞는 SDK를 설치해주고 Firebase 프로젝트와 연결해준 뒤에 import와 각 명령어를 통해서 Firebase와 연동하여 사용이 가능하다.


728x90