Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

Android 및 Firebase에 대해 자세히 알아보기

Firebase를 사용하여 Android 프로젝트를 개발할 때 익숙하지 않거나 Firebase에 특정한 개념을 발견 할 수 있습니다. 이 페이지는 이러한 질문에 답하거나 자세히 알아볼 수있는 리소스를 안내하는 데 목적이 있습니다.

이 페이지에서 다루지 않은 주제에 대한 질문이 있으면 온라인 커뮤니티 중 하나를 방문하십시오. 또한이 페이지를 주기적으로 새로운 주제로 업데이트 할 예정이므로 배우고 싶은 주제가 추가되었는지 다시 확인하십시오!

Android 스튜디오 용 Firebase Assistant 플러그인

Firebase Assistant는 Android 앱을 Firebase 프로젝트에 등록하고 필요한 Firebase 구성 파일, 플러그인 및 종속성을 Android 프로젝트에 추가하는 Android 스튜디오 플러그인입니다. 모두 Android 스튜디오 내에서 가능합니다.

Android 시작 페이지 의 지침에 따라 Firebase Assistant를 사용하세요. Android 스튜디오와 Firebase Assistant의 최신 버전을 사용하고 있는지 확인합니다 ( File> Check for updates로 이동 ).

앱에 추가 할 특정 Firebase 제품을 선택하면 Firebase Assistant가 app/build.gradle 파일에 필요한 종속성을 자동으로 선언합니다. 그러나 Firebase Assistant의 현재 기능을 넘어선 Firebase 기능을 사용하려면 이러한 종속성을 수동으로 변경하는 것이 좋습니다.

  • Firebase Android BoM 을 사용하려면 모듈 (앱 수준) Gradle 파일 (일반적으로 app/build.gradle )의 종속성을 업데이트하여 BoM 플랫폼을 가져옵니다. 또한 각 Firebase 라이브러리 종속성 줄에서 버전을 제거해야합니다.

  • Kotlin 확장 라이브러리 를 사용하려면 모듈 (앱 수준) Gradle 파일 (일반적으로 app/build.gradle )에 추가 된 종속성 줄을 수정하여 대신 Firebase 라이브러리의 ktx 버전을 사용하세요.

Google 서비스 — 플러그인 및 구성 파일

Android 프로젝트에 Firebase를 추가하는 과정에서 google-services 플러그인과 google-services.json 구성 파일을 프로젝트에 추가해야합니다.

Firebase 콘솔 , 관리 REST API 또는 Firebase CLI 를 통해 Android 프로젝트에 Firebase를 추가하는 경우 프로젝트에 플러그인 및 구성 파일을 수동으로 추가해야합니다. 그러나 Firebase Assistant 를 사용하는 경우 이러한 작업은 설정 중에 자동으로 수행됩니다.

Google 서비스 플러그인과 구성 파일이 함께 작동하는 방법에 대해 알아 보려면 Android 문서 를 참조하세요.

Firebase Android BoM (BOM)

Firebase Android BoM (Bill of Materials)을 사용하면 하나의 버전 인 BoM 버전 만 지정하여 모든 Firebase 라이브러리 버전을 관리 할 수 ​​있습니다.

앱에서 Firebase BoM을 사용하면 BoM이 자동으로 BoM 버전에 매핑 된 개별 라이브러리 버전을 가져옵니다. 모든 개별 라이브러리 버전이 호환됩니다. 앱에서 BoM 버전을 업데이트하면 앱에서 사용하는 모든 Firebase 라이브러리가 해당 BoM 버전에 매핑 된 버전으로 업데이트됩니다.

특정 BoM 버전에 매핑되는 Firebase 라이브러리 버전을 알아 보려면 해당 BoM 버전의 출시 노트 를 확인하세요. 한 BoM 버전에 매핑 된 라이브러리 버전을 다른 BoM 버전과 비교해야하는 경우 아래 비교 위젯을 사용하십시오.

BoM 플랫폼 에 대한 Gradle의 지원에 대해 자세히 알아보세요.

Firebase Android BoM을 사용하여 모듈 (앱 수준) Gradle 파일 (일반적으로 app/build.gradle )에서 종속성을 선언하는 방법은 다음과 같습니다. BoM을 사용할 때 종속성 줄에 개별 라이브러리 버전을 지정하지 않습니다.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:28.1.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

다음은 Firebase Android BoM 사용에 대해 자주 묻는 질문입니다.

Firebase BoM 버전 비교

Kotlin 확장 프로그램 (KTX) 라이브러리

Firebase Kotlin 확장 프로그램 (KTX) 라이브러리는 아름답고 관용적 인 Kotlin 코드를 작성할 수있는 기본 Firebase SDK의 작은 동반자입니다.

앱에서 KTX 라이브러리를 사용하려면 -ktx 접미사를 포함하도록 종속성을 변경하십시오. 각 KTX 라이브러리에는 자동으로 기본 라이브러리에 대한 종속성이 있으므로 앱에 두 종속성을 모두 포함 할 필요가 없습니다.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:28.1.0')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

각 KTX 라이브러리는 기본 라이브러리의 다른 구문 확장을 제공합니다. 예를 들어, Analytics KTX 라이브러리를 사용하면 이벤트를 더 간단하게 기록 할 수 있습니다.

이전 (기본 라이브러리 사용)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

