Google I/O 2022에서 Firebase의 새로운 기능을 확인하세요. 자세히 알아보기

Firebase 프로젝트 이해

이 페이지에서는 Firebase 프로젝트에 대한 몇 가지 중요한 개념에 대한 간략한 개요를 제공합니다. 사용 가능한 경우 링크를 따라 기능, 서비스, 도구 및 모범 사례에 대한 자세한 정보를 찾으십시오.

Firebase 프로젝트, 앱, 제품 간의 관계

Firebase 프로젝트는 Firebase의 최상위 항목입니다. 프로젝트에서 Apple, Android 또는 웹 앱을 등록할 수 있습니다. Firebase에 앱을 등록한 후 Analytics, Cloud Firestore, Performance Monitoring 또는 원격 구성과 같은 Firebase 제품 의 수에 상관없이 Firebase SDK를 추가할 수 있습니다.

플랫폼에 대한 시작하기 가이드에서 이 프로세스에 대한 자세한 정보를 알아보세요.
iOS+ | 안드로이드 | | 화합 | C++ | 플러터 .

Firebase 프로젝트의 계층 구조 이해

프로젝트, 등록된 앱, 프로비저닝된 리소스 및 서비스를 포함한 Firebase 프로젝트의 기본 계층 구조를 보여주는 다이어그램 이 다이어그램은 Firebase 프로젝트의 기본 계층 구조를 보여줍니다. 주요 관계는 다음과 같습니다.

  • Firebase 프로젝트 는 프로젝트에 프로비저닝된 모든 앱과 리소스 및 서비스를 위한 컨테이너와 같습니다.

  • Firebase 프로젝트에는 하나 이상의 Firebase 앱 이 등록될 수 있습니다(예: 앱의 iOS 및 Android 버전, 또는 앱의 무료 및 유료 버전 모두).

  • 동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱 은 프로젝트에 프로비저닝된 모든 동일한 리소스와 서비스를 공유하고 액세스할 수 있습니다 . 여기 몇 가지 예가 있어요.

    • 동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱은 Firebase 호스팅, 인증, 실시간 데이터베이스, Cloud Firestore, Cloud Storage, Cloud Functions와 같은 동일한 백엔드를 공유합니다.

    • 동일한 Firebase 프로젝트에 등록된 모든 Firebase 앱은 동일한 Google 애널리틱스 속성과 연결되며, 여기서 각 Firebase 앱은 해당 속성의 별도 데이터 스트림입니다.

Firebase 프로젝트와 Google Cloud 간의 관계

새 Firebase 프로젝트를 만들 때 실제로는 백그라운드에서 Google Cloud 프로젝트 를 만드는 것입니다. Google Cloud 프로젝트를 먼저 만든 다음 나중에 프로젝트에 Firebase를 추가할 수도 있습니다. GCP 프로젝트는 데이터, 코드, 구성, 서비스를 위한 가상 컨테이너로 생각할 수 있습니다.

Firebase 프로젝트 Google Cloud 프로젝트이므로:

  • Firebase 콘솔 , Google Cloud ConsoleGoogle API 콘솔 에서 프로젝트와 상호작용할 수 있습니다.

  • 프로젝트에서 Firebase와 Google Cloud 모두의 제품과 API를 사용할 수 있습니다.

  • 프로젝트에 대한 청구권한 은 Firebase와 Google Cloud에서 공유됩니다.

  • 프로젝트의 고유 식별자(예: 프로젝트 번호프로젝트 ID )는 Firebase 및 Google Cloud에서 공유됩니다.

  • 프로젝트를 삭제하면 Firebase 및 Google Cloud에서 삭제됩니다.

Firebase 프로젝트 설정 및 앱 등록

Firebase 콘솔 에서(또는 고급 사용 사례의 경우 Firebase Management REST API 또는 Firebase CLI 를 통해) Firebase 프로젝트를 설정하고 앱을 등록할 수 있습니다. 프로젝트를 설정하고 앱을 등록할 때 몇 가지 조직적 결정을 내리고 Firebase 관련 구성 정보를 로컬 프로젝트에 추가해야 합니다.

프로덕션 앱의 경우 일반적으로 여러 환경을 사용하는 것과 관련된 명확한 개발 워크플로를 설정해야 합니다. Firebase 프로젝트 설정 및 개발 워크플로 생성을 위한 앱 등록에 대한 일반적인 권장 사항 및 일반 보안 가이드라인 을 포함하여 개발자 워크플로 에 대한 문서를 검토하세요.

Firebase 프로젝트와 상호작용

