전제 조건
Android Studio 를 최신 버전으로 설치하거나 업데이트합니다.
프로젝트가 다음 요구 사항을 충족하는지 확인하십시오.
- API 레벨 19(KitKat) 이상 대상
- 안드로이드 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 콘솔 설정 워크플로를 사용합니다.
- 옵션 2 : Android Studio Firebase Assistant를 사용합니다(추가 구성이 필요할 수 있음).
옵션 1 : Firebase 콘솔을 사용하여 Firebase 추가
앱에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 Android 프로젝트 모두에서 작업이 필요합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 Android 프로젝트로 이동).
1단계 : Firebase 프로젝트 생성
Android 앱에 Firebase를 추가하려면 먼저 Android 앱에 연결할 Firebase 프로젝트를 만들어야 합니다. Firebase 프로젝트에 대해 자세히 알아보려면 Firebase 프로젝트 이해 를 방문하세요.
2단계 : Firebase에 앱 등록
Android 앱에서 Firebase를 사용하려면 Firebase 프로젝트에 앱을 등록해야 합니다. 앱을 등록하는 것을 종종 프로젝트에 앱을 "추가"라고 합니다.
Firebase 콘솔 로 이동합니다.
프로젝트 개요 페이지 중앙에서 Android 아이콘(
) 또는 앱 추가 를 클릭하여 설정 워크플로를 시작합니다.Android 패키지 이름 필드에 앱의 패키지 이름을 입력합니다.
패키지 이름 은 기기와 Google Play 스토어에서 앱을 고유하게 식별합니다.
패키지 이름 은 종종 애플리케이션 ID 라고 합니다.
모듈(앱 수준) Gradle 파일(일반적으로
app/build.gradle
)에서 앱의 패키지 이름을 찾습니다(예: 패키지 이름:com.yourcompany.yourproject
).패키지 이름 값은 대소문자를 구분하며 Firebase 프로젝트에 등록한 후에는 이 Firebase Android 앱에 대해 변경할 수 없습니다.
(선택사항) 기타 앱 정보 입력: 앱 닉네임 및 디버그 서명 인증서 SHA-1 .
앱 닉네임 : Firebase 콘솔에서 나에게만 표시되는 내부 편의 식별자
디버그 서명 인증서 SHA-1 : SHA-1 해시 는 Firebase 인증( Google 로그인 또는 전화번호 로그인 사용 시 ) 및 Firebase 동적 링크 에 필요합니다.
앱 등록 을 클릭합니다.
3단계 : Firebase 구성 파일 추가
Firebase Android 구성 파일(
)을 다운로드하여 앱에 추가합니다.google-services.json google-services.json 다운로드 를 클릭하여 Firebase Android 구성 파일을 가져옵니다.
구성 파일을 앱의 모듈(앱 수준) 루트 디렉터리로 이동합니다.
Firebase 구성 파일에는 고유하지만 비밀이 아닌 프로젝트 식별자가 포함되어 있습니다. 이 구성 파일에 대해 자세히 알아보려면 Firebase 프로젝트 이해 를 방문하세요.
언제든지 Firebase 구성 파일 을 다시 다운로드할 수 있습니다.
구성 파일 이름에
(2)
와 같은 추가 문자가 추가되지 않았는지 확인하십시오.
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:31.2.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:31.2.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:31.2.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:31.2.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 Gradle 플러그인(AGP) v4.2 이하를 사용하는 Gradle 빌드는 Java 8 지원을 활성화해야 합니다. 그렇지 않으면 Firebase SDK를 추가할 때 이러한 Android 프로젝트에 빌드 실패가 발생합니다.
이 빌드 실패를 수정하려면 다음 두 가지 옵션 중 하나를 따를 수 있습니다.
- 오류 메시지에 나열된
compileOptions
를 앱 수준build.gradle
파일에 추가합니다. - Android 프로젝트의
minSdkVersion
을 26 이상으로 늘립니다.
이 FAQ 에서 이 빌드 실패에 대해 자세히 알아보십시오.
- 오류 메시지에 나열된
그게 다야! 권장되는 다음 단계 를 확인하기 위해 건너뛸 수 있습니다.
하지만 설정하는 데 문제가 있는 경우 Android 문제해결 및 FAQ 를 방문하세요.
옵션 2 : Firebase Assistant를 사용하여 Firebase 추가
Firebase Assistant 는 앱을 Firebase 프로젝트에 등록하고 필요한 Firebase 파일, 플러그인 및 종속 항목을 Android 프로젝트에 추가합니다. 모두 Android Studio 내에서 가능합니다!
Android Studio에서 Android 프로젝트를 연 다음 최신 버전의 Android Studio 및 Firebase Assistant를 사용하고 있는지 확인합니다.
- Windows / Linux: 도움말 > 업데이트 확인
- macOS: Android Studio > 업데이트 확인
Firebase Assistant: 도구 > Firebase 를 엽니다.
Assistant 창에서 앱에 추가할 Firebase 제품을 선택합니다. 해당 섹션을 확장한 다음 자습서 링크를 클릭합니다(예:
Analytics > Log an Analytics 이벤트 ).Firebase에 연결을 클릭하여 Android 프로젝트를 Firebase와 연결합니다.
이 워크플로는 앱의 패키지 이름 을 사용하여 새 Firebase Android 앱을 자동으로 만듭니다. 기존 Firebase 프로젝트 또는 새 프로젝트에서 이 새로운 Firebase Android 앱을 만들 수 있습니다.
다음은 Firebase 프로젝트 설정에 대한 몇 가지 팁입니다.
여러 변형을 처리하는 방법을 포함하여 Firebase 프로젝트에 앱을 추가하기 위한 권장 사항을 확인하세요.
새 프로젝트를 만드는 경우 여러 Firebase 제품을 사용하여 최적의 경험을 얻을 수 있도록 프로젝트에 Google 애널리틱스를 설정하는 것이 좋습니다.
또한 이 워크플로는 Firebase 프로젝트의 Android 구성 파일(
)을 앱의 모듈(앱 수준) 디렉토리에 추가합니다.google-services.json
버튼을 클릭하여 원하는 Firebase 제품을 추가합니다(예:
앱에 애널리틱스 추가 ).
모든 종속성이 필요한 버전을 갖도록 앱을 동기화하십시오.
어시스턴트 창에서 선택한 Firebase 제품에 대한 나머지 설정 안내를 따릅니다.
Firebase Assistant를 통해 원하는 만큼 다른 Firebase 제품을 추가하세요!
그게 다야! 권장되는 다음 단계 를 확인하십시오.
하지만 설정하는 데 문제가 있는 경우 Android 문제해결 및 FAQ 를 방문하세요.
사용 가능한 라이브러리
이 섹션에는 Android에 지원되는 Firebase 제품과 Gradle 종속 항목이 나와 있습니다. 다음 Firebase Android 라이브러리에 대해 자세히 알아보세요.
참조 문서( Kotlin+KTX | Java )
Firebase Android SDK GitHub 저장소
Firebase Android BoM 을 사용하는 경우 build.gradle
에서 Firebase 라이브러리 종속성을 선언할 때 개별 라이브러리 버전을 지정하지 않습니다.
Kotlin+KTX
서비스 또는 제품 | 그래들 종속성 | 최신 버전 | 분석을 추가하시겠습니까? |
---|---|---|---|
Firebase Android BoM (재료 명세서) | com.google.firebase:firebase-bom 최신 Firebase BoM 버전에는 각 Firebase Android 라이브러리의 최신 버전이 포함되어 있습니다. 특정 BoM 버전에 매핑되는 라이브러리 버전을 알아보려면 해당 BoM 버전에 대한 릴리스 정보를 검토하십시오. | 31.2.0 | |
애드몹 | com.google.android.gms:play-services-ads | 21.4.0 | |
해석학 | com.google.firebase:firebase-analytics-ktx | 21.2.0 | |
앱 체크 커스텀 제공자 | com.google.firebase:firebase-appcheck-ktx | 16.1.1 | |
앱 체크 디버그 제공자 | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
앱 체크 SafetyNet 제공업체 | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
앱 배포 API | com.google.firebase:firebase-appdistribution-api-ktx | 16.0.0-베타05 | |
앱 배포 플러그인 | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
입증 | com.google.firebase:firebase-auth-ktx | 21.1.0 | |
클라우드 파이어스토어 | com.google.firebase:firebase-firestore-ktx | 24.4.2 | |
Firebase 클라이언트 SDK용 Cloud Functions | com.google.firebase:firebase-functions-ktx | 20.2.2 | |
클라우드 메시징 | com.google.firebase:firebase-messaging-ktx | 23.1.1 | |
클라우드 스토리지 | com.google.firebase:firebase-storage-ktx | 20.1.0 | |
Crashlytics | com.google.firebase:firebase-crashlytics-ktx | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics 플러그인 | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
동적 기능 모듈 지원 | com.google.firebase:firebase-동적-모듈-지원 | 16.0.0-베타03 | |
동적 링크 | com.google.firebase:firebase-동적-링크-ktx | 21.1.0 | |
인앱 메시지 | com.google.firebase:firebase-inappmessaging-ktx | 20.3.0 | (필수의) |
인앱 메시지 표시 | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.0 | (필수의) |
Firebase 설치 | com.google.firebase:firebase-installations-ktx | 17.1.0 | |
Firebase ML 모델 다운로더 API | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.1.2 | |
성능 모니터링 | com.google.firebase:firebase-perf-ktx | 20.3.1 | |
성능 모니터링 플러그인 | com.google.firebase:perf-플러그인 | 1.4.2 | |
실시간 데이터베이스 | com.google.firebase:firebase-database-ktx | 20.1.0 | |
원격 구성 | com.google.firebase:firebase-config-ktx | 21.2.1 | |
Google Play 서비스 플러그인 | com.google.gms:google-services | 4.3.15 | |
사용되지 않는 라이브러리 | |||
앱 인덱싱 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML 커스텀 모델 API | com.google.firebase:firebase-ml-모델-인터프리터 | 22.0.4 | |
Firebase ML Vision API | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML: 이미지 라벨링 모델 | com.google.firebase:firebase-ml-vision-image-label-model | 20.0.2 | |
Firebase ML: 개체 감지 및 추적 모델 | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: 얼굴 감지 모델 | com.google.firebase:firebase-ml-vision-face-model | 20.0.2 | |
Firebase ML: 바코드 스캔 모델 | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML 비전 에지 API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: 자연어 API | com.google.firebase:firebase-ml-자연 언어 | 22.0.1 | |
Firebase ML: 언어 식별 모델 | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: 번역 모델 | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: 스마트 답장 모델 | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Java
서비스 또는 제품 | 그래들 종속성 | 최신 버전 | 분석을 추가하시겠습니까? |
---|---|---|---|
Firebase Android BoM (재료 명세서) | com.google.firebase:firebase-bom 최신 Firebase BoM 버전에는 각 Firebase Android 라이브러리의 최신 버전이 포함되어 있습니다. 특정 BoM 버전에 매핑되는 라이브러리 버전을 알아보려면 해당 BoM 버전에 대한 릴리스 정보를 검토하십시오. | 31.2.0 | |
애드몹 | com.google.android.gms:play-services-ads | 21.4.0 | |
해석학 | com.google.firebase:firebase-analytics | 21.2.0 | |
앱 체크 커스텀 제공자 | com.google.firebase:firebase-appcheck | 16.1.1 | |
앱 체크 디버그 제공자 | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
앱체크 플레이 무결성 제공자 | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
앱 체크 SafetyNet 제공업체 | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
앱 배포 | com.google.firebase:firebase-appdistribution | 16.0.0-베타05 | |
앱 배포 API | com.google.firebase:firebase-appdistribution-api | 16.0.0-베타05 | |
앱 배포 플러그인 | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
입증 | com.google.firebase:firebase-auth | 21.1.0 | |
클라우드 파이어스토어 | com.google.firebase:firebase-firestore | 24.4.2 | |
Firebase 클라이언트 SDK용 Cloud Functions | com.google.firebase:firebase 기능 | 20.2.2 | |
클라우드 메시징 | com.google.firebase:firebase-messaging | 23.1.1 | |
클라우드 스토리지 | com.google.firebase:firebase-저장소 | 20.1.0 | |
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics 플러그인 | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
동적 기능 모듈 지원 | com.google.firebase:firebase-동적-모듈-지원 | 16.0.0-베타03 | |
동적 링크 | com.google.firebase:firebase-동적-링크 | 21.1.0 | |
인앱 메시지 | com.google.firebase:firebase-inappmessaging | 20.3.0 | (필수의) |
인앱 메시지 표시 | com.google.firebase:firebase-inappmessaging-display | 20.3.0 | (필수의) |
Firebase 설치 | com.google.firebase:firebase 설치 | 17.1.0 | |
Firebase ML 모델 다운로더 API | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |
성능 모니터링 | com.google.firebase:firebase-perf | 20.3.1 | |
성능 모니터링 플러그인 | com.google.firebase:perf-플러그인 | 1.4.2 | |
실시간 데이터베이스 | com.google.firebase:firebase-데이터베이스 | 20.1.0 | |
원격 구성 | com.google.firebase:firebase-config | 21.2.1 | |
Google Play 서비스 플러그인 | com.google.gms:google-services | 4.3.15 | |
사용되지 않는 라이브러리 | |||
앱 인덱싱 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML 커스텀 모델 API | com.google.firebase:firebase-ml-모델-인터프리터 | 22.0.4 | |
Firebase ML Vision API | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML: 이미지 라벨링 모델 | com.google.firebase:firebase-ml-vision-image-label-model | 20.0.2 | |
Firebase ML: 개체 감지 및 추적 모델 | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: 얼굴 인식 모델 | com.google.firebase:firebase-ml-vision-face-model | 20.0.2 | |
Firebase ML: 바코드 스캔 모델 | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML 비전 에지 API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: 자연어 API | com.google.firebase:firebase-ml-자연 언어 | 22.0.1 | |
Firebase ML: 언어 식별 모델 | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: 번역 모델 | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: 스마트 답장 모델 | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
다음 단계
앱에 Firebase 서비스를 추가합니다.
Analytics 로 사용자 행동에 대한 인사이트를 얻으십시오.
인증을 사용하여 사용자 인증 흐름을 설정합니다.
사용자 정보와 같은 데이터를 Cloud Firestore 또는 실시간 데이터베이스 에 저장합니다.
Cloud Storage 를 사용하여 사진 및 동영상과 같은 파일을 저장합니다.
Cloud Functions 를 사용하여 보안 환경에서 실행되는 백엔드 코드를 트리거합니다.
클라우드 메시징 으로 알림을 보냅니다.
앱이 Crashlytics 와 충돌하는 시기와 이유를 알아보세요.
Firebase에 대해 알아보기:
Firebase 프로젝트 및 프로젝트 권장사항에 대해 자세히 알아보려면 Firebase 프로젝트 이해 를 방문하세요.
Firebase 및 Android 개발에 익숙하지 않거나 특정 개념에 대한 질문이 있는 경우 Android 및 Firebase에 대해 자세히 알아보기를 방문하세요.
샘플 Firebase 앱 을 살펴보세요.
Firebase Android Codelab 으로 직접 경험해 보세요.
주말 과정에서 Firebase에 대해 자세히 알아보세요.
앱 실행 준비:
- Google Cloud Console에서 프로젝트에 대한 예산 알림 을 설정하세요.
- Firebase Console에서 사용량 및 결제 대시보드 를 모니터링하여 여러 Firebase 서비스에서 프로젝트 사용량을 전체적으로 파악하세요.
- Firebase 출시 체크리스트 를 검토하세요.
Firebase 및 Android 프로젝트에 문제가 있습니까? Android 문제 해결 및 FAQ 를 방문하세요.
전제 조건
Android Studio 를 최신 버전으로 설치하거나 업데이트합니다.
프로젝트가 다음 요구 사항을 충족하는지 확인하십시오.
- API 레벨 19(KitKat) 이상 대상
- 안드로이드 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 콘솔 설정 워크플로를 사용합니다.
- 옵션 2 : Android Studio Firebase Assistant를 사용합니다(추가 구성이 필요할 수 있음).
옵션 1 : Firebase 콘솔을 사용하여 Firebase 추가
앱에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 Android 프로젝트 모두에서 작업이 필요합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 Android 프로젝트로 이동).
1단계 : Firebase 프로젝트 생성
Android 앱에 Firebase를 추가하려면 먼저 Android 앱에 연결할 Firebase 프로젝트를 만들어야 합니다. Firebase 프로젝트에 대해 자세히 알아보려면 Firebase 프로젝트 이해 를 방문하세요.
2단계 : Firebase에 앱 등록
Android 앱에서 Firebase를 사용하려면 Firebase 프로젝트에 앱을 등록해야 합니다. 앱을 등록하는 것을 종종 프로젝트에 앱을 "추가"라고 합니다.
Firebase 콘솔 로 이동합니다.
프로젝트 개요 페이지 중앙에서 Android 아이콘(
) 또는 앱 추가 를 클릭하여 설정 워크플로를 시작합니다.Android 패키지 이름 필드에 앱의 패키지 이름을 입력합니다.
패키지 이름 은 기기와 Google Play 스토어에서 앱을 고유하게 식별합니다.
패키지 이름 은 종종 애플리케이션 ID 라고 합니다.
모듈(앱 수준) Gradle 파일(일반적으로
app/build.gradle
)에서 앱의 패키지 이름을 찾습니다(예: 패키지 이름:com.yourcompany.yourproject
).패키지 이름 값은 대소문자를 구분하며 Firebase 프로젝트에 등록한 후에는 이 Firebase Android 앱에 대해 변경할 수 없습니다.
(선택사항) 기타 앱 정보 입력: 앱 닉네임 및 디버그 서명 인증서 SHA-1 .
앱 닉네임 : Firebase 콘솔에서 나에게만 표시되는 내부 편의 식별자
디버그 서명 인증서 SHA-1 : SHA-1 해시 는 Firebase 인증( Google 로그인 또는 전화번호 로그인 사용 시 ) 및 Firebase 동적 링크 에 필요합니다.
앱 등록 을 클릭합니다.
3단계 : Firebase 구성 파일 추가
Firebase Android 구성 파일(
)을 다운로드하여 앱에 추가합니다.google-services.json google-services.json 다운로드 를 클릭하여 Firebase Android 구성 파일을 가져옵니다.
구성 파일을 앱의 모듈(앱 수준) 루트 디렉터리로 이동합니다.
Firebase 구성 파일에는 고유하지만 비밀이 아닌 프로젝트 식별자가 포함되어 있습니다. 이 구성 파일에 대해 자세히 알아보려면 Firebase 프로젝트 이해 를 방문하세요.
언제든지 Firebase 구성 파일 을 다시 다운로드할 수 있습니다.
구성 파일 이름에
(2)
와 같은 추가 문자가 추가되지 않았는지 확인하십시오.
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:31.2.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:31.2.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:31.2.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:31.2.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 Gradle 플러그인(AGP) v4.2 이하를 사용하는 Gradle 빌드는 Java 8 지원을 활성화해야 합니다. 그렇지 않으면 Firebase SDK를 추가할 때 이러한 Android 프로젝트에 빌드 실패가 발생합니다.
이 빌드 실패를 수정하려면 다음 두 가지 옵션 중 하나를 따를 수 있습니다.
- 오류 메시지에 나열된
compileOptions
를 앱 수준build.gradle
파일에 추가합니다. - Android 프로젝트의
minSdkVersion
을 26 이상으로 늘립니다.
이 FAQ 에서 이 빌드 실패에 대해 자세히 알아보십시오.
- 오류 메시지에 나열된
그게 다야! 권장되는 다음 단계 를 확인하기 위해 건너뛸 수 있습니다.
하지만 설정하는 데 문제가 있는 경우 Android 문제해결 및 FAQ 를 방문하세요.
옵션 2 : Firebase Assistant를 사용하여 Firebase 추가
Firebase Assistant 는 앱을 Firebase 프로젝트에 등록하고 필요한 Firebase 파일, 플러그인 및 종속 항목을 Android 프로젝트에 추가합니다. 모두 Android Studio 내에서 가능합니다!
Android Studio에서 Android 프로젝트를 연 다음 최신 버전의 Android Studio 및 Firebase Assistant를 사용하고 있는지 확인합니다.
- Windows / Linux: 도움말 > 업데이트 확인
- macOS: Android Studio > 업데이트 확인
Firebase Assistant: 도구 > Firebase 를 엽니다.
Assistant 창에서 앱에 추가할 Firebase 제품을 선택합니다. 해당 섹션을 확장한 다음 자습서 링크를 클릭합니다(예:
Analytics > Log an Analytics 이벤트 ).Firebase에 연결을 클릭하여 Android 프로젝트를 Firebase와 연결합니다.
이 워크플로는 앱의 패키지 이름 을 사용하여 새 Firebase Android 앱을 자동으로 만듭니다. 기존 Firebase 프로젝트 또는 새 프로젝트에서 이 새로운 Firebase Android 앱을 만들 수 있습니다.
다음은 Firebase 프로젝트 설정에 대한 몇 가지 팁입니다.
여러 변형을 처리하는 방법을 포함하여 Firebase 프로젝트에 앱을 추가하기 위한 권장 사항을 확인하세요.
새 프로젝트를 만드는 경우 여러 Firebase 제품을 사용하여 최적의 경험을 얻을 수 있도록 프로젝트에 Google 애널리틱스를 설정하는 것이 좋습니다.
또한 이 워크플로는 Firebase 프로젝트의 Android 구성 파일(
)을 앱의 모듈(앱 수준) 디렉토리에 추가합니다.google-services.json
버튼을 클릭하여 원하는 Firebase 제품을 추가합니다(예:
앱에 애널리틱스 추가 ).
모든 종속성이 필요한 버전을 갖도록 앱을 동기화하십시오.
어시스턴트 창에서 선택한 Firebase 제품에 대한 나머지 설정 안내를 따릅니다.
Firebase Assistant를 통해 원하는 만큼 다른 Firebase 제품을 추가하세요!
그게 다야! 권장되는 다음 단계 를 확인하십시오.
하지만 설정하는 데 문제가 있는 경우 Android 문제해결 및 FAQ 를 방문하세요.
사용 가능한 라이브러리
이 섹션에는 Android에 지원되는 Firebase 제품과 Gradle 종속 항목이 나와 있습니다. 다음 Firebase Android 라이브러리에 대해 자세히 알아보세요.
참조 문서( Kotlin+KTX | Java )
Firebase Android SDK GitHub 저장소
Firebase Android BoM 을 사용하는 경우 build.gradle
에서 Firebase 라이브러리 종속성을 선언할 때 개별 라이브러리 버전을 지정하지 않습니다.
Kotlin+KTX
서비스 또는 제품 | 그래들 종속성 | 최신 버전 | 분석을 추가하시겠습니까? |
---|---|---|---|
Firebase Android BoM (재료 명세서) | com.google.firebase:firebase-bom 최신 Firebase BoM 버전에는 각 Firebase Android 라이브러리의 최신 버전이 포함되어 있습니다. 특정 BoM 버전에 매핑되는 라이브러리 버전을 알아보려면 해당 BoM 버전에 대한 릴리스 정보를 검토하십시오. | 31.2.0 | |
애드몹 | com.google.android.gms:play-services-ads | 21.4.0 | |
해석학 | com.google.firebase:firebase-analytics-ktx | 21.2.0 | |
앱 체크 커스텀 제공자 | com.google.firebase:firebase-appcheck-ktx | 16.1.1 | |
앱 체크 디버그 제공자 | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
앱 체크 SafetyNet 제공업체 | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
앱 배포 API | com.google.firebase:firebase-appdistribution-api-ktx | 16.0.0-베타05 | |
앱 배포 플러그인 | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
입증 | com.google.firebase:firebase-auth-ktx | 21.1.0 | |
클라우드 파이어스토어 | com.google.firebase:firebase-firestore-ktx | 24.4.2 | |
Firebase 클라이언트 SDK용 Cloud Functions | com.google.firebase:firebase-functions-ktx | 20.2.2 | |
클라우드 메시징 | com.google.firebase:firebase-messaging-ktx | 23.1.1 | |
클라우드 스토리지 | com.google.firebase:firebase-storage-ktx | 20.1.0 | |
Crashlytics | com.google.firebase:firebase-crashlytics-ktx | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics 플러그인 | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
동적 기능 모듈 지원 | com.google.firebase:firebase-동적-모듈-지원 | 16.0.0-베타03 | |
동적 링크 | com.google.firebase:firebase-동적-링크-ktx | 21.1.0 | |
인앱 메시지 | com.google.firebase:firebase-inappmessaging-ktx | 20.3.0 | (필수의) |
인앱 메시지 표시 | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.0 | (필수의) |
Firebase 설치 | com.google.firebase:firebase-installations-ktx | 17.1.0 | |
Firebase ML 모델 다운로더 API | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.1.2 | |
성능 모니터링 | com.google.firebase:firebase-perf-ktx | 20.3.1 | |
성능 모니터링 플러그인 | com.google.firebase:perf-플러그인 | 1.4.2 | |
실시간 데이터베이스 | com.google.firebase:firebase-database-ktx | 20.1.0 | |
원격 구성 | com.google.firebase:firebase-config-ktx | 21.2.1 | |
Google Play 서비스 플러그인 | com.google.gms:google-services | 4.3.15 | |
사용되지 않는 라이브러리 | |||
앱 인덱싱 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML 커스텀 모델 API | com.google.firebase:firebase-ml-모델-인터프리터 | 22.0.4 | |
Firebase ML Vision API | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML: 이미지 라벨링 모델 | com.google.firebase:firebase-ml-vision-image-label-model | 20.0.2 | |
Firebase ML: 개체 감지 및 추적 모델 | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: 얼굴 인식 모델 | com.google.firebase:firebase-ml-vision-face-model | 20.0.2 | |
Firebase ML: Barcode Scanning Model | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML Vision Edge API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: Natural Language APIs | com.google.firebase:firebase-ml-natural-language | 22.0.1 | |
Firebase ML: Language Identification Model | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: Translate Model | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: Smart Reply Model | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Java
Service or Product | Gradle dependency | Latest version | Add Analytics? |
---|---|---|---|
Firebase Android BoM (Bill of Materials) | com.google.firebase:firebase-bom The latest Firebase BoM version contains the latest versions of each Firebase Android library. To learn which library versions are mapped to a specific BoM version, review the release notes for that BoM version. | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.4.0 | |
Analytics | com.google.firebase:firebase-analytics | 21.2.0 | |
App Check custom provider | com.google.firebase:firebase-appcheck | 16.1.1 | |
App Check debug provider | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
App Check Play Integrity provider | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
App Check SafetyNet provider | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
App Distribution | com.google.firebase:firebase-appdistribution | 16.0.0-beta05 | |
App Distribution API | com.google.firebase:firebase-appdistribution-api | 16.0.0-beta05 | |
App Distribution plugin | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
Authentication | com.google.firebase:firebase-auth | 21.1.0 | |
Cloud Firestore | com.google.firebase:firebase-firestore | 24.4.2 | |
Cloud Functions for Firebase Client SDK | com.google.firebase:firebase-functions | 20.2.2 | |
Cloud Messaging | com.google.firebase:firebase-messaging | 23.1.1 | |
Cloud Storage | com.google.firebase:firebase-storage | 20.1.0 | |
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics plugin | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
Dynamic feature module support | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |
Dynamic Links | com.google.firebase:firebase-dynamic-links | 21.1.0 | |
In-App Messaging | com.google.firebase:firebase-inappmessaging | 20.3.0 | (required) |
In-App Messaging Display | com.google.firebase:firebase-inappmessaging-display | 20.3.0 | (required) |
Firebase installations | com.google.firebase:firebase-installations | 17.1.0 | |
Firebase ML Model Downloader API | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |
Performance Monitoring | com.google.firebase:firebase-perf | 20.3.1 | |
Performance Monitoring plugin | com.google.firebase:perf-plugin | 1.4.2 | |
Realtime Database | com.google.firebase:firebase-database | 20.1.0 | |
Remote Config | com.google.firebase:firebase-config | 21.2.1 | |
Google Play services plugin | com.google.gms:google-services | 4.3.15 | |
Deprecated libraries | |||
App Indexing | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML Custom Model APIs | com.google.firebase:firebase-ml-model-interpreter | 22.0.4 | |
Firebase ML Vision APIs | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML: Image Labeling Model | com.google.firebase:firebase-ml-vision-image-label-model | 20.0.2 | |
Firebase ML: Object Detection and Tracking Model | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: Face Detection Model | com.google.firebase:firebase-ml-vision-face-model | 20.0.2 | |
Firebase ML: Barcode Scanning Model | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML Vision Edge API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: Natural Language APIs | com.google.firebase:firebase-ml-natural-language | 22.0.1 | |
Firebase ML: Language Identification Model | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: Translate Model | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: Smart Reply Model | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Next steps
Add Firebase services to your app:
Gain insights on user behavior with Analytics .
Set up a user authentication flow with Authentication .
Store data, like user information, with Cloud Firestore or Realtime Database .
Store files, like photos and videos, with Cloud Storage .
Trigger backend code that runs in a secure environment with Cloud Functions .
Send notifications with Cloud Messaging .
Find out when and why your app is crashing with Crashlytics .
Learn about Firebase:
Visit Understand Firebase Projects to learn more about Firebase projects and best practices for projects.
Visit Learn more about Android and Firebase if you have questions about concepts that are unfamiliar or specific to Firebase and Android development.
Explore sample Firebase apps .
Get hands-on experience with the Firebase Android Codelab .
Learn more with the Firebase in a Weekend course.
Prepare to launch your app:
- Set up budget alerts for your project in the Google Cloud Console.
- Monitor the Usage and billing dashboard in the Firebase console to get an overall picture of your project's usage across multiple Firebase services.
- Review the Firebase launch checklist .
Having trouble with Firebase and your Android project? Visit the Android troubleshooting & FAQ .