포스팅의 목적
1. Android Studio와 Firebase 연동하기
2. Firebase를 이용한 회원가입/로그인/로그아웃/프로필 사진 저장하기
1단계 Android Studio와 Firebase 연동하기
1. Firebase 프로젝트 생성
안드로이드 스튜디오에서 Firebase를 활용하기 위해서는, 우선 Firebase에서 프로젝트를 만들어야 한다.
Firebase에 로그인을 하고, 프로젝트를 만든다.
2. Android 앱을 추가한다.
3. Firebase을 사용할 앱의 정보를 입력한다.
패키지 이름은 MainActivity.java의 맨 위를 확인하면 알 수 있다.
ex.
package com.example.firebase
앱 닉네임은 Firebase 프로젝트 내에서 나에게 보이는 이름이며, 작성하지 않으면 Android 패키지 이름으로 보인다. 지금 작성하지 않아도 나중에 수정할 수 있다!
디버그 서명 인증서는 Android Studio의 우측 벽에 Gradle을 클릭 후 gradle signingReport를 입력하면 하단에서 SHA-1 값을 볼 수 있다.
선택사항이라고는 되어있지만, Google 로그인을 지원하기도 하고, 혹시 모르니 작성해 놓는 것을 추천한다.
4. Android Studio의 앱 폴더에 json 파일을 넣는다.
json 파일을 다운 받은 후, Android Studio에서 파일을 넣어도 되고
Explorer에서 넣어도 된다.
5. Android Studio에 Firebase SDK 추가하기 (공식 문서 참고하지 말 것!)
Firebase의 공식 문서는 현재 업데이트가 되지 않은 상태인 것 같다.
Android Studio ver. 2022.1.1 을 사용하고 있다면, 밑의 코드를 사용하기!
- Project의 build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.4.2' apply false
id 'com.android.library' version '7.4.2' apply false
// 구글 서비스 추가
id 'com.google.gms.google-services' version '4.3.15' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
- Module:app의 build.gradle
plugins {
id 'com.android.application'
// 구글 서비스 추가
id 'com.google.gms.google-services'
}
// ...
dependencies {
// ...
// Firebase 연결 목적
implementation platform('com.google.firebase:firebase-bom:31.2.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-auth:21.1.0'
implementation 'com.google.firebase:firebase-installations'
implementation 'com.google.firebase:firebase-database'
implementation 'com.google.firebase:firebase-core:21.1.1'
}
중간에 "..."은 원래 프로젝트가 가지고 있던 코드이기 때문에 남겨두면 된다.
구글 서비스 추가 코드는 구글 서비스를 이용한 로그인을 사용하지 않는다면 추가하지 않아도 된다고는 나와있지만, Firebase의 core 라이브러리를 사용한다면 구글 서비스를 추가해야 하기 때문에 어차피 써야 한다. core 라이브러리는 Firebase의 핵심 기능을 제공하는 라이브러리이기 때문에 사용해야 한다.
6. Sync Now
build.gradle을 수정한 후 Sync Now를 누른다.
오류가 난다면 Firebase에 앱이 잘 추가되었는지, 버전이 맞는지, 빠뜨린 단계는 없는지 등을 확인할 필요가 있겠다.