아래에서 찾을 수 없는 다른 문제나 어려운 점이 있으신가요? 버그를 신고하거나 기능을 요청하고 Stack Overflow 토론에 참여하세요.
Firebase 프로젝트 및 Firebase 앱
Firebase 프로젝트란?
Firebase 프로젝트는 Firebase의 최상위 항목입니다. 프로젝트에서 Apple, Android, 웹 앱을 등록할 수 있습니다. Firebase에 앱을 등록한 후 애널리틱스, Cloud Firestore, Crashlytics 또는 원격 구성과 같은 제품별 Firebase SDK를 앱에 추가할 수 있습니다.
단일 Firebase 프로젝트 내에 Apple, Android, 웹 앱의 변형 버전을 등록해야 합니다. 여러 Firebase 프로젝트를 사용하여 개발, 스테이징, 프로덕션 등의 여러 환경을 지원할 수 있습니다.
다음은 Firebase 프로젝트에 대해 자세히 알아볼 수 있는 리소스입니다.
- Firebase 프로젝트 이해 - Google Cloud와의 관계, 프로젝트와 앱 및 리소스의 기본 계층 구조 등 Firebase 프로젝트에 관한 몇 가지 중요한 개념을 간략히 설명합니다.
- Firebase 프로젝트 설정을 위한 일반적인 권장사항 - Firebase 프로젝트를 설정하고 프로젝트에 앱을 등록하는 일반적인 권장사항을 간략히 설명합니다. 이 내용을 토대로 고유한 환경을 사용하는 개발 워크플로를 명확하게 이해할 수 있습니다.
모든 Firebase 프로젝트에서 Firebase가 Google Cloud 콘솔에 있는 프로젝트의 라벨 페이지에 firebase:enabled
라벨을 자동으로 추가합니다. 이 라벨에 대한 자세한 내용은 FAQ를 참조하세요.
Google Cloud 조직이란 무엇인가요?
Google Cloud 조직은 Google Cloud 프로젝트(Firebase 프로젝트 포함)의 컨테이너입니다. 이 계층 구조를 사용하면 Google Cloud 및 Firebase 프로젝트의 조직, 액세스 관리, 감사가 개선됩니다. 자세한 내용은 조직 만들기 및 관리를 참조하세요.
기존 Google Cloud 프로젝트에 Firebase를 어떻게 추가하나요?
Google Cloud 콘솔 또는 Google API 콘솔을 통해 관리하는 기존 프로젝트가 있을 수 있습니다. 기본적으로 이러한 프로젝트는 Firebase Console에 표시되지만 Firebase 프로젝트로 간주되지는 않습니다.
기존 Google Cloud 프로젝트에 Firebase를 추가하려면 Firebase Console 방문 페이지에서 프로젝트 추가를 클릭한 후 프로젝트 이름 메뉴에서 프로젝트를 선택합니다.
Google Cloud 프로젝트에 firebase:enabled
라벨이 왜 있나요?
Google Cloud 콘솔에서 프로젝트의 라벨 페이지에 firebase:enabled
라벨(특히 Value
의 enabled
와 함께 firebase
의 Key
)이 표시될 수 있습니다.
프로젝트가 Firebase 프로젝트이므로 Firebase에서 자동으로 이 라벨을 추가했습니다. 즉, 프로젝트에서 Firebase 관련 구성과 서비스가 사용 설정되어 있습니다. Firebase 프로젝트와 Google Cloud 간의 관계를 자세히 알아보세요.
이 라벨을 수정하거나 삭제하지 않는 것이 좋습니다. Firebase 및 Google Cloud에서 이 라벨을 사용하여 Firebase 프로젝트를 나열합니다(예: REST API projects.list
엔드포인트를 통해 또는 Firebase Console 내 메뉴에서).
프로젝트 라벨 목록에 이 라벨을 수동으로 추가해도 Google Cloud 프로젝트에 Firebase 관련 구성 및 서비스가 사용 설정되지 않습니다. 이를 사용 설정하려면 Firebase Console을 통해 Firebase를 추가해야 합니다(고급 사용 사례의 경우 Firebase Management REST API 또는 Firebase CLI 이용).
Firebase 프로젝트가 Firebase 프로젝트 목록에 표시되지 않는 이유는 무엇인가요?
이 FAQ는 다음 위치에 Firebase 프로젝트가 표시되지 않는 경우에 적용됩니다.
- Firebase Console에서 보고 있는 프로젝트 목록
- REST API
projects.list
엔드포인트 호출에 대한 응답 - Firebase CLI 명령어 실행에 대한 응답
firebase projects:list
아래 문제 해결 단계를 시도해 보세요.
- 먼저 프로젝트의 URL을 직접 방문하여 프로젝트에 액세스합니다. 다음 형식을 사용합니다.
https://console.firebase.google.com/project/PROJECT-ID/overview
- 프로젝트에 액세스할 수 없거나 권한 오류가 발생하는 경우 다음을 확인하세요.
- 프로젝트에 대한 액세스 권한이 있는 Google 계정을 사용하여 Firebase에 로그인해야 합니다. 콘솔의 오른쪽 상단 모서리에 있는 계정 아바타를 통해 Firebase Console에 로그인하고 로그아웃할 수 있습니다.
- Google Cloud 콘솔에서 프로젝트를 볼 수 있는지 확인합니다.
- Google Cloud 콘솔에서 프로젝트의 라벨 페이지에 있는 프로젝트에
firebase:enabled
라벨이 있는지 확인합니다. Firebase 및 Google Cloud는 이 라벨을 사용하여 Firebase 프로젝트를 나열합니다. 이 라벨이 표시되지 않지만 프로젝트에 Firebase Management API가 사용 설정된 경우 라벨(구체적으로enabled
의Value
를 사용해firebase
의Key
)을 수동으로 추가합니다. - 기본 IAM 역할(소유자, 편집자, 뷰어) 중 하나 또는 Firebase 관련 권한이 있는 역할(예: 사전 정의된 Firebase 역할)이 할당되어 있는지 확인합니다. Google Cloud 콘솔의 IAM 페이지에서 역할을 볼 수 있습니다.
- 프로젝트가 Google Cloud 조직에 속한 경우 Firebase Console에 나열된 프로젝트를 보려면 추가 권한이 필요할 수 있습니다. Google Cloud 조직을 관리하는 사람에게 프로젝트를 볼 수 있는 적절한 역할(예: 브라우저 역할)을 요청하세요.
위의 문제 해결 단계로도 Firebase 프로젝트 목록에 프로젝트를 표시할 수 없으면 Firebase 지원팀에 문의하세요.
계정당 프로젝트를 몇 개까지 포함할 수 있나요?
- Spark 요금제 - 프로젝트 할당량은 소수의(대개 약 5~10개) 프로젝트로 제한됩니다.
- Blaze 요금제 - Cloud Billing 계정이 양호한 상태인 경우 Cloud Billing 계정당 프로젝트 할당량은 크게 상향 조정됩니다.
대부분의 개발자에게 프로젝트 할당량 한도는 문제가 되지 않지만 필요한 경우 프로젝트 할당량 상향 조정을 요청할 수 있습니다.
프로젝트를 완전히 삭제하는 데는 30일이 걸리며 완전히 삭제되기 전에는 할당량에 포함된다는 점에 유의하세요.
Firebase 프로젝트에 Firebase 앱을 몇 개까지 포함할 수 있나요?
Firebase 프로젝트는 Apple, Android, 웹에서 사용할 수 있는 Firebase 앱용 컨테이너입니다. Firebase에서는 Firebase 프로젝트 내의 총 Firebase 앱 수를 30개로 제한합니다.
이 숫자를 초과하면 성능이 저하되기 시작하며(특히 Google 애널리틱스) 결국 더 많은 앱에서 일부 제품 기능이 작동하지 않습니다. 또한 프로젝트에 Firebase 앱을 추가하면 기본 OAuth 2.0 클라이언트 ID가 하나 이상 생성됩니다. 프로젝트 하나에 만들 수 있는 클라이언트 ID의 한도는 약 30개입니다.
단일 Firebase 프로젝트 내의 모든 Firebase 앱은 최종 사용자의 관점에서 동일한 애플리케이션의 플랫폼 변형 버전이어야 합니다. 예를 들어 화이트 라벨 애플리케이션을 개발하는 경우 독립적으로 라벨이 지정된 각 앱마다 자체 Firebase 프로젝트가 있어야 합니다. 하지만 해당 라벨의 Apple 및 Android 버전은 동일 프로젝트에 있을 수 있습니다. 자세한 내용은 Firebase 프로젝트 설정에 관한 일반적인 권장사항을 참조하세요.
드문 경우지만 프로젝트에 30개가 넘는 앱이 필요한 경우 앱 한도 상향 조정을 요청할 수 있습니다. 이 요청을 하려면 프로젝트에서 Blaze 요금제를 사용해야 합니다. Google Cloud 콘솔로 이동하여 요청하고 상향 조정이 가능한지 확인합니다. Google Cloud 문서에서 할당량 관리에 대해 자세히 알아보세요
프로젝트를 '프로덕션' 환경으로 태그하면 어떻게 되나요?
Firebase Console에서 Firebase 프로젝트를 환경 유형(프로덕션 또는 미지정(비프로덕션) 환경 중 하나)으로 태그할 수 있습니다.
프로젝트를 환경 유형으로 태그해도 Firebase 프로젝트의 작동 방식 또는 기능에 영향을 주지 않습니다. 하지만 태그를 사용하면 개발자와 팀이 앱 수명 주기 동안 다양한 Firebase 프로젝트를 관리하는 데 도움이 됩니다.
프로젝트에 태그를 프로덕션 환경으로 지정하면 Firebase Console의 프로젝트에 밝은 색상의 Prod 태그가 추가되어 변경사항이 관련 프로덕션 앱에 영향을 줄 수 있음을 알립니다. 향후 프로덕션 환경으로 태그된 Firebase 프로젝트에 더 많은 기능과 보호 수단이 추가될 수 있습니다.
Firebase 프로젝트의 환경 유형을 변경하려면 settings > 프로젝트 설정 > 일반으로 이동한 다음 환경 아래의 프로젝트 카드에서 edit을 클릭하여 환경 유형을 변경합니다.
Firebase 앱의 앱 ID는 어디에서 찾을 수 있나요?
Firebase Console에서 settings프로젝트 설정으로 이동합니다. 내 앱 카드까지 아래로 스크롤한 다음 원하는 Firebase 앱을 클릭하여 앱 ID를 포함한 앱 정보를 확인합니다.
다음은 앱 ID 값의 몇 가지 예시입니다.
-
Firebase iOS 앱:
1:1234567890:ios:321abc456def7890
- Firebase Android 앱:
1:1234567890:android:321abc456def7890
-
Firebase 웹 앱:
1:1234567890:web:321abc456def7890
Google Play/AdMob/Google Ads/BigQuery를 내 Firebase 프로젝트 또는 앱에 연결하기 위한 기본 요건은 무엇인가요?
- Google Play 계정을 연결하려면 다음이 필요합니다.
- Firebase 역할(소유자 또는 Firebase 관리자) 중 하나
- Google Play 액세스 수준(계정 소유자 또는 관리자) 중 하나
- Firebase 역할(소유자 또는 Firebase 관리자) 중 하나
- AdMob 앱을 연결하려면 Firebase 프로젝트 소유자이면서 동시에 AdMob 관리자여야 합니다.
- 애드워즈 계정을 연결하려면 Firebase 프로젝트 소유자이면서 동시에 애드워즈 관리자여야 합니다.
- BigQuery 프로젝트를 연결하려면 Firebase 프로젝트 소유자여야 합니다.
앱에 어떤 오픈소스 알림을 포함해야 하나요?
Apple 플랫폼의 경우 Firebase 포드에 관련 항목을 포함하는 NOTICES 파일이 있습니다. Firebase Android SDK에는 라이선스 정보 표시를 위한 헬퍼Activity
가 포함되어 있습니다.
Firebase 프로젝트의 권한 및 액세스
프로젝트 구성원에게 소유자 역할과 같은 역할을 할당하려면 어떻게 해야 하나요?
각 프로젝트 구성원에게 할당된 역할을 관리하려면 Firebase 프로젝트의 소유자이거나 resourcemanager.projects.setIamPolicy
권한이 있는 역할을 할당받아야 합니다.
다음 위치에서 역할을 할당하고 관리할 수 있습니다.
- Firebase Console은 settings > 프로젝트 설정의 사용자 및 권한 탭에서 프로젝트 구성원에게 역할을 할당할 수 있는 간단한 방법을 제공합니다. Firebase Console에서 기본 역할(소유자, 편집자, 뷰어), Firebase 관리자/뷰어 역할 또는 사전 정의된 Firebase 제품 카테고리 역할을 할당할 수 있습니다.
- Google Cloud 콘솔은 IAM 페이지에서 프로젝트 구성원에게 역할을 할당할 수 있는 다양한 도구 모음을 제공합니다. 또한 Cloud 콘솔에서 커스텀 역할을 만들고 관리할 수 있을 뿐만 아니라 서비스 계정에 프로젝트에 대한 액세스 권한을 부여할 수 있습니다.
Google Cloud 콘솔에서는 프로젝트 구성원을 주 구성원이라고 합니다.
프로젝트 소유자가 더 이상 소유자의 작업을 수행할 수 없으며(예: 직원 퇴사) 프로젝트가 Google Cloud 조직을 통해 관리되지 않는 경우(다음 단락 참조) Firebase 지원팀에 문의하여 임시 소유자를 할당할 수 있습니다.
Firebase 프로젝트가 Google Cloud 조직에 속한 경우 소유자가 없을 수 있습니다. Firebase 프로젝트의 소유자를 찾을 수 없으면 Google Cloud 조직의 관리자에게 프로젝트의 소유자를 할당해 달라고 요청하세요.
Firebase 프로젝트의 소유자를 찾으려면 어떻게 해야 하나요?
다음 위치에서 프로젝트 구성원과 구성원 역할을 볼 수 있습니다.
- Firebase Console의 프로젝트에 대한 액세스 권한이 있는 경우 Firebase Console의 사용자 및 권한 페이지에서 소유자를 포함한 프로젝트 구성원 목록을 볼 수 있습니다.
- Firebase Console에서 프로젝트에 액세스할 수 없으면 Google Cloud 콘솔의 프로젝트에 액세스할 수 있는지 확인합니다. Google Cloud 콘솔의 IAM 페이지에서 소유자를 포함한 프로젝트 구성원 목록을 볼 수 있습니다.
프로젝트 소유자가 더 이상 소유자의 작업을 수행할 수 없으며(예: 직원 퇴사) 프로젝트가 Google Cloud 조직을 통해 관리되지 않는 경우(다음 단락 참조) Firebase 지원팀에 문의하여 임시 소유자를 할당할 수 있습니다.
Firebase 프로젝트가 Google Cloud 조직에 속한 경우 소유자가 없을 수 있습니다. 대신 Google Cloud 조직을 관리하는 사람이 소유자가 할 수 있는 많은 작업을 수행할 수 있습니다. 그러나 몇 가지 소유자 관련 작업(예: 역할 할당, Google 애널리틱스 속성 관리)을 수행하기 위해서는 관리자가 자신에게 실제 소유자 역할을 할당해야 할 수 있습니다. Firebase 프로젝트의 소유자를 찾을 수 없으면 Google Cloud 조직의 관리자에게 프로젝트의 소유자를 할당해 달라고 요청하세요.
프로젝트 구성원에게 소유자 역할을 할당해야 하는 이유는 무엇이며 시기는 언제인가요?
Firebase 프로젝트를 올바르게 관리하려면 소유자가 있어야 합니다. 프로젝트 소유자는 중요한 관리 작업(예: 역할 할당, Google 애널리틱스 속성 관리)을 수행할 수 있는 사람이며, Firebase 지원팀은 확인된 프로젝트 소유자의 관리 요청만 처리할 수 있습니다.
Firebase 프로젝트의 소유자를 설정한 후에는 할당을 최신 상태로 유지하는 것이 중요합니다.
Firebase 프로젝트가 Google Cloud 조직에 속해 있는 경우 Google Cloud 조직을 관리하는 사람이 소유자가 할 수 있는 여러 태스크를 수행할 수 있습니다. 그러나 몇 가지 소유자 관련 태스크(예: 역할 할당 또는 Google 애널리틱스 속성 관리)의 경우 수행하려면 관리자가 해당 태스크를 수행하려면 자신에게 실제 소유자 역할을 할당해야 할 수 있습니다.
Firebase 프로젝트가 없는 것 같은데 프로젝트 관련 이메일을 받았습니다. 이 프로젝트에 액세스하려면 어떻게 해야 하나요?
수신한 이메일에 Firebase 프로젝트를 여는 링크가 포함되어 있습니다. 이메일에 있는 링크를 클릭하면 Firebase Console에서 프로젝트가 열립니다.
링크의 프로젝트를 열 수 없는 경우 프로젝트에 대한 이메일을 수신한 것과 동일한 Google 계정을 사용하여 Firebase에 로그인해야 합니다. 콘솔의 오른쪽 상단 모서리에 있는 계정 아바타를 통해 Firebase Console에 로그인하고 로그아웃할 수 있습니다.
Google Cloud 조직의 관리자인 경우 조직 내 Firebase 프로젝트 변경사항에 대한 알림을 받을 수 있습니다. Firebase 프로젝트를 열 수 있는 권한이 없을 수 있습니다. 이러한 경우에 가장 간단한 해결책은 실제 소유자 역할을 자신에게 할당하여 프로젝트를 열고 필요한 작업을 수행하는 것입니다. 소유자 역할을 할당하는 이유 및 시기에 대해 자세히 알아보세요.
플랫폼 및 프레임워크
더 많은 FAQ에 대한 유용한 팁과 답변을 보려면 플랫폼별 문제 해결 및 FAQ 페이지를 방문하세요.
Firebase Console
Firebase Console 사용을 지원하는 브라우저는 무엇인가요?
Chrome, Firefox, Safari, Edge와 같은 널리 사용되는 최신 버전의 데스크톱 브라우저에서 Firebase Console에 액세스할 수 있습니다. 모바일 브라우저는 현재 완벽하게 지원되지는 않습니다.
Firebase Console을 로드할 수 있지만 Firebase 프로젝트를 찾거나 액세스할 수 없는 이유는 무엇인가요?
이 FAQ는 다음과 같은 문제가 발생하는 경우에 적용됩니다.
- Firebase Console에서 프로젝트가 존재하지 않거나 프로젝트에 대한 액세스 권한이 없다는 오류 페이지가 반환됩니다.
- 콘솔의 검색창에 프로젝트 ID 또는 프로젝트 이름을 입력해도 Firebase Console에 프로젝트가 표시되지 않습니다.
아래 문제 해결 단계를 시도해 보세요.
- 먼저 프로젝트의 URL을 직접 방문하여 프로젝트에 액세스합니다. 다음 형식을 사용합니다.
https://console.firebase.google.com/project/PROJECT-ID/overview
- 여전히 프로젝트에 액세스할 수 없거나 권한 오류가 발생하는 경우 다음을 확인하세요.
- 프로젝트에 대한 액세스 권한이 있는 Google 계정을 사용하여 Firebase에 로그인해야 합니다. 콘솔의 오른쪽 상단 모서리에 있는 계정 아바타를 통해 Firebase Console에 로그인하고 로그아웃할 수 있습니다.
- 프로젝트에 Firebase Management API가 사용 설정되어 있는지 확인합니다.
- 기본 IAM 역할(소유자, 편집자, 뷰어) 중 하나 또는 Firebase 관련 권한이 있는 역할(예: 사전 정의된 Firebase 역할)이 할당되어 있는지 확인합니다. Google Cloud 콘솔의 IAM 페이지에서 역할을 볼 수 있습니다.
- 프로젝트가 Google Cloud 조직에 속한 경우 Firebase Console에 나열된 프로젝트를 보려면 추가 권한이 필요할 수 있습니다. Google Cloud 조직을 관리하는 사람에게 프로젝트를 볼 수 있는 적절한 역할(예: 브라우저 역할)을 요청하세요.
위 문제 해결 단계를 따라도 프로젝트를 찾거나 프로젝트에 액세스할 수 없다면 Firebase 지원팀에 문의하세요.
Firebase Console이 열리지 않는 이유는 무엇인가요?
이 FAQ는 다음과 같은 문제가 발생하는 경우에 적용됩니다.
- Firebase Console의 페이지 로드가 완료되지 않습니다.
- 페이지 내의 데이터가 정상적으로 로드되지 않습니다.
- Firebase Console을 로드할 때 브라우저 오류 메시지가 표시됩니다.
아래 문제 해결 단계를 시도해 보세요.
- Firebase 상태 대시보드의 Console 행에서 서비스 중단이 있는지 확인하세요.
- 지원되는 브라우저를 사용 중인지 확인합니다.
- 시크릿 모드나 비공개 창에서 Firebase Console을 로드해 봅니다.
- 모든 브라우저 확장 프로그램을 사용 중지합니다.
- 광고 차단 프로그램, 바이러스 백신, 프록시, 방화벽 또는 기타 소프트웨어에 의해 네트워크 연결이 차단되지 않았는지 확인합니다.
- 다른 네트워크 또는 기기를 사용하여 Firebase Console을 로드해 봅니다.
- Chrome을 사용하는 경우 개발자 도구 콘솔에서 오류가 있는지 확인합니다.
위 문제 해결 단계로도 문제가 해결되지 않으면 Firebase 지원팀에 문의하세요.
Firebase Console 언어는 어떻게 결정되나요?
Firebase Console의 언어 설정은 Google 계정 설정에서 선택한 언어에 따라 결정됩니다.
언어 환경설정을 변경하려면 언어 변경을 참조하세요.
Firebase Console은 다음 언어를 지원합니다.
- 영어
- 포르투갈어(브라질)
- 프랑스어
- 독일어
- 인도네시아어
- 일본어
- 한국어
- 러시아어
- 중국어 간체
- 스페인어
- 중국어 번체
Firebase Console에서 지원하는 역할과 권한은 무엇인가요?
Firebase Console 및 Google Cloud 콘솔에서는 같은 기본 역할과 권한을 사용합니다. Firebase IAM 문서에서 역할과 권한에 대해 자세히 알아보세요.
Firebase는 소유자, 편집자, 뷰어의 기본 역할을 지원합니다.
- 프로젝트 소유자는 프로젝트에 다른 구성원을 추가하고 통합(BigQuery 또는 Slack과 같은 서비스에 프로젝트 연결)을 설정할 수 있으며 프로젝트에 대한 전체 수정 액세스 권한을 보유합니다.
- 프로젝트 편집자는 프로젝트에 대한 전체 수정 액세스 권한을 보유합니다.
- 프로젝트 뷰어는 프로젝트에 대한 읽기 액세스 권한만 보유합니다. 현재 Firebase Console에서는 프로젝트 뷰어가 편집 UI 컨트롤을 볼 수 있고 컨트롤이 사용 설정된 것으로 나타나지만 뷰어 역할이 있는 프로젝트 구성원은 수정 작업을 수행할 수 없습니다.
Firebase는 다음 역할도 지원합니다.
- Firebase 사전 정의된 역할 - 소유자, 편집자, 뷰어의 기본 역할보다 더욱 세부적으로 액세스를 제어할 수 있는 선별된 Firebase 전용 역할입니다.
- 커스텀 역할 - 조직의 구체적인 요구사항에 맞춰 특정 권한을 보유하도록 완전히 맞춤설정된 IAM 역할입니다.
가격 책정
어떤 제품이 유료이고 어떤 제품이 무료인가요?
Firebase의 유료 인프라 제품은 실시간 데이터베이스, Firebase용 Cloud Storage, Cloud Functions, 호스팅, Test Lab, 전화 인증입니다. 이러한 모든 기능에 무료 등급도 제공됩니다.
Firebase에는 애널리틱스, 클라우드 메시징, 알림 작성기, 원격 구성, 앱 색인 생성, 동적 링크, 비정상 종료 보고 등 무료 제품도 많이 있습니다. 무료 Spark 요금제를 비롯한 모든 요금제에서 이러한 제품을 무제한으로 사용할 수 있습니다. 또한 전화 인증을 제외한 모든 인증 기능은 무료입니다.
Firebase에서 유료 제품에 대한 무료 체험판 크레딧이 제공되나요?
Firebase 유료 서비스는 Google Cloud 무료 체험판에서 사용할 수 있습니다. 신규 Google Cloud 및 Firebase 사용자는 Google Cloud 및 Firebase 제품과 서비스를 탐색하고 평가할 수 있는 $300의 무료 Cloud Billing 크레딧이 포함된 90일 무료 체험 기간을 활용할 수 있습니다.
Google Cloud 무료 체험 기간 중에는 무료 체험판 Cloud Billing 계정이 제공됩니다. 해당 결제 계정을 사용하는 모든 Firebase 프로젝트는 무료 체험 기간 동안 Blaze 요금제를 사용하게 됩니다.
이 무료 체험판 Cloud Billing 계정을 설정해도 요금이 부과되지는 않습니다. 무료 체험판 Cloud Billing 계정을 유료 계정으로 업그레이드하여 명시적으로 결제를 사용 설정하지 않으면 요금이 청구되지 않습니다. 무료 체험판 사용 기간 중에 언제든지 유료 계정으로 업그레이드할 수 있습니다. 업그레이드한 후에도 90일 기간 동안 남아 있는 크레딧을 사용할 수 있습니다.
무료 체험판이 만료된 후에는 Firebase 프로젝트를 계속 사용할 수 있도록 Firebase Console에서 프로젝트를 Spark 요금제로 다운그레이드하거나 Blaze 요금제를 설정해야 합니다.
Google Cloud 무료 체험판 자세히 알아보기
어떤 요금제가 적합한지 어떻게 알 수 있나요?
Spark 요금제
Spark 요금제는 앱을 무료로 개발하는 데 매우 유용합니다. 애널리틱스, 알림 작성기, Crashlytics 등의 무료 Firebase 기능이 모두 제공되며 유료 인프라 기능도 넉넉하게 제공됩니다. 그러나 한 달 중에 Spark 요금제 리소스를 소진하면 월말까지 앱이 정지됩니다. 또한 Spark 요금제에서는 Google Cloud 기능을 사용할 수 없습니다.
Blaze 요금제
Google의 Blaze 요금제는 프로덕션 앱용으로 고안되었습니다. Blaze 요금제를 사용하면 유료 Google Cloud 기능으로 앱을 확장할 수도 있습니다. 사용한 리소스에 대해서만 요금을 지불하므로 수요에 맞게 확장할 수 있습니다. Google은 업계의 주요 클라우드 제공업체보다 유리한 가격으로 Blaze 요금제를 제공하기 위해 노력하고 있습니다.
사용량과 결제를 모니터링하려면 어떻게 해야 하나요?
Firebase Console의 다음 대시보드에서 프로젝트 리소스 사용량을 추적할 수 있습니다.
Flame 요금제는 어떻게 되었나요?
2020년 1월에 신규 가입 옵션인 Flame 요금제(추가 할당량: $25/월)가 삭제되었습니다. 기존 요금제 사용자에게는 Flame 요금제에서 프로젝트를 마이그레이션할 수 있는 유예 기간이 제공됩니다.
2022년 2월에 Flame 요금제의 나머지 프로젝트는 Spark 요금제로 다운그레이드되었습니다.
이에 따라 다음 사항에 주의하세요.
- 기존의 Spark 및 Blaze 요금제 프로젝트와 모든 새 프로젝트는 더 이상 Flame 요금제로 전환하거나 가입할 수 없습니다.
- 기존 Flame 요금제 프로젝트를 다른 요금제로 이전한 경우 해당 프로젝트는 Flame 요금제로 다시 되돌릴 수 없습니다.
- Spark 요금제로 다운그레이드한 프로젝트는 Blaze 요금제로 업그레이드하여 추가 유료 서비스를 재개할 수 있습니다.
- Flame 요금제에 대한 관련 참조가 문서에서 삭제되었습니다.
Flame 요금제 사용 중단에 대한 더 궁금한 점이 있으신가요? 아래에서 추가 FAQ를 읽어 보세요.
Firebase에서 제공하는 다른 요금제에 대해 알아보고 싶으신가요? 자세한 내용은 Firebase 가격 책정 페이지를 참조하세요. 기존 프로젝트를 다른 요금제로 이전하려는 경우 프로젝트의 Firebase Console에서 이전하면 됩니다.
Flame 요금제의 사용 중단 관련 추가 FAQ
고정 Firebase 비용을 사용하는 프로젝트, 프로세스 또는 비즈니스 모델이 있습니다. 어떻게 해야 하나요?
Blaze 요금제에 가입하고 예산 알림을 설정해야 합니다.
새로운 Flame 요금제 프로젝트를 생성할 수 있는 특수한 액세스 권한이 부여될 수 있나요?
아니요, Firebase에서는 Flame 요금제로 전환하거나 가입할 수 있는 특별한 액세스 권한을 제공하지 않습니다.
Flame 요금제 프로젝트를 다른 요금제로 변경했습니다. 되돌리려면 어떻게 해야 하나요?
더 이상 Flame 요금제로 전환할 수 없습니다. Flame 요금제로 제공되는 서비스에 액세스하려면 Blaze 요금제를 사용하고 있는지 확인하고 프로젝트에 대한 예산 알림 설정을 사용하는 것이 좋습니다.
프로젝트가 Flame 요금제 종료로 인해 자동으로 다른 요금제로 전환되었습니다. 어떻게 해야 하나요?
프로젝트에 Spark 요금제에서 제공하는 것 이상의 추가 할당량이 필요한 경우 프로젝트를 Blaze 요금제로 업그레이드해야 합니다.
Flame 요금제가 중단되는 이유는 무엇인가요?
몇 년 동안 Flame 요금제의 사용량이 감소하고 있으며 이 요금제를 사용하는 대부분의 프로젝트는 요금제에서 제공되는 혜택을 모두 사용하고 있지 않습니다. Google은 이 요금제를 유지하는 것이 일반적으로 경제적이지 않으며 리소스가 다른 Firebase 이니셔티브에 제공되면 모든 사용자를 더 효과적으로 지원할 수 있다고 생각합니다.
Blaze 요금제의 무료 사용량은 Spark 요금제의 무료 사용량과 어떻게 다른가요?
Blaze 요금제의 무료 사용량은 매일 계산됩니다. 또한 Cloud Functions, 전화 인증, Test Lab의 사용량 한도는 Spark 요금제와 다릅니다.
Cloud Functions의 경우 Blaze 요금제의 무료 사용량이 프로젝트 수준이 아닌 Cloud Billing 계정 수준에서 계산되며 다음과 같은 한도가 있습니다.
- 호출 200만 회/월
- 40만 GB-초/월
- 20만 CPU-초/월
- 네트워킹 이그레스 5GB/월
전화 인증의 경우 Blaze 요금제의 무료 사용량이 월 단위로 계산됩니다.
Test Lab의 경우 Blaze 요금제의 무료 사용량에 다음과 같은 한도가 있습니다.
- 실제 기기 시간 30분/일
- 가상 기기 시간 60분/일
Spark에서 Blaze 요금제로 변경하면 무료 사용 할당량이 재설정되나요?
Spark 요금제의 무료 사용량은 Blaze 요금제에 포함되어 있습니다. Blaze 요금제로 이동해도 무료 사용량이 재설정되지 않습니다.
'동시 데이터베이스 연결'은 무엇인가요?
동시 연결은 데이터베이스에 연결된 휴대기기, 브라우저 탭 또는 서버 앱 하나를 말합니다. Firebase는 앱의 데이터베이스에 대한 동시 연결 수를 일정하게 제한합니다. 이 제한은 Firebase 및 사용자를 악용 사례로부터 보호하려는 조치입니다.
Spark 요금제 한도가 100개이며 이 한도를 상향 조정할 수 없습니다. Flame 및 Blaze 요금제의 데이터베이스당 동시 연결 한도는 200,000개입니다.
모든 사용자가 동시에 연결하지는 않으므로 이 한도는 앱의 총 사용자 수와 다릅니다. 동시 연결이 200,000개 넘게 필요한 경우 여러 데이터베이스로 규모 확장을 참조하세요.
실시간 데이터베이스의 Spark 요금제 스토리지 또는 다운로드 한도를 초과하면 어떻게 되나요?
요금을 예측할 수 있도록 Spark 요금제에서 제공되는 리소스에는 한도가 설정되어 있습니다. 따라서 한 달 중에 요금제 한도를 초과하면 리소스를 더 이상 사용할 수 없도록 앱이 중지되므로 추가 요금이 부과되지 않습니다.
실시간 데이터베이스에 대한 Spark 요금제의 동시 연결 한도를 초과하면 어떻게 되나요?
앱이 Spark 요금제의 동시 연결 한도에 도달하면 기존 연결 중 일부가 종료될 때까지 이후의 모든 연결이 거부됩니다. 이미 연결된 사용자는 앱을 계속 사용할 수 있습니다.
Cloud Storage에 대한 Spark 요금제 업로드, 다운로드, 저장용량 한도를 초과하면 어떻게 되나요?
Spark 요금제에서 프로젝트의 Cloud Storage 한도를 초과하면 어떠한 한도를 초과했는지에 따라 다른 결과가 발생합니다.
- 저장된 크기(GB) 한도를 초과하면 해당 프로젝트에 데이터를 더 이상 저장할 수 없으며 저장된 데이터 일부를 삭제하거나 저장공간을 더 많이 또는 무제한 저장공간을 제공하는 요금제로 업그레이드해야 합니다.
- 다운로드한 크기(GB) 한도를 초과하면 다음 날이 시작될 때까지(미국 태평양 표준시 자정 기준) 앱에서 데이터를 더 이상 다운로드할 수 없으며 한도에 여유가 있거나 무제한 요금제로 업그레이드해야 합니다.
- 업로드 또는 다운로드 작업 한도를 초과하면 다음 날이 시작될 때까지(미국 태평양 표준시 자정 기준) 앱에서 데이터를 더 이상 업로드하거나 다운로드할 수 없으며 한도에 여유가 있거나 무제한 요금제로 업그레이드해야 합니다.
Firebase의 Google Cloud와 통합은 어떻게 작동하나요?
Firebase는 Google Cloud와 긴밀하게 통합되어 있습니다. Firebase와 Google Cloud 간에 프로젝트가 공유되므로 프로젝트에서 Firebase 서비스와 Google Cloud 서비스를 함께 사용할 수 있습니다. Firebase Console 또는 Google Cloud 콘솔에서 동일한 프로젝트에 액세스할 수 있습니다. 구체적으로는 다음과 같습니다.
- Firebase용 Cloud Storage와 같은 특정 Firebase 제품은 Google Cloud에서 직접 지원합니다. Google Cloud에서 지원하는 제품 목록은 앞으로 계속 증가할 예정입니다.
- 공동작업자, 결제 정보 등의 여러 가지 설정이 Firebase와 Google Cloud에서 공유됩니다. Firebase 및 Google Cloud 사용량은 동일한 청구서에 표기됩니다.
뿐만 아니라 Blaze 요금제로 업그레이드하면 Firebase 프로젝트 내에서 직접 Google Cloud의 세계적인 Infrastructure-as-a-Service 및 API를 표준 Google Cloud 가격 책정으로 사용할 수 있습니다. 또한 Google Cloud에서 BigQuery로 직접 데이터를 내보내서 분석할 수 있습니다. 자세한 내용은 Firebase와 BigQuery 연결을 참조하세요.
Firebase를 Google Cloud와 함께 사용하면 다른 곳에 배치된 여타 클라우드 서비스를 함께 사용할 때보다 보안 강화, 지연 시간 단축, 개발 시간 절약 등 수많은 장점이 있습니다. 자세한 내용은 Google Cloud 사이트를 참조하세요.
Google Cloud 콘솔에서 Firebase 프로젝트의 결제 계정을 추가하거나 삭제하면 해당 계정이 어떻게 되나요?
Google Cloud 콘솔의 프로젝트에 Cloud Billing 계정을 추가하면 해당 프로젝트가 현재 Spark 요금제를 사용 중인 경우 동일한 프로젝트가 Firebase Blaze 요금제로 자동 업그레이드됩니다.
반면 Google Cloud 콘솔에서 프로젝트의 기존 활성 Cloud Billing 계정이 삭제되면 이 프로젝트가 Firebase Spark 요금제로 다운그레이드됩니다.
언제라도 업그레이드 또는 다운그레이드하거나 취소할 수 있나요?
예, 언제든지 업그레이드, 다운그레이드 또는 취소할 수 있습니다. 단, 다운그레이드 또는 취소에 대해 일할 계산하여 환불은 받을 수 없습니다. 따라서 결제 기간이 끝나기 전에 다운그레이드 또는 취소하더라도 해당 월의 나머지 기간에 대한 비용을 지불해야 합니다.
어떤 지원을 받나요?
무료 요금제를 사용하는 앱을 비롯한 모든 Firebase 앱에는 미국 태평양 표준시 기준 영업시간 동안 Firebase 직원의 이메일 지원이 제공됩니다. 모든 계정에 결제 관련 문제, 계정 관련 문제, 기술(문제 해결) 관련 질문, 이슈 보고에 대한 무제한 지원이 제공됩니다.
Blaze 요금제에서 사용량을 제한할 수 있나요?
아니요, 현재는 Blaze 요금제 사용량에 한도를 설정할 수 없지만 Google은 한도 설정 기능을 지원하는 방안을 검토하고 있습니다.
Blaze 사용자는 프로젝트 또는 계정에 대한 예산을 정의할 수 있고 비용이 한도에 접근함에 따라 알림을 받을 수 있습니다. 알림 설정 방법 알아보기
자동 백업이란 무엇인가요? 시간별 백업도 제공하나요?
자동 백업은 Blaze 요금제 고객을 위한 고급 기능으로 Firebase 실시간 데이터베이스 데이터를 하루에 한 번 백업하여 Google Cloud Storage에 업로드합니다.
시간별 백업은 제공되지 않습니다.
오픈소스, 비영리단체, 교육용 제품 할인이 있나요?
Spark 요금제는 비영리단체, 학교, 오픈소스 프로젝트를 포함하여 모든 개인과 단체가 사용할 수 있습니다. 이러한 요금제는 이미 넉넉한 할당량을 제공하므로 오픈소스, 비영리단체 또는 교육 목적 프로젝트에 특별 할인이나 요금제를 제공하지 않습니다.
기업용 계약, 가격 책정, 지원 또는 전용 인프라 호스팅을 제공하나요?
Blaze 요금제는 규모에 관계없이 모든 기업에 적합하며 SLA는 클라우드 인프라의 업계 표준 이상을 충족합니다. 그러나 실시간 데이터베이스와 같은 서비스에 대한 기업용 계약, 가격 책정, 지원이나 전용 인프라 호스팅(기업 내 설치)은 제공하지 않습니다. Google은 이러한 기능 일부를 추가하기 위해 노력하고 있습니다.
특별 임시 요금을 제공하나요? 1~2개 기능을 사용한 만큼만 지불하고 싶습니다.
Blaze 요금제에서는 사용하는 기능에 대한 요금만 지불하는 임시 요금을 제공합니다.
유료 Firebase 요금제에서 Ads를 어떻게 사용하나요? 유료 요금제에 사용할 수 있는 무료 광고 크레딧이 있나요?
Firebase 요금제는 Ads와 별개이므로 무료 광고 크레딧은 제공되지 않습니다. Firebase 개발자는 Ads 계정을 Firebase에 '연결'하여 전환 추적을 지원할 수 있습니다.
모든 광고 캠페인은 Ads에서 직접 관리되고 Ads 결제는 Ads 콘솔에서 관리됩니다.
Cloud Functions 가격 책정
Firebase용 Cloud Functions를 사용하기 위해 결제 계정이 필요한 이유는 무엇인가요?
Firebase용 Cloud Functions는 일부 유료 Google 서비스를 사용합니다. Firebase CLI 11.2.0 이상을 사용하는 새 함수 배포는 Cloud Build 및 Artifact Registry를 사용합니다. 이전 버전에 배포할 때는 동일한 방식으로 Cloud Build를 사용하지만 Artifact Registry 대신 Container Registry 및 Cloud Storage를 스토리지에 사용합니다. 이러한 서비스 사용에는 기존 가격 외에 추가 요금이 청구됩니다.
Firebase CLI 11.2.0 이상 버전의 저장공간
Artifact Registry는 함수가 실행되는 컨테이너를 제공합니다. Artifact Registry는 처음 500MB를 무료로 제공하므로 첫 번째 함수 배포에는 수수료가 발생하지 않습니다. 이 기준을 초과하면 추가 스토리지 1GB당 월 $0.10가 청구됩니다.
Firebase CLI 11.1.x 및 이전 버전의 저장공간
이전 버전에 배포된 함수의 경우 Container Registry는 함수가 실행되는 컨테이너를 제공합니다. 함수를 배포하는 데 필요한 각 컨테이너에 대한 요금이 청구됩니다. 저장된 각 컨테이너에 대한 소액의 요금이 청구될 수 있습니다. 예를 들어 스토리지 1GB에 월 $0.026가 청구됩니다.
청구서가 어떻게 변경되는지 자세히 알아보려면 다음을 참조하세요.
- Cloud Functions 가격 책정: 기존 무료 등급은 변경되지 않습니다.
- Cloud Build 가격 책정: Cloud Build는 무료 등급을 제공합니다.
- Artifact Registry 가격 책정
- Container Registry 가격 책정
Firebase용 Cloud Functions에는 계속 무료 사용량이 제공되나요?
예. Blaze 요금제에서 Cloud Functions는 호출, 컴퓨팅 시간, 인터넷 트래픽을 위한 무료 등급을 제공합니다. 처음 2,000,000회 호출, 400,000GB-초, 200,000 CPU-초, 5GB의 인터넷 이그레스 트래픽이 매월 무료로 제공됩니다. 기준점을 초과하는 사용량에 대해서만 요금이 청구됩니다.
처음 500MB의 무료 스토리지를 소진하면 배포 작업 시마다 함수의 컨테이너에 사용되는 스토리지에 대해 소규모 요금이 부과됩니다. 개발 프로세스에서 테스트용 함수 배포를 사용하는 경우 개발 중에 Firebase 로컬 에뮬레이터 도구 모음을 사용하여 비용을 최소화할 수 있습니다.
Firebase 요금제 및 Cloud Functions 가격 책정 예시 시나리오를 참조하세요.
Firebase에서 Firebase용 Cloud Functions의 할당량 및 한도를 상향 조정할 계획이 있나요?
아니요, 최대 빌드 시간 제한 삭제 외에는 할당량을 변경할 수 있는 요금제는 없습니다. 일일 빌드 할당량 120분에 도달하면 오류나 경고가 표시되지 않고 Blaze 요금제 조건에 따라 요금이 청구됩니다. 할당량 및 한도를 참조하세요.
Google Cloud $300 크레딧을 받을 수 있나요?
예, Google Cloud 콘솔에서 Cloud Billing 계정을 만들면 $300의 크레딧을 받은 후 해당 Cloud Billing 계정을 Firebase 프로젝트에 연결할 수 있습니다.
Google Cloud 크레딧에 대한 자세한 내용은 여기를 참조하세요.
Firebase Console에서 Blaze 요금제를 설정해야 $300 크레딧 소진 후에도 프로젝트가 계속 작동할 수 있습니다.
Codelab을 따라 Firebase에 대해 알아보고 싶습니다. 임시 결제 계정을 제공해 주시겠어요?
아니요, Cloud Billing 계정이 없어도 개발을 위해 Firebase 에뮬레이터를 사용할 수 있습니다. 또는 Google Cloud 무료 체험판을 신청해 보세요. 이러한 변경사항 때문에 청구서를 여전히 결제하는 데 문제가 있으면 Firebase 지원팀에 문의하세요.
청구 금액이 많아질까봐 걱정됩니다.
Google Cloud 콘솔에서 예산 알림을 설정하여 비용을 관리할 수 있습니다. 또한 각 함수에 생성되는 청구 대상 인스턴스 수에 제한을 설정할 수 있습니다. 일반적인 시나리오의 비용을 확인하려면 Cloud Functions 가격 책정의 예시를 참조하세요.
현재 청구 내역을 확인하려면 어떻게 해야 하나요?
Firebase Console에서 사용량 및 결제 대시보드를 확인하세요.
Firebase Extensions를 사용하고 있습니다. 결제 계정이 필요한가요?
예. 확장 프로그램에서 Cloud Functions를 사용하므로 다른 함수와 동일한 요금이 확장 프로그램에 청구됩니다.
확장 프로그램을 사용하려면 Blaze 요금제로 업그레이드해야 합니다. Firebase 서비스 사용과 관련된 비용 외에도 설치한 각 확장 프로그램에 필요한 Firebase 리소스에 대해 사용 여부와 관계없이 소액(일반적으로 매월 약 $0.01 정도)이 청구됩니다.
개인 정보 보호
Firebase의 개인 정보 보호 및 보안에 대한 정보를 어디에서 찾을 수 있나요?
Firebase의 개인 정보 보호 및 보안 페이지를 확인하세요.
Firebase SDK는 사용 및 진단 정보를 애널리틱스 외부에 로깅하나요?
예. 현재 iOS만 해당되지만 향후 변경될 수 있습니다. Firebase Apple 플랫폼 SDK에는 기본적으로 FirebaseCoreDiagnostics
프레임워크가 포함되어 있습니다. Firebase에서 SDK 사용 및 진단 정보를 수집하여 향후 제품 개선사항 우선순위를 결정하는 데 이 프레임워크를 사용합니다. FirebaseCoreDiagnostics
는 선택사항이므로 Firebase 진단 로그 전송을 선택 해제하려면 애플리케이션에서 라이브러리를 연결 해제하면 됩니다. GitHub에서 로깅된 값 등 전체 소스를 찾아볼 수 있습니다.
A/B 테스팅
A/B 테스팅: 실험을 몇 개까지 만들고 실행할 수 있나요?
프로젝트당 최대 300개의 실험이 허용되며 최대 24개까지 진행 중인 실험으로, 나머지는 초안 또는 완료로 구성할 수 있습니다.
A/B 테스팅: Google 애널리틱스에서 프로젝트를 연결 해제했다가 다시 연결한 후 실험이 표시되지 않는 이유는 무엇인가요?
다른 Google 애널리틱스 속성에 연결하면 이전에 만든 실험에 액세스할 수 없게 됩니다. 이전 실험에 다시 액세스하려면 해당 실험을 만들 때 연결했던 Google 애널리틱스 속성에 프로젝트를 다시 연결하세요.
AdMob
AdMob: Windows 앱을 Firebase에 연결할 수 있나요?
아니요, Windows 앱은 현재 지원되지 않습니다.
AdMob: Firebase Console에서 앱을 AdMob에 연결할 수 없는 이유는 무엇인가요?
AdMob 콘솔을 통해 AdMob 앱을 Firebase 앱으로 연결할 수 있습니다. 방법 알아보기
AdMob: Firebase 앱을 AdMob 앱에 연결하는 데 필요한 권한이나 액세스 권한은 어떻게 되나요?
이 연결에는 다음 액세스 권한이 필요합니다.
- AdMob: AdMob 관리자여야 합니다.
- Firebase: 소유자 역할 및 Firebase 관리자 역할에 포함된
firebase.links.create
권한이 있어야 합니다. - Google 애널리틱스: Firebase 프로젝트와 관련된 속성에 대해 수정 역할 또는 사용자 관리 역할이 있어야 합니다. 자세히 알아보기
AdMob: 동일한 AdMob 계정의 여러 사용자가 AdMob 앱과 Firebase 앱을 연결할 수 있나요?
멀티 사용자 AdMob 계정의 경우 첫 번째 Firebase 링크를 만들고 Firebase 서비스 약관에 동의한 사용자만 AdMob 앱과 Firebase 앱 사이에 새 링크를 만들 수 있습니다.
AdMob: AdMob을 사용하려면 AdMob용 Firebase SDK 또는 Google 모바일 광고 SDK를 사용해야 하나요?
- iOS 프로젝트의 경우
Google 모바일 광고 SDK를 사용하세요.
pod 'Google-Mobile-Ads-SDK'
- Android 프로젝트의 경우
Google 모바일 광고 SDK를 사용하세요.
implementation 'com.google.android.gms:play-services-ads:21.5.0'
AdMob용 Firebase Android SDK에는 Google 애널리틱스용 Firebase SDK가 전이적으로 포함됩니다. 따라서 앱에서 Google 애널리틱스 API를 호출하고 Google 모바일 광고 SDK를 사용하도록 전환하는 경우 Google 애널리틱스용 Firebase SDK의 종속 항목(
)을 앱의com.google.firebase:firebase-analytics build.gradle
파일에 명시적으로 추가했는지 확인합니다. - C++ 프로젝트 및 Unity 프로젝트의 경우 해당 문서의 안내를 따르세요.
애널리틱스
애널리틱스: Firebase 제품을 사용할 때 Google 애널리틱스를 권장하는 이유는 무엇인가요?
Google 애널리틱스는 Firebase 기능과 연동하여 유용한 통계 자료를 제공하는 제한 없는 무료 분석 솔루션입니다. 사용 설정하면 Crashlytics의 이벤트 로그, FCM의 알림 효과, 동적 링크의 딥 링크 실적, Google Play의 인앱 구매 데이터를 볼 수 있습니다. 또한 원격 구성, 원격 구성 맞춤설정 등의 고급 잠재고객 타겟팅을 지원합니다.
Google 애널리틱스는 Firebase Console에서 인텔리전스 레이어 역할을 하면서 고품질의 앱을 개발하고 사용자층을 확대하여 더 많은 수익을 창출할 수 있는 활용 가능한 분석 정보를 더 많이 제공합니다.
시작하려면 문서를 읽어보세요.
애널리틱스: 애널리틱스 데이터가 나머지 Firebase와 공유되는 방식을 어떻게 관리하나요?
기본적으로 Google 애널리틱스 데이터는 다른 Firebase 및 Google 기능을 향상시키기 위해 사용됩니다. 언제든지 프로젝트 설정에서 Google 애널리틱스 데이터가 공유되는 방식을 관리할 수 있습니다. 데이터 공유 설정에 대해 자세히 알아보세요.
iOS 앱의 애널리틱스: 광고 표시 및 IDFA 수집 기능 없이 애널리틱스를 설치할 수 있나요?
예. 자세한 내용은 데이터 수집 및 사용 구성 페이지를 참조하세요.
애널리틱스: Google 애널리틱스에서 앱을 연결 해제한 후 데이터가 표시되지 않는 이유는 무엇인가요?
애널리틱스 데이터는 Firebase 프로젝트가 아닌 Google 애널리틱스 속성 내에 존재합니다. 속성을 삭제하거나 연결을 해제하면 프로젝트에서도 데이터가 연결 해제됩니다. 하지만 데이터는 여전히 해당 속성에 존재하므로 언제든지 프로젝트에 다시 연결할 수 있습니다.
새 Google 애널리틱스 계정과 새 속성을 만들면 Firebase Console에 빈 애널리틱스 대시보드가 생깁니다.
애널리틱스: 특정 기준에 맞지 않는 사용자를 어떻게 분리하나요?
이러한 사용자를 '제외하는 타겟팅'으로 문제를 재구성할 수 있습니다. 예를 들어 ‘어떤 항목을 구입한 사용자에게 광고를 게재하지 않음’으로 문제를 재구성하고 이러한 사용자 잠재고객을 대상으로 지정합니다.
애널리틱스: Google 애널리틱스 인터페이스에 정의된 잠재고객 또는 이벤트를 Firebase Console에서도 사용할 수 있나요?
잠재고객과 사용자 속성은 동기화됩니다. 일부 기능에서는 세분화 및 닫힌 유입경로와 같은 Google 애널리틱스 인터페이스를 사용해야 하며 Firebase Console의 딥 링크를 통해 Google 애널리틱스 인터페이스에 직접 액세스할 수 있습니다.
Firebase Console에서 변경한 내용을 Google 애널리틱스에서도 적용할 수 있으며 이러한 변경사항은 Firebase에 반영됩니다.
애널리틱스: 2021년 10월에 업데이트된 Google 애널리틱스 섹션에서 변경된 사항은 무엇인가요?
Firebase 고객센터 문서인 Firebase용 Google 애널리틱스의 새로운 Google 애널리틱스 4 기능에서 이러한 변경사항의 요약 내용을 확인할 수 있습니다.
애널리틱스 속성 업그레이드
애널리틱스: 완전히 업그레이드된 새로운 Google 애널리틱스 계정은 무엇인가요?
블로그 게시물에서 새로운 Google 애널리틱스 업그레이드에 대한 자세한 내용을 읽어볼 수 있습니다.
애널리틱스: Firebase용 Google 애널리틱스를 사용 중인지 아니면 완전히 업그레이드된 Google 애널리틱스 계정을 사용 중인지 어떻게 알 수 있나요?
Firebase Console의 애널리틱스 대시보드에서 'Google 애널리틱스에서 데이터 보기' 링크가 표시되는 경우 이는 프로젝트가 완전히 업그레이드된 Google 애널리틱스 계정을 사용 중인 것입니다.
또한 Firebase Console에서 Google 애널리틱스 카드를 통해 확인할 수도 있습니다. settings > 프로젝트 설정 > 통합에서 관리를 클릭하면 이 카드에 액세스할 수 있습니다. 내 Google 애널리틱스 속성 섹션에 나열된 연결된 Google 애널리틱스 계정이 표시되면 프로젝트가 Firebase에서 전체 Google 애널리틱스 환경을 사용하고 있는 것입니다. 연결된 Google 애널리틱스 계정이 표시되지 않으면 프로젝트가 Firebase용 Google 애널리틱스를 사용하고 있는 것입니다.
애널리틱스: 서비스를 유지하려면 Firebase용 Google 애널리틱스 속성을 언제 업그레이드해야 하나요?
2019년 7월 31일 이전에 만든 Firebase 프로젝트를 아직 업그레이드하지 않은 경우 전체 기능을 갖춘 Google 애널리틱스 4 환경으로 업그레이드해야 합니다. 업그레이드가 필요한 경우 애널리틱스 대시보드에 배너가 표시됩니다. 데이터를 계속 수집하려면 관련 서비스 약관에 2022년 2월 15일까지 동의해야 하며 2022년 3월 15일까지 동의하지 않으면 애널리틱스 속성과 해당 데이터가 삭제됩니다. 더 이상 Google 애널리틱스 및 관련 데이터를 사용하지 않으려면 별도의 조치가 필요하지 않으며 속성은 2022년 3월 15일에 삭제됩니다.
새 Google 애널리틱스 서비스 약관에 동의하지 않으면 비정상 종료가 발생하지 않은 사용자(Crashlytics), 타겟팅된 구성, 원격 구성 맞춤설정, A/B 테스팅 기능, 타겟팅 및 캠페인 측정항목(클라우드 메시징)을 포함한 Firebase 기능이 중단됩니다. 또한 BigQuery로 프로젝트 데이터 내보내기 ,Google Ads 통합 ,AdMob 통합 등 Firebase용 Google 애널리틱스 통합도 중단될 수 있습니다.
소유자 찾기 또는 할당 등 Firebase 프로젝트에 액세스하는 방법에 관해 궁금한 점이 있으면 Firebase 프로젝트의 권한 및 액세스 FAQ를 참조하세요.
애널리틱스: 새로운 Firebase용 Google 애널리틱스로 업그레이드하면 내 데이터는 어떻게 되나요?
Firebase Console의 기존 Firebase 프로젝트 분석 데이터는 업그레이드의 영향을 받지 않습니다.
현재 사용 중인 대시보드 및 워크플로와 동일한 대시보드와 워크플로를 계속 사용할 수 있으며 Google 애널리틱스의 일부 고급 기능에도 액세스할 수 있습니다.
업그레이드 후 교차 기기 보고서를 사용 설정하기로 결정하면 데이터가 UserID를 통해 중복 제거됩니다. 따라서 Firebase Console에서 일부 사용자 수가 줄어들 수 있습니다.
애널리틱스: 내 프로젝트를 새로운 Google 애널리틱스 환경으로 업그레이드하려고 할 때 오류가 발생하는 이유는 무엇인가요?
업그레이드 시 다음과 같은 오류가 발생하는 경우가 있습니다.
The operation has failed (Reason: Requested entity already exists)
또는
The operation has failed (Reason: Precondition check failed)
이것은 프로젝트와 기존 Google 애널리틱스 속성이 연결되어 있음을 의미합니다. Google 애널리틱스 인터페이스를 통해 속성을 연결 해제하거나 삭제하거나 업그레이드할 수 있습니다.
문제가 계속 발생하면 REST API에서
removeAnalytics
메서드를 사용하여 연결을 해제하고
addGoogleAnalytics
메서드를 사용하여 새 속성을 연결할 수 있습니다.
그런 다음 한 속성의 데이터를 다른 속성으로 이동할 수 있습니다.
인증
Firebase 인증: 어떠한 국가에서 전화 인증이 지원되나요?
Firebase 인증에서는 전 세계에서 전화번호 확인을 지원하지만 네트워크에 따라서는 확인 메시지가 안정적으로 전달되지 않을 수 있습니다. 전화번호 로그인을 안정적으로 사용할 수 있을 정도의 양호한 전달률을 제공하는 국가는 다음과 같습니다.
국가 | 코드 |
---|---|
AD | 안도라 |
AE | 아랍에미리트 |
AF | 아프가니스탄 |
AG | 앤티가 바부다 |
AL | 알바니아 |
AM | 아르메니아 |
AO | 앙골라 |
AR | 아르헨티나 |
AS | 아메리칸 사모아 |
AT | 오스트리아 |
AU | 오스트레일리아 |
AW | 아루바 |
AZ | 아제르바이잔 |
BA | 보스니아 헤르체고비나 |
BB | 바베이도스 |
BD | 방글라데시 |
BE | 벨기에 |
BF | 부르키나 파소 |
BG | 불가리아 |
BJ | 베냉 |
BM | 버뮤다 |
BN | 브루나이 |
BO | 볼리비아 |
BR | 브라질 |
BS | 바하마 |
BT | 부탄 |
BW | 보츠와나 |
BY | 벨라루스 |
BZ | 벨리즈 |
CA | 캐나다 |
CD | 콩고(킨샤사) |
CF | 중앙아프리카 공화국 |
CG | 콩고(브라자빌) |
CH | 스위스 |
CI | 코트디부아르 |
CK | 쿡 제도 |
CL | 칠레 |
CM | 카메룬 |
CO | 콜롬비아 |
CR | 코스타리카 |
CV | 카보 베르데 |
CW | 퀴라소 |
CY | 키프로스 |
CZ | 체코 |
DE | 독일 |
DJ | 지부티 |
DK | 덴마크 |
DM | 도미니카 |
DO | 도미니카 공화국 |
DZ | 알제리 |
EC | 에콰도르 |
EG | 이집트 |
ES | 스페인 |
ET | 에티오피아 |
FI | 핀란드 |
FJ | 피지 |
FK | 포클랜드 제도(말비나스) |
FM | 미크로네시아 연방 |
FO | 페로 제도 |
FR | 프랑스 |
GA | 가봉 |
GB | 영국 |
GD | 그레나다 |
GE | 조지아 |
GF | 프랑스령 기아나 |
GG | 건지 |
GH | 가나 |
GI | 지브롤터 |
GL | 그린란드 |
GM | 감비아 |
GP | 과들루프 |
GQ | 적도 기니 |
GR | 그리스 |
GT | 과테말라 |
GY | 가이아나 |
HK | 홍콩, 중국 특별행정구 |
HN | 온두라스 |
HR | 크로아티아 |
HT | 아이티 |
HU | 헝가리 |
ID | 인도네시아 |
IE | 아일랜드 |
IL | 이스라엘 |
IM | 맨 섬 |
IN | 인도 |
IQ | 이라크 |
IT | 이탈리아 |
JE | 저지 |
JM | 자메이카 |
JO | 요르단 |
JP | 일본 |
KE | 케냐 |
KG | 키르기스스탄 |
KH | 캄보디아 |
KM | 코모로스 |
KN | 세인트 키츠 네비스 |
KR | 대한민국 |
KW | 쿠웨이트 |
KY | 케이맨 제도 |
KZ | 카자흐스탄 |
LA | 라오스 |
LB | 레바논 |
LC | 세인트 루시아 |
LI | 리히텐슈타인 |
LK | 스리랑카 |
LS | 레소토 |
LT | 리투아니아 |
LU | 룩셈부르크 |
LV | 라트비아 |
LY | 리비아 |
MA | 모로코 |
MD | 몰도바 |
ME | 몬테네그로 |
MF | 생마르탱(프랑스령) |
MG | 마다가스카르 |
MK | 마케도니아 공화국 |
MM | 미얀마 |
MN | 몽골 |
MO | 마카오, 중국 특별행정구 |
MS | 몬트세랫 |
MT | 몰타 |
MU | 모리셔스 |
MW | 말라위 |
MX | 멕시코 |
MY | 말레이시아 |
MZ | 모잠비크 |
NA | 나미비아 |
NC | 뉴칼레도니아 |
NE | 니제르 |
NF | 노퍽 섬 |
NG | 나이지리아 |
NI | 니카라과 |
NL | 네덜란드 |
NO | 노르웨이 |
NP | 네팔 |
NZ | 뉴질랜드 |
OM | 오만 |
PA | 파나마 |
PE | 페루 |
PG | 파푸아 뉴기니 |
PH | 필리핀 |
PK | 파키스탄 |
PL | 폴란드 |
PM | 생피에르 미클롱 |
PR | 푸에르토리코 |
PS | 팔레스타인 자치정부 |
PT | 포르투갈 |
PY | 파라과이 |
QA | 카타르 |
RE | 레위니옹 |
RO | 루마니아 |
RS | 세르비아 |
RU | 러시아 연방 |
RW | 르완다 |
SA | 사우디아라비아 |
SC | 세이셸 |
SE | 스웨덴 |
SG | 싱가포르 |
SH | 세인트 헬레나 |
SI | 슬로베니아 |
SK | 슬로바키아 |
SL | 시에라리온 |
SN | 세네갈 |
SR | 수리남 |
ST | 상투메프린시페 |
SV | 엘살바도르 |
SZ | 에스와티니 |
TC | 터크스 케이커스 제도 |
TG | 토고 |
TH | 태국 |
TL | 동티모르 |
TM | 투르크메니스탄 |
TO | 통가 |
TR | 튀르키예 |
TT | 트리니다드 토바고 |
TW | 타이완, 중화민국 |
TZ | 탄자니아 연합공화국 |
UA | 우크라이나 |
UG | 우간다 |
US | 미국 |
UY | 우루과이 |
UZ | 우즈베키스탄 |
VC | 세인트 빈센트 그레나딘 |
VE | 베네수엘라(볼리바르 공화국) |
VG | 영국령 버진아일랜드 |
VI | 미국령 버진아일랜드 |
VN | 베트남 |
WS | 사모아 |
YE | 예멘 |
YT | 마요트 |
ZA | 남아프리카 공화국 |
ZM | 잠비아 |
ZW | 짐바브웨 |
Cloud Functions
Cloud Functions 런타임 지원
지원되는 최신 버전의 Node.js로 업그레이드하려면 어떻게 해야 하나요?
- Blaze 요금제를 사용 중인지 확인합니다.
- Firebase CLI의 최신 버전을 사용 중인지 확인합니다.
- 함수의
package.json
에서engines
필드를 업데이트합니다. - 필요한 경우 Firebase 로컬 에뮬레이터 도구 모음을 사용하여 변경사항을 테스트합니다.
- 모든 함수를 다시 배포합니다.
함수를 특정 Node.js 런타임에 배포했는지 확인하려면 어떻게 해야 하나요?
Firebase Console에서 함수 대시보드로 이동하여 함수를 선택한 후 추가 세부정보 아래에서 함수 언어를 확인합니다.
Firebase Extensions를 사용하고 있습니다. Cloud Functions 런타임 업데이트에 의한 영향이 있나요?
예. 확장 프로그램에서 Cloud Functions를 사용하므로 Cloud Functions와 동일한 타임라인에서 확장 프로그램의 런타임을 업데이트해야 합니다.
프로젝트에 설치된 각 확장 프로그램의 최신 버전으로 주기적으로 업데이트하는 것이 좋습니다. Firebase Console 또는 Firebase CLI를 통해 프로젝트의 확장 프로그램을 업그레이드할 수 있습니다.
클라우드 메시징
클라우드 메시징: 알림 작성기와 클라우드 메시징의 차이는 무엇인가요?
Firebase 클라우드 메시징은 클라이언트 SDK 및 HTTP와 XMPP 서버 프로토콜을 통해 완전한 메시징 기능 모음을 제공합니다. 메시징 요구사항이 보다 복잡한 배포의 경우 FCM이 가장 적합한 선택입니다.
알림 작성기는 Firebase 클라우드 메시징을 기반으로 개발된 경량형 서버리스 메시징 솔루션입니다. 사용자에게 친숙한 그래픽 콘솔을 갖춘 알림 작성기로 코딩 요구사항을 줄이면서 사용자에게 손쉽게 메시지를 발송하여 재사용을 유도하고 사용자층을 유지하며 앱 성장을 촉진하고 마케팅 캠페인을 지원할 수 있습니다.
기능 | 알림 작성기 | 클라우드 메시징 | |
---|---|---|---|
대상 | 단일 기기 | ||
주제를 구독하는 클라이언트 (예: 날씨) | |||
사전 정의된 사용자 세그먼트의 클라이언트(앱, 버전, 언어) | |||
지정된 분석 잠재고객의 클라이언트 | |||
기기 그룹의 클라이언트 | |||
클라이언트에서 서버로 업스트림 | |||
메시지 유형 | 알림(최대 2kb) | ||
데이터 메시지(최대 4kb) | |||
전송 | 즉시 필요 | ||
이후의 클라이언트 기기 현지 시간 | |||
애널리틱스 | 기본 제공 알림 분석 수집 및 유입경로 분석 |
클라우드 메시징: Apple은 APN의 기존 바이너리 프로토콜을 더 이상 사용하지 않는다고 발표했습니다. 조치를 취해야 하나요?
아니요, Firebase 클라우드 메시징은 2017년에 HTTP/2 기반 APN 프로토콜로 전환되었습니다. FCM을 사용하여 iOS 기기에 알림을 보내는 경우 별도의 조치를 취하지 않아도 됩니다.
클라우드 메시징: FCM을 사용하려면 다른 Firebase 서비스를 사용해야 하나요?
GCM을 사용한 방식과 마찬가지로 다른 Firebase 서비스를 사용하지 않고 Firebase 클라우드 메시징을 독립형 구성요소로 사용할 수 있습니다.
클라우드 메시징: 기존 Google 클라우드 메시징(GCM) 개발자의 경우 Firebase 클라우드 메시징으로 이전해야 하나요?
Firebase 브랜드에서 GCM의 새 버전인 FCM은 GCM의 핵심 인프라를 상속하며 새 SDK로 클라우드 메시징 개발이 더 쉬워졌습니다.
FCM SDK로 업그레이드할 때의 장점:
- 더욱 간단한 클라이언트 개발. 자체 가입 또는 구독 재시도 로직을 작성할 필요가 없습니다.
- 바로 사용할 수 있는 알림 솔루션. 웹 콘솔을 갖춘 서버리스 알림 솔루션인 알림 작성기를 사용하면 누구나 Firebase용 Google 애널리틱스의 통계를 기반으로 특정 잠재고객을 타겟팅하는 알림을 보낼 수 있습니다.
GCM SDK에서 FCM SDK로 업그레이드하려면 Android 및 iOS 앱의 마이그레이션 가이드를 참조하세요.
클라우드 메시징: 클라우드 메시징: 대상 기기에서 메시지를 수신하지 못하는 이유는 무엇인가요?
기기에서 성공적으로 메시지를 수신하지 못하는 경우 우선 다음 두 가지 원인을 확인해 보세요.
알림 메시지에 대한 포그라운드 메시지 처리. 기기에서 앱이 포그라운드 상태일 때 알림 메시지를 처리하는 메시지 처리 로직을 클라이언트 앱에 추가해야 합니다. 자세한 내용은 iOS 및 Android 문서를 참조하세요.
네트워크 방화벽 제한. 조직에 인터넷 트래픽 송수신을 제한하는 방화벽이 있는 경우 FCM 연결을 허용하도록 구성해야 Firebase 클라우드 메시징 클라이언트 앱에서 메시지를 수신할 수 있습니다. 다음 포트를 개방해야 합니다.
- 5228
- 5229
- 5230
FCM은 일반적으로 5228을 사용하지만 경우에 따라 5229 및 5230도 사용합니다. FCM은 특정 IP를 제공하지 않으므로 Google ASN 15169에 나와 있는 IP 블록에 포함된 모든 IP 주소로 나가는 연결을 방화벽에서 허용해야 합니다.
클라우드 메시징: Android 앱에서 구현한 onMessageReceived
가 호출되지 않습니다.
앱이 백그라운드 상태이면 알림 메시지가 작업 표시줄에 표시되며 onMessageReceived
는 호출되지 않습니다. 알림 메시지에 데이터 페이로드가 있는 경우 알림 메시지는 작업 표시줄에 표시되며, 알림 메시지에 포함된 데이터는 사용자가 알림을 탭할 때 실행되는 인텐트에서 검색할 수 있습니다.
자세한 내용은 메시지 수신 및 처리를 참조하세요.
알림 작성기: 알림 작성기와 클라우드 메시징의 차이는 무엇인가요?
알림 작성기는 Firebase 클라우드 메시징을 기반으로 개발된 경량형 서버리스 메시징 솔루션입니다. 사용자에게 친숙한 그래픽 콘솔을 갖춘 알림 작성기로 코딩 요구사항을 줄이면서 사용자에게 손쉽게 메시지를 발송하여 재사용을 유도하고 사용자층을 유지하며 앱 성장을 촉진하고 마케팅 캠페인을 지원할 수 있습니다.
Firebase 클라우드 메시징은 클라이언트 SDK 및 HTTP와 XMPP 서버 프로토콜을 통해 완전한 메시징 기능 모음을 제공합니다. 메시징 요구사항이 보다 복잡한 배포의 경우 FCM이 가장 적합한 선택입니다.
다음은 Firebase 클라우드 메시징과 알림 작성기에서 제공하는 메시징 기능을 비교한 표입니다.
기능 | 알림 작성기 | 클라우드 메시징 | |
---|---|---|---|
대상 | 단일 기기 | ||
주제를 구독하는 클라이언트 (예: 날씨) | |||
사전 정의된 사용자 세그먼트의 클라이언트(앱, 버전, 언어) | |||
지정된 분석 잠재고객의 클라이언트 | |||
기기 그룹의 클라이언트 | |||
클라이언트에서 서버로 업스트림 | |||
메시지 유형 | 알림(최대 2kb) | ||
데이터 메시지(최대 4kb) | |||
전송 | 즉시 필요 | ||
이후의 클라이언트 기기 현지 시간 | |||
애널리틱스 | 기본 제공 알림 분석 수집 및 유입경로 분석 |
알림 작성기: 기존 Google 클라우드 메시징(GCM)을 사용하는 개발자인데, 알림 작성기를 사용해 보려고 합니다. 어떻게 해야 하나요?
알림 작성기는 누구나 Firebase용 Google 애널리틱스의 통계를 기반으로 특정 잠재고객을 타겟팅하는 알림을 보낼 수 있는 즉시 사용 가능한 솔루션입니다. 또한 알림 작성기는 모든 메시지에 유입경로 분석을 제공하여 알림 효과를 쉽게 평가할 수 있습니다.
기존 GCM 개발자가 알림 작성기를 사용하려면 GCM SDK에서 FCM SDK로 업그레이드해야 합니다. Android 및 iOS 앱 마이그레이션 가이드를 참조하세요.
Firebase용 Cloud Storage
Firebase용 Cloud Storage: Firebase용 Cloud Storage를 사용할 수 없는 이유는 무엇인가요?
Firebase용 Cloud Storage는 App Engine의 무료 등급에서 기본 버킷을 만듭니다. 따라서 신용카드를 등록하거나 Cloud Billing 계정을 사용 설정할 필요 없이 Firebase 및 Firebase용 Cloud Storage를 바로 사용할 수 있습니다. 또한 Firebase와 Google Cloud 프로젝트 간에 손쉽게 데이터를 공유할 수 있습니다.
그러나 이 버킷을 만들 수 없기 때문에 Firebase용 Cloud Storage를 사용할 수 없는 2가지 경우가 알려져 있습니다.
- Google Cloud에서 가져온 프로젝트에 App Engine 마스터 및 슬레이브 Datastore 애플리케이션이 포함된 경우
-
Google Cloud에서 가져온 프로젝트에 도메인 프리픽스 프로젝트가 포함된 경우 예를 들면
domain.com:project-1234
입니다.
현재 이러한 문제를 해결할 방법이 없으므로 Firebase Console에서 새 프로젝트를 만들고 이 프로젝트에 Firebase용 Cloud Storage를 사용 설정하는 것이 좋습니다.
Firebase용 Cloud Storage: Firebase용 Cloud Storage API를 사용할 때 서비스 계정 권한과 실패한 서비스 계정 작업에 대한 오류 코드 412 응답이 표시되는 이유는 무엇인가요?
프로젝트에 Firebase용 Cloud Storage API가 사용 설정되지 않았거나 필요한 서비스 계정에 필요한 권한이 없으므로 412 오류 코드가 표시될 수 있습니다.
관련 FAQ를 참조하세요.
Firebase용 Cloud Storage: Firebase용 Cloud Storage를 사용하는 Firebase 프로젝트와 연결된 새 서비스 계정 ID가 표시되는 이유는 무엇인가요?
Firebase는 서비스 계정을 사용하여 사용자 인증 정보를 공유하지 않고 서비스를 운영하고 관리합니다. Firebase 프로젝트를 만들면 프로젝트에 이미 사용 가능한 서비스 계정이 여러 개 있다는 것을 알 수 있습니다.
Firebase용 Cloud Storage에서 사용하는 서비스 계정의 범위는 프로젝트로 지정되며 이 서비스 계정의 이름은 service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
입니다.
2022년 9월 19일 이전에 Firebase용 Cloud Storage를 사용한 경우 이전에 연결된 firebase-storage@system.gserviceaccount.com
이라는 Cloud Storage 버킷에 추가 서비스 계정이 표시될 수 있습니다. 2022년 9월 19일부터 이 서비스 계정은 더 이상 지원되지 않습니다.
Firebase Console의 서비스 계정 탭에서 프로젝트와 연결된 모든 서비스 계정을 볼 수 있습니다.
새 서비스 계정 추가
이전에 서비스 계정을 삭제했거나 프로젝트에 서비스 계정이 없는 경우 다음 중 하나를 수행하여 계정을 추가할 수 있습니다.
- (권장) 자동: AddFirebase REST 엔드포인트를 사용하여 버킷을 Firebase로 다시 가져옵니다. 이 엔드포인트를 한 번만 호출하면 되며 연결된 링크마다 한 번 호출하는 것이 아닙니다.
-
수동: 서비스 계정 만들기 및 관리의 단계를 수행합니다.
이 가이드를 수행하여 IAM 역할
Cloud Storage for Firebase Service Agent
및 서비스 계정 이름service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
이 있는 서비스 계정을 추가합니다.
새 서비스 계정 삭제
서비스 계정을 삭제하면 앱에서 Cloud Storage 버킷에 액세스하지 못할 수 있으므로 삭제하지 않는 것이 좋습니다. 프로젝트에서 서비스 계정을 삭제하려면 서비스 계정 사용 중지의 안내를 따르세요.
Crashlytics
Crashlytics 문제 해결 및 FAQ 페이지에서 유용한 팁과 더 많은 FAQ에 대한 답변을 확인하세요.
동적 링크
동적 링크: Android 앱에서 각 동적 링크에 두 번 연결하는 이유는 무엇인가요?
getInvitation
API는 저장된 동적 링크를 삭제하여 두 번 액세스하는 것을 방지합니다. 기본 활동 외부에서 활동이 트리거된 경우에 동적 링크를 삭제하려면 각 딥 링크 활동에서 autoLaunchDeepLink
매개변수를 false
로 설정하여 이 API를 호출해야 합니다.
Firebase 로컬 에뮬레이터 도구 모음
에뮬레이터 도구 모음 로그에 '단일 프로젝트 모드에서 여러 프로젝트 ID가 권장되지 않음'으로 시작하는 오류가 표시되는 이유는 무엇인가요?
이 메시지는 에뮬레이터 도구 모음이 다른 제품 ID를 사용하여 특정 제품 에뮬레이터를 실행하고 있음을 감지했음을 의미합니다. 이는 잘못된 구성을 나타낼 수 있으며 에뮬레이터가 서로 통신을 시도할 때, 그리고 개발자가 코드에서 에뮬레이터와 상호작용하려고 할 때 문제를 일으킬 수 있습니다. 프로젝트 ID가 일치하지 않는 경우 종종 데이터가 누락된 것으로 나타납니다. 에뮬레이터에 저장된 데이터는 프로젝트 ID에 연결되고 상호 운용성은 일치하는 프로젝트 ID에 따라 달라지기 때문입니다.
이는 개발자들 사이에서 자주 발생하는 혼동의 원인이므로 기본적으로 로컬 에뮬레이터 도구 모음은 firebase.json
구성 파일에 별도로 지정하지 않는 한 단일 프로젝트 ID로만 실행하는 것을 허용합니다. 에뮬레이터에서 프로젝트 ID를 두 개 이상 감지하면 경고를 로깅하고 치명적인 오류를 발생시킬 수 있습니다.
다음에서 프로젝트 ID 선언의 불일치를 확인하세요.
-
명령줄에 설정된 기본 프로젝트. 기본적으로 프로젝트 ID는 시작 시
firebase init
또는firebase use
로 선택한 프로젝트에서 가져옵니다. 프로젝트 목록을 보고 어떤 프로젝트가 선택되었는지 확인하려면firebase projects:list
를 사용하세요. -
단위 테스트. 일반적으로 프로젝트 ID는 규칙 단위 테스트 라이브러리 메서드
initializeTestEnvironment
또는initializeTestApp
을 호출할 때 지정됩니다. 다른 테스트 코드는initializeApp(config)
로 초기화할 수 있습니다. -
명령줄의
--project
플래그. Firebase CLI--project
플래그를 전달하면 기본 프로젝트가 재정의됩니다. 플래그 값이 단위 테스트 및 앱 초기화의 프로젝트 ID와 일치하는지 확인해야 합니다.
플랫폼별 확인할 위치:
웹 | 자바스크립트 firebaseConfig 객체의 projectId 속성으로, initializeApp 에 사용됩니다.
|
Android | google-services.json 구성 파일 내의 project_id 속성
|
Apple 플랫폼 | GoogleService-Info.plist 구성 파일의 PROJECT_ID 속성
|
단일 프로젝트 모드를 사용 중지하려면 singleProjectMode
키로 firebase.json
을 업데이트합니다.
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
호스팅
호스팅: Firebase Console의 호스팅 출시 내역 표에 실제 로컬 프로젝트보다 많은 파일 수가 표시되는 이유는 무엇인가요?
Firebase는 호스팅 사이트에 대한 메타데이터가 포함된 파일을 자동으로 추가합니다. 이러한 파일은 릴리스의 총 파일 수에 포함됩니다.
호스팅: Firebase 호스팅에 배포할 수 있는 가장 큰 파일 크기는 무엇인가요?
호스팅은 개별 파일의 최대 크기 한도가 2GB로 제한됩니다.
Cloud Storage를 사용하여 더 큰 파일을 저장하는 것이 좋습니다. Cloud Storage는 개별 객체에 대해 테라바이트 범위의 최대 크기 한도를 제공합니다.
호스팅: Firebase 프로젝트당 호스팅 사이트를 몇 개까지 포함할 수 있나요?
Firebase 호스팅 멀티 사이트 기능은 프로젝트당 최대 36개의 사이트를 지원합니다.
Performance Monitoring
Performance Monitoring 문제 해결 및 FAQ 페이지에서 유용한 팁과 더 많은 FAQ에 대한 답변을 확인하세요.
Performance Monitoring: 커스텀 URL 패턴을 몇 개나 만들 수 있나요?
앱당 최대 총 400개의 커스텀 URL 패턴을 만들 수 있으며 해당 앱의 도메인당 최대 100개의 커스텀 URL 패턴을 만들 수 있습니다.
Performance Monitoring: 성능 데이터가 실시간으로 표시되지 않는 이유는 무엇인가요?
실시간 성능 데이터를 보려면 앱에서 실시간 데이터 처리와 호환되는 Performance Monitoring SDK 버전을 사용해야 합니다.
- iOS - v7.3.0 이상
- tvOS — v8.9.0 이상
- Android - v19.0.10 이상(또는 Firebase Android BoM v26.1.0 이상)
- 웹 - v7.14.0 이상
항상 최신 버전의 SDK를 사용하는 것이 좋지만 위에 나열된 버전을 사용하면 Performance Monitoring을 통해 거의 실시간으로 데이터를 처리할 수 있습니다.
실시간 데이터베이스
실시간 데이터베이스: 2016년 9월에서 2017년 3월 사이에 실시간 데이터베이스에서 보고하는 대역폭이 평균보다 낮은 이유는 무엇인가요?
대역폭을 계산할 때는 일반적으로 OSI 모델 레이어 5에 기반한 SSL 암호화 오버헤드가 포함됩니다. 그러나 2016년 9월에 발생한 버그로 인해 대역폭 보고 시 암호화 오버헤드가 누락되었습니다. 이에 따라 몇 개월 동안 계정에서 보고된 대역폭과 청구액이 인위적으로 낮아졌을 수 있습니다.
2017년 3월 후반에 이 버그가 수정되어 대역폭 및 청구액이 평상시 수준으로 돌아갔습니다.
실시간 데이터베이스: 실시간 데이터베이스 확장에는 어떤 제한이 있나요?
각 실시간 데이터베이스 인스턴스는 초당 쓰기 작업 횟수에 제한이 있습니다. 소규모 쓰기의 경우 초당 쓰기 작업 약 1,000개로 제한됩니다. 이 한도에 가까워질 경우 멀티 경로 업데이트를 사용하여 작업을 일괄 처리하면 처리량을 높일 수 있습니다.
또한 각 데이터베이스 인스턴스에는 동시 데이터베이스 연결 수에 대한 한도가 있습니다. 기본 제한은 대부분의 애플리케이션에 충분합니다. 추가 확장이 필요한 앱을 빌드 중이라면 추가된 크기에 대해 여러 데이터베이스 인스턴스에서 애플리케이션을 샤딩해야 할 수도 있습니다. 또한 대체 데이터베이스로 Cloud Firestore를 사용할 수도 있습니다.
실시간 데이터베이스: 실시간 데이터베이스 사용량 한도를 초과한 경우 어떻게 해야 하나요?
이메일이나 Firebase Console을 통해 실시간 데이터베이스 사용량 한도를 초과했다는 알림을 받은 경우 초과한 사용량 한도를 토대로 조치를 취할 수 있습니다. 실시간 데이터베이스 사용량을 확인하려면 Firebase Console의 실시간 데이터베이스 사용량 대시보드로 이동합니다.
다운로드 한도를 초과한 경우 Firebase 요금제를 업그레이드하거나 다음 결제 주기 시작 시 다운로드 한도가 재설정될 때까지 기다려야 할 수 있습니다. 다운로드 사용량을 줄이는 방법은 다음과 같습니다.
- 수신 대기 작업으로 반환되는 데이터를 제한하는 쿼리를 추가합니다.
- 색인화되지 않은 쿼리가 있는지 확인합니다.
- 데이터 업데이트만 다운로드하는 리스너(예:
once()
대신on()
)를 사용합니다. - 보안 규칙을 사용하여 무단 다운로드를 차단합니다.
저장용량 한도를 초과한 경우 서비스가 중단되지 않도록 요금제를 업그레이드합니다. 데이터베이스의 데이터 양을 줄이는 방법은 다음과 같습니다.
- 주기적으로 정리 작업을 실행합니다.
- 데이터베이스의 중복 데이터를 줄입니다.
데이터 삭제가 저장용량 할당량에 반영되기까지 다소 시간이 걸릴 수 있습니다.
동시 데이터베이스 연결 한도를 초과한 경우 서비스가 중단되지 않도록 요금제를 업그레이드합니다. 동시 데이터베이스 연결을 관리하려면 실시간 연결이 필요하지 않은 사용자는 REST API를 통해 연결하세요.
원격 구성
원격 구성: 값을 가져와도 앱의 동작과 모양이 바뀌지 않는데 왜 그런가요?
fetchAndActivate()
를 사용하여 값을 가져오지 않으면 값이 로컬에 저장되지만 활성화되지 않습니다. 가져온 값을 활성화하고 적용하려면 activate
를 호출합니다. 이 설계 방식에서는 activate
호출 시기를 선택할 수 있으므로 앱의 동작과 모양이 변경되는 시점을 제어할 수 있습니다. activate
를 호출하면 앱 소스 코드는 업데이트된 매개변수 값을 사용할 시점을 결정합니다.
예를 들어 값을 가져온 후 사용자가 다음번에 앱을 시작할 때 활성화하면 앱이 서비스에서 값을 가져오느라 기다릴 필요가 없으므로 앱 시작이 지연되지 않습니다. 앱에서 업데이트된 매개변수 값을 사용하면 그제야 앱의 동작과 모양에 변화가 나타납니다.
Remote Config API 및 사용 모델에 대한 자세한 내용은 Remote Config API 개요를 참조하세요.
원격 구성: 앱을 개발하는 중에 가져오기 요청을 빈번하게 보내고 있습니다. 앱에서 가져오기 요청을 보낼 때 서비스의 최신 값이 검색되지 않는 경우가 있는데 왜 그런가요?
앱 개발 단계에서는 앱을 개발하고 테스트할 때 빠르게 반복할 수 있도록 구성 가져오기와 활성화를 자주(한 시간에 몇 번씩)해야할 수도 있습니다. 개발자가 10명 이하인 프로젝트에서는 빠르게 반복할 수 있도록 앱에서 임시로 FirebaseRemoteConfigSettings
객체의 가져오기 간격을 최솟값으로 설정(setMinimumFetchIntervalInSeconds
)할 수 있습니다.
원격 구성: 앱에서 가져오기 요청을 보내면 원격 구성 서비스에서 해당 값을 얼마나 빠르게 반환하나요?
가져올 값이 기기에 수신되는 데 걸리는 시간은 보통 1초 미만이며 몇 밀리초에 불과한 경우도 많습니다. 원격 구성 서비스는 몇 밀리초 이내에 가져오기 요청을 처리하지만 가져오기 요청을 완료하는 데 필요한 시간은 기기의 네트워크 속도 및 기기에서 사용하는 네트워크 연결의 지연 시간에 좌우됩니다.
사용자 환경에 영향을 주지 않으면서 가져온 값을 가능한 한 빨리 앱에 적용하려면 앱에서 전체 화면 새로고침을 수행할 때마다 fetchAndActivate
에 호출을 추가해 보세요.
Test Lab
Test Lab 문제 해결 페이지에서 유용한 팁과 FAQ에 대한 답변을 확인하세요.
Firebase 사용자 세분화 스토리지
Firebase 사용자 세분화 스토리지란 무엇인가요?
Firebase 사용자 세분화 스토리지에는 Firebase 설치 ID와 관련 속성 및 세그먼트, 그리고 이를 사용하는 다른 Firebase 서비스(예: Crashlytics, FCM, 원격 구성 맞춤설정 등)에 타겟팅 정보를 제공하기 위해 만든 잠재고객 목록이 저장됩니다.