기본 요건
Android 스튜디오를 설치하거나 최신 버전으로 업데이트합니다.
프로젝트가 다음 요구사항을 충족하는지 확인합니다.
- API 수준 19(KitKat) 이상 타겟팅
- Android 4.4 이상 사용
- 다음 버전 요구사항을 충족하는 Jetpack(AndroidX) 사용
com.android.tools.build:gradle
v3.2.1 이상compileSdkVersion
28 이상
실제 기기를 설정하거나 에뮬레이터를 사용하여 앱을 실행합니다.
Google Play 서비스에 대한 종속성이 있는 Firebase SDK를 사용하려면 기기 또는 에뮬레이터에 Google Play 서비스가 설치되어 있어야 합니다.Google 계정을 사용하여 Firebase에 로그인합니다.
Android 프로젝트가 준비되지 않았다면 빠른 시작 샘플 중 하나를 다운로드하여 Firebase 제품을 사용해 볼 수 있습니다.
다음 옵션 중 하나를 사용하여 Android 앱을 Firebase에 연결할 수 있습니다.
- 옵션 1: (권장) Firebase Console 설정 워크플로를 사용합니다.
- 옵션 2: Android 스튜디오 Firebase Assistant를 사용합니다(추가 구성이 필요할 수 있음).
옵션 1: Firebase Console을 사용하여 Firebase 추가
앱에 Firebase를 추가하려면 Firebase Console 및 열려 있는 Android 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 콘솔에서 Firebase 구성 파일을 다운로드한 후 이 파일을 Android 프로젝트로 옮기는 작업이 필요합니다.
1단계: Firebase 프로젝트 만들기
Firebase를 Android 앱에 추가하려면 먼저 Android 앱에 연결할 Firebase 프로젝트를 만드세요. Firebase 프로젝트에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.
2단계: Firebase에 앱 등록
Android 앱에서 Firebase를 사용하려면 Firebase 프로젝트에 앱을 등록해야 합니다. 앱 등록이란 보통 프로젝트에 앱을 '추가'하는 것을 의미합니다.
Firebase Console로 이동합니다.
프로젝트 개요 페이지 중앙에 있는 Android 아이콘(
) 또는 앱 추가를 클릭하여 설정 워크플로를 시작합니다.Android 패키지 이름 필드에 앱의 패키지 이름을 입력합니다.
(선택사항) 다른 앱 정보(앱 닉네임 및 디버그 서명 인증서 SHA-1)를 입력합니다.
앱 등록을 클릭합니다.
3단계: Firebase 구성 파일 추가
Firebase Android 구성 파일(
)을 다운로드한 후 앱에 추가합니다.google-services.json google-services.json 다운로드를 클릭하여 Firebase Android 구성 파일을 가져옵니다.
구성 파일을 앱의 모듈(앱 수준) 루트 디렉터리로 이동합니다.
Firebase SDK가
구성 파일의 값에 액세스할 수 있으려면 Google 서비스 Gradle 플러그인(google-services.json google-services
)이 필요합니다.루트 수준(프로젝트 수준) Gradle 파일(
<project>/build.gradle
)에서 Google 서비스 플러그인을 buildscript 종속 항목으로 추가합니다.buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15' } } allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } }
모듈(앱 수준) Gradle 파일(일반적으로
<project>/<app-module>/build.gradle
)에서 Google 서비스 플러그인을 추가합니다.plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' ... }
4단계: 앱에 Firebase SDK 추가
모듈(앱 수준) Gradle 파일(일반적으로
<project>/<app-module>/build.gradle
)에서 앱에서 사용하려고 하는 Firebase 제품의 종속 항목을 추가합니다. 라이브러리 버전 관리 제어에는 Firebase Android BoM을 사용하는 것이 좋습니다.애널리틱스를 사용 설정한 경우
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics-ktx' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Firebase Android BoM을 사용하면 앱에서 항상 호환되는 Firebase Android 라이브러리 버전을 사용합니다.
애널리틱스를 사용 설정하지 않은 경우
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Firebase Android BoM을 사용하면 앱은 항상 호환되는 Firebase Android 라이브러리 버전을 사용합니다.
사용하려는 제품의 종속 항목을 추가한 후 Android 프로젝트를 Gradle 파일과 동기화합니다.
작업이 끝났습니다. 권장되는 다음 단계를 확인할 수 있는 섹션으로 건너뛸 수 있습니다.
하지만 설정하는 데 문제가 있으면 Android 문제 해결 및 FAQ를 방문하세요.
옵션 2: Firebase Assistant를 사용하여 Firebase 추가
Firebase Assistant는 Firebase 프로젝트에 앱을 등록하고 필요한 Firebase 파일, 플러그인, 종속 항목을 Android 프로젝트에 추가하며, 이 모든 작업을 Android 스튜디오 안에서 할 수 있습니다.
Android 스튜디오에서 Android 프로젝트를 열고 최신 버전의 Android 스튜디오 및 Firebase Assistant를 사용하고 있는지 확인합니다.
- Windows/Linux: Help(도움말) > Check for updates(업데이트 확인)
- macOS: Android 스튜디오 > Check for updates(업데이트 확인)
Firebase Assistant에서 도구 > Firebase를 엽니다.
Assistant 창에서 앱에 추가할 Firebase 제품을 선택합니다. 해당 섹션을 펼친 다음 튜토리얼 링크(예:
애널리틱스 > 애널리틱스 이벤트 로깅 )를 클릭합니다.Firebase에 연결을 클릭하여 Android 프로젝트를 Firebase에 연결합니다.
버튼을 클릭하여 원하는 Firebase 제품을 추가합니다(예:
앱에 애널리틱스 추가 ).
앱을 동기화하여 모든 종속 항목에 필요한 버전이 있는지 확인합니다.
Assistant 창에서 선택한 Firebase 제품에 대한 나머지 설정 안내를 따릅니다.
Firebase Assistant를 통해 원하는 만큼 다른 Firebase 제품을 추가합니다.
작업이 끝났습니다. 권장되는 다음 단계를 확인해 보세요.
하지만 설정하는 데 문제가 있으면 Android 문제 해결 및 FAQ를 방문하세요.
사용 가능한 라이브러리
이 섹션에는 Android에서 지원되는 Firebase 제품과 해당 Gradle 종속 항목 목록이 나와 있습니다. 다음 Firebase Android 라이브러리에 대해 자세히 알아보세요.
참조 문서(Kotlin+KTX | 자바)
Firebase Android SDK GitHub 저장소
Firebase Android BoM을 사용하면 build.gradle
에서 Firebase 라이브러리 종속 항목을 선언할 때 개별 라이브러리 버전을 지정하지 않습니다.
Kotlin+KTX
서비스 또는 제품 | Gradle 종속 항목 | 최신 버전 |
애널리틱스 추가 권장 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Firebase Android BoM (Bill of Materials) |
com.google.firebase:firebase-bom
최신 Firebase BoM 버전에는 각 Firebase Android 라이브러리의 최신 버전이 포함되어 있습니다. 특정 BoM 버전에 매핑되는 라이브러리 버전을 알아보려면 해당 BoM 버전의 출시 노트를 참조하세요. |
32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-services-ads | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
애널리틱스 | com.google.firebase:firebase-analytics-ktx | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 커스텀 제공자 | com.google.firebase:firebase-appcheck-ktx | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 디버그 제공자 | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 Play Integrity 제공자 | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 배포 | com.google.firebase:firebase-appdistribution | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
App Distribution API | com.google.firebase:firebase-appdistribution-api-ktx | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
앱 배포 플러그인 | com.google.firebase:firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
인증 | com.google.firebase:firebase-auth-ktx | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Cloud Firestore | com.google.firebase:firebase-firestore-ktx | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase용 Cloud Functions 클라이언트 SDK | com.google.firebase:firebase-functions-ktx | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
클라우드 메시징 | com.google.firebase:firebase-messaging-ktx | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Cloud Storage | com.google.firebase:firebase-storage-ktx | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics-ktx | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics 플러그인 | com.google.firebase:firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
동적 기능 모듈 지원 | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |||||||||||||||||||||||||||||||||||||||||||||
동적 링크 | com.google.firebase:firebase-dynamic-links-ktx | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
인앱 메시지 | com.google.firebase:firebase-inappmessaging-ktx | 20.3.2 | (필수) |
||||||||||||||||||||||||||||||||||||||||||||
인앱 메시지 표시 | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.2 | (필수) |
||||||||||||||||||||||||||||||||||||||||||||
Firebase 설치 | com.google.firebase:firebase-installations-ktx | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase ML Model Downloader API | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Performance Monitoring | com.google.firebase:firebase-perf-ktx | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Performance Monitoring 플러그인 | com.google.firebase:perf-plugin | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
실시간 데이터베이스 | com.google.firebase:firebase-database-ktx | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
원격 구성 | com.google.firebase:firebase-config-ktx | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Google Play 서비스 플러그인 | com.google.gms:google-services | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
지원 중단된 라이브러리 | |||||||||||||||||||||||||||||||||||||||||||||||
앱 체크 SafetyNet 제공업체 | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
앱 색인 생성 | com.google.firebase:firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase ML Kit 라이브러리
|
Java
서비스 또는 제품 | Gradle 종속 항목 | 최신 버전 |
애널리틱스 추가 권장 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Firebase Android BoM (Bill of Materials) |
com.google.firebase:firebase-bom
최신 Firebase BoM 버전에는 각 Firebase Android 라이브러리의 최신 버전이 포함되어 있습니다. 특정 BoM 버전에 매핑되는 라이브러리 버전을 알아보려면 해당 BoM 버전의 출시 노트를 참조하세요. |
32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-services-ads | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
애널리틱스 | com.google.firebase:firebase-analytics | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 커스텀 제공자 | com.google.firebase:firebase-appcheck | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 디버그 제공자 | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 체크 Play Integrity 제공자 | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
앱 배포 | com.google.firebase:firebase-appdistribution | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
App Distribution API | com.google.firebase:firebase-appdistribution-api | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
앱 배포 플러그인 | com.google.firebase:firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
인증 | com.google.firebase:firebase-auth | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Cloud Firestore | com.google.firebase:firebase-firestore | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase용 Cloud Functions 클라이언트 SDK | com.google.firebase:firebase-functions | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
클라우드 메시징 | com.google.firebase:firebase-messaging | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Cloud Storage | com.google.firebase:firebase-storage | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics 플러그인 | com.google.firebase:firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
동적 기능 모듈 지원 | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |||||||||||||||||||||||||||||||||||||||||||||
동적 링크 | com.google.firebase:firebase-dynamic-links | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
인앱 메시지 | com.google.firebase:firebase-inappmessaging | 20.3.2 | (필수) |
||||||||||||||||||||||||||||||||||||||||||||
인앱 메시지 표시 | com.google.firebase:firebase-inappmessaging-display | 20.3.2 | (필수) |
||||||||||||||||||||||||||||||||||||||||||||
Firebase 설치 | com.google.firebase:firebase-installations | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase ML Model Downloader API | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Performance Monitoring | com.google.firebase:firebase-perf | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Performance Monitoring 플러그인 | com.google.firebase:perf-plugin | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
실시간 데이터베이스 | com.google.firebase:firebase-database | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
원격 구성 | com.google.firebase:firebase-config | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Google Play 서비스 플러그인 | com.google.gms:google-services | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
지원 중단된 라이브러리 | |||||||||||||||||||||||||||||||||||||||||||||||
앱 체크 SafetyNet 제공업체 | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
앱 색인 생성 | com.google.firebase:firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Firebase ML Kit 라이브러리
|
다음 단계
앱에 Firebase 서비스 추가:
애널리틱스로 사용자 행동을 파악합니다.
인증으로 사용자 인증 흐름을 설정합니다.
Cloud Firestore 또는 실시간 데이터베이스로 사용자 정보 등의 데이터를 저장합니다.
Cloud Storage로 사진, 동영상 등의 파일을 저장합니다.
Cloud Functions로 보안 환경에서 실행되는 백엔드 코드를 트리거합니다.
클라우드 메시징으로 알림을 보냅니다.
Crashlytics로 앱이 다운된 시점과 이유를 조사합니다.
Firebase 알아보기:
Firebase 프로젝트 및 권장사항에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.
Firebase와 Android 개발과 관련하여 익숙하지 않거나 특정 개념에 대해 궁금한 점이 있으면 Android 및 Firebase 자세히 알아보기를 참조하세요.
샘플 Firebase 앱을 살펴봅니다.
Firebase Android Codelab에서 사용 방법을 실습합니다.
주말 동안 배우는 Firebase 과정을 진행합니다.
앱 출시 준비
- Google Cloud 콘솔에서 프로젝트의 예산 알림을 설정합니다.
- Firebase Console에서 사용량 및 결제 대시보드를 모니터링하여 프로젝트의 여러 Firebase 서비스 사용량을 전체적으로 파악합니다.
- Firebase 출시 체크리스트를 검토합니다.
Firebase와 Android 프로젝트에 문제가 있나요? Android 문제 해결 및 FAQ를 방문하세요.