이후 (대신 KTX 라이브러리 사용)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Firebase ML 및 앱 색인 생성을 제외한 모든 Firebase 제품은 KTX 라이브러리를 제공합니다.

아직 확인하지 않았다면 KTX 라이브러리에 대한 API 참조 문서 를 확인하세요.

기능 모듈 및 Play 기능 제공

2021 년 5 월 (Firebase BoM v28.0.0)부터 Firebase Android SDK는 기본 애플리케이션 모듈과 별도로 설치되는 동적 기능 모듈에서 사용할 수 있습니다.

동적 기능 모듈에 대한 지원을 사용하려면 기본 모듈의 build.gradle 파일에 다음 종속성을 추가하십시오.

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}

이제 동적 모듈 지원을 추가 했으므로 앱의 기능 모듈에 Firebase SDK 종속성 (Firebase BoM 포함 또는 제외)을 추가하고 평소처럼 사용할 수 있습니다.

예를 들어 애플리케이션에서 실시간 데이터베이스를 사용하여 특정 실시간 기능을 지원하는 경우 기본 모듈이 아닌 기능 모듈의 build.gradlebuild.gradle firebase-database 종속성을 추가 할 수 있습니다. 이렇게하면 대부분의 사용자에게 다운로드 크기가 줄어 듭니다.

기능 모듈에서 Firebase SDK를 사용할 때 다음주의 사항에 유의하세요.

  • Crashlytics는 동적 기능 모듈에서 사용될 때 NDK 비정상 종료를 캡처하지 않습니다.

  • Analytics first_open 이벤트에 의존하는 동적 링크 또는 Firebase 인앱 메시지와 같은 제품은 동적 기능 모듈에서 사용될 first_open 이벤트를 놓칠 수 있습니다.

  • Cloud Firestore와 인증을 함께 사용하는 경우 항상 같은 모듈에 두 가지를 모두 포함해야합니다. 이것이 불가능하다면 Cloud Firestore 전에 인증이로드되었는지 확인하세요. 그렇지 않으면 일부 Cloud Firestore 작업에 잘못된 인증 상태가있을 수 있습니다.

기능 모듈 및 Play 기능 제공에 대한 자세한 내용 은 Play 기능 제공 개요 를 참조하세요.

Google 서비스 Gradle 플러그인 대 Google Play 서비스 대 Google Play 스토어

Google, Firebase 및 Android 생태계의 여러 부분에는 유사한 명명 규칙이 있습니다. 각각에 대한 간략한 설명은 다음과 같습니다.

Google 서비스 Gradle 플러그인
앱에 Firebase 및 Google API에 액세스 할 수있는 올바른 구성이 있는지 확인하기 위해 빌드시 실행되는 Gradle 플러그인 ( com.google.gms.google-services )
이름에도 불구하고이 플러그인은 Google Play 서비스 (다음 항목 참조)와 관련이 없으며 런타임시 앱의 기능에 영향을 미치지 않습니다.
이 플러그인은 Firebase 설정의 일부로 앱에 추가하는 google-services.json 파일도 처리합니다. Google 서비스 Gradle 플러그인 에 대해 자세히 알아보세요.
Google Play 서비스
Android 기기에서 실행되고 기기의 앱에 몇 가지 일반적인 Google API (예 : Google지도 및 Google 로그인)를 제공하는 보이지 않는 백그라운드 서비스
이러한 공통 API를 단일 서비스로 중앙 집중화함으로써 다른 앱의 크기를 줄이고 장치에서 OS 업데이트없이 자동 보안 업데이트 및 기능 향상을받을 수 있습니다. Google Play 서비스 에 대해 자세히 알아보세요.
구글 플레이 스토어
Android 기기에서 앱, 영화, 책 등을 다운로드 할 수있는 스토어
개발자는 Google Play Console을 통해 앱의 배포, 출시 등을 관리합니다. 기기에 Google Play 스토어가있는 경우 Google Play 서비스도 실행됩니다 (이전 항목 참조). 개발자 용 Google Play 스토어에 대해 자세히 알아보세요.
Google Play 게임 서비스
모바일 게임 개발자를위한 API 세트
Google Play 게임 서비스Firebase를 Google Play 게임 서비스 프로젝트와 통합 하는 방법에 대해 자세히 알아보세요.

Firebase Android SDK 용 오픈 소스 리소스

Firebase는 오픈 소스 개발을 지원하며 커뮤니티 기여와 피드백을 권장합니다.

Firebase Android SDK

대부분의 Firebase Android SDK는 공개 Firebase GitHub 저장소 에서 오픈 소스 라이브러리로 개발됩니다. 비공개로 개발 된 나머지 Firebase 라이브러리를 곧 공개 GitHub로 이동하기 위해 적극적으로 노력하고 있습니다.

빠른 시작 샘플

Firebase는 Android에서 대부분의 Firebase API에 대한 빠른 시작 샘플 모음을 유지합니다. 공개 Firebase GitHub 빠른 시작 저장소 에서이 빠른 시작을 찾아보세요.

각 빠른 시작을 Android 스튜디오 프로젝트로 연 다음 모바일 장치 또는 가상 장치 (AVD)에서 실행할 수 있습니다. 또는이 빠른 시작을 Firebase SDK 사용을위한 예제 코드로 사용할 수 있습니다.

다른 관심 주제