제품 SDK 외에도 다양한 도구와 인터페이스를 사용하여 Firebase 프로젝트와 직접 상호작용할 수 있습니다.

Firebase 콘솔

Firebase 콘솔 은 Firebase 제품, 앱, 프로젝트 수준 설정을 관리하기 위한 가장 풍부한 환경을 제공합니다.

Firebase 콘솔 - 프로젝트 개요 화면

콘솔의 왼쪽 패널에는 최상위 카테고리별로 구성된 Firebase 제품이 나열됩니다. 왼쪽 패널 상단에서 설정 을 클릭하여 프로젝트 에 액세스합니다. 프로젝트 설정에는 통합 , 액세스 권한결제 가 포함됩니다.

콘솔 중앙에는 다양한 유형의 앱을 등록하기 위한 설정 워크플로를 시작하는 버튼이 표시됩니다. Firebase 사용을 시작하면 콘솔의 기본 영역이 사용하는 제품에 대한 통계를 표시하는 대시보드로 변경됩니다.

Firebase 프로젝트도 Google Cloud 프로젝트이므로 Firebase 콘솔 대신 Google Cloud Console을 사용해야 하는 다양한 작업이나 제품을 찾을 수 있습니다.

Firebase CLI(명령줄 도구)

Firebase는 Firebase 호스팅, Firebase용 Cloud Functions, Firebase Extensions와 같은 특정 Firebase 제품을 구성하고 관리하기 위한 Firebase CLI 도 제공합니다.

CLI를 설치하면 전역 firebase 명령 에 액세스할 수 있습니다. CLI를 사용 하여 로컬 앱 디렉토리를 Firebase 프로젝트에 연결 한 다음 Firebase 호스팅 콘텐츠의 새 버전 또는 기능 업데이트를 배포 합니다.

Firebase 관리 REST API

Firebase Management REST API 를 사용하여 Firebase 프로젝트를 프로그래밍 방식으로 관리할 수 있습니다. 예를 들어, 프로그래밍 방식으로 앱을 프로젝트에 등록하거나 이미 등록된 앱을 나열할 수 있습니다( iOS+ | Android | web ).

Firebase 프로젝트 식별자

Firebase 프로젝트는 Firebase 백엔드 및 다양한 개발자 인터페이스에서 프로젝트 이름 , 프로젝트 번호 , 프로젝트 ID 를 비롯한 다양한 식별자를 사용하여 식별할 수 있습니다.

프로젝트 이름

프로젝트를 생성할 때 프로젝트 이름 을 제공합니다. 이 식별자는 Firebase 콘솔 , Google Cloud ConsoleFirebase CLI 에 있는 프로젝트의 내부 전용 이름 입니다. 프로젝트 이름은 공개적으로 표시되는 Firebase 또는 Google Cloud 제품, 서비스 또는 리소스에 노출되지 않습니다. 단순히 여러 프로젝트를 더 쉽게 구별하는 데 도움이 됩니다.

Firebase 콘솔의 프로젝트 설정 에서 언제든지 프로젝트 이름을 수정할 수 있습니다. 프로젝트 이름이 상단 창에 표시됩니다.

프로젝트 번호

Firebase 프로젝트(및 연결된 Google Cloud 프로젝트 )에는 프로젝트 번호 가 있습니다. 프로젝트에 대해 Google에서 할당한 전역 고유 표준 식별자입니다. 통합을 구성하거나 Firebase, Google 또는 타사 서비스에 API를 호출할 때 이 식별자를 사용하세요.

프로젝트 번호는 편집할 수 없습니다. 프로젝트를 삭제하면 프로젝트 번호도 삭제되어 다른 프로젝트에서 다시 사용할 수 없습니다.

프로젝트 ID

Firebase 프로젝트(및 연결된 Google Cloud 프로젝트 )에는 프로젝트 ID 가 있습니다. Firebase 및 Google Cloud 전체에서 프로젝트에 대한 사용자 정의 고유 식별자입니다. Firebase 프로젝트를 만들면 Firebase에서 자동으로 고유 ID를 프로젝트에 할당하지만 프로젝트 설정 중에 수정할 수 있습니다. 이 식별자는 일반적으로 프로젝트를 참조하기 위한 편의 별칭으로 처리되어야 합니다.

Firebase 구성 파일 및 객체

Firebase 프로젝트에 앱을 등록하면 Firebase 콘솔에서 로컬 앱 디렉토리에 직접 추가하는 Firebase 구성 파일(Apple/Android 앱) 또는 구성 객체(웹 앱)를 제공합니다.

  • Apple 앱의 경우 GoogleService-Info.plist 구성 파일을 추가합니다.
  • Android 앱의 경우 google-services.json 구성 파일을 추가합니다.
  • 웹 앱의 경우 Firebase 구성 객체를 추가합니다.

언제든지 앱의 Firebase 구성 파일 또는 객체 를 가져올 수 있습니다.

Firebase 구성 파일 또는 객체는 앱을 특정 Firebase 프로젝트 및 해당 리소스(데이터베이스, 저장소 버킷 등)와 연결합니다. 구성에는 Firebase 및 Google 서비스가 Firebase 서버 API와 통신하고 클라이언트 데이터를 Firebase 프로젝트 및 Firebase 앱과 연결하는 데 필요한 매개변수인 "Firebase 옵션"이 포함됩니다. 필수 최소 "Firebase 옵션"은 다음과 같습니다.

  • API 키 : 개인 사용자 데이터에 액세스할 필요가 없는 특정 API를 호출할 때 사용되는 단순 암호화 문자열(예시 값: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • 프로젝트 ID : 모든 Firebase 및 Google Cloud에서 프로젝트에 대한 사용자 정의 고유 식별자입니다. 이 식별자는 일부 Firebase 리소스의 URL이나 이름에 나타날 수 있지만 일반적으로 프로젝트를 참조하기 위한 편의 별칭으로 취급해야 합니다. (예시 값: myapp-project-123 )

  • 애플리케이션 ID("AppID") : 플랫폼별 형식으로 모든 Firebase에서 Firebase 앱의 고유 식별자입니다.

    • Firebase Apple 앱: GOOGLE_APP_ID (예시 값: 1:1234567890:ios:321abc456def7890 )
      이것은 Apple 번들 ID가 아닙니다 .
    • Firebase Android 앱: mobilesdk_app_id (예시 값: 1:1234567890:android:321abc456def7890 )
      이것은 Android 패키지 이름이나 Android 애플리케이션 ID가 아닙니다 .
    • Firebase 웹 앱: appId (예시 값: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

앱의 플랫폼별 ID(Apple 번들 ID 또는 Android 패키지 이름)와 Firebase 프로젝트별 값(예: API 키, 프로젝트 ID, 실시간 데이터베이스 URL 및 Cloud Storage 버킷 이름입니다. 이를 감안할 때 Firebase 보안 규칙 을 사용하여 실시간 데이터베이스 , Cloud FirestoreCloud Storage 의 데이터와 파일을 보호하세요.

오픈 소스 프로젝트의 경우 일반적으로 앱의 Firebase 구성 파일 또는 객체를 소스 제어에 포함하지 않는 것이 좋습니다. 대부분의 경우 사용자가 자체 Firebase 프로젝트를 만들고 앱이 자체 Firebase 구성을 통해 자신의 Firebase 리소스를 가리키도록 해야 하기 때문입니다. 파일 또는 개체).

Firebase 프로젝트, 앱, 사이트에 대한 일반 한도

Firebase 프로젝트, 앱, 사이트에 대한 몇 가지 일반적인 제한 사항은 다음과 같습니다.

  • 계정당 프로젝트 수

    • Spark 요금제 — 프로젝트 생성 할당량은 더 적은 수의 프로젝트(일반적으로 약 5-10개)로 제한됩니다.
    • Blaze 요금제 — 연결된 Cloud Billing 계정이 양호한 상태인 한 계정당 프로젝트 생성 할당량이 상당히 증가합니다.

    프로젝트 생성 할당량 제한은 대부분의 개발자에게 거의 문제가 되지 않지만 필요한 경우 프로젝트 할당량 증가를 요청할 수 있습니다.

    프로젝트를 완전히 삭제하려면 30일이 필요하며 프로젝트가 완전히 삭제될 때까지 프로젝트 할당량에 포함됩니다.

  • 프로젝트당 앱 수

    Firebase는 Firebase 프로젝트 내 Firebase 앱의 총 수를 30개로 제한합니다.

    단일 Firebase 프로젝트 내의 모든 Firebase 앱이 최종 사용자 관점에서 동일한 애플리케이션의 플랫폼 변형인지 확인해야 합니다. 모범 사례 문서에서 멀티 테넌시 에 대해 자세히 읽어보세요.

    FAQ에서 프로젝트당 앱 제한에 대해 자세히 알아보세요.

  • 프로젝트당 호스팅 사이트 수

    Firebase 호스팅 다중 사이트 기능 은 프로젝트당 최대 36개의 사이트를 지원합니다.

앱 시작