아래에서 찾을 수 없는 다른 문제나 어려운 점이 있으신가요? 버그를 신고하거나 기능을 요청하고 Stack Overflow 토론에 참여하세요.
Firebase 프로젝트 및 Firebase 앱
Firebase 프로젝트란?
Firebase 프로젝트는 Firebase의 최상위 항목입니다. 프로젝트에서 Apple, Android, 웹 앱을 등록할 수 있습니다. Firebase에 앱을 등록한 후 Analytics, Cloud Firestore, Crashlytics 또는 Remote Config 같은 제품별 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 콘솔을 통해 관리되는 기존 Google Cloud 프로젝트가 있을 수 있습니다.
다음 옵션 중 하나를 사용하여 이러한 기존 Google Cloud 프로젝트에 Firebase를 추가할 수 있습니다.
- Firebase 콘솔 사용.
- 프로그래매틱 옵션 사용:
- Firebase Management REST API 엔드포인트
projects.addFirebase
를 호출합니다. - Firebase CLI 명령어
firebase projects:addfirebase
를 실행합니다. - Terraform을 사용합니다.
- Firebase Management REST API 엔드포인트
Google Cloud 프로젝트에 Firebase 추가에 대해 자세히 알아보세요.
Google Cloud와 Firebase의 통합은 어떻게 작동하나요?
Firebase는 Google Cloud와 긴밀하게 통합되어 있습니다. Firebase와 Google Cloud 간에 프로젝트가 공유되므로 프로젝트에서 Firebase 서비스와 Google Cloud 서비스를 함께 사용할 수 있습니다. Firebase Console 또는 Google Cloud 콘솔에서 동일한 프로젝트에 액세스할 수 있습니다. 구체적으로는 다음과 같습니다.
- Cloud Storage for Firebase와 같은 특정 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:enabled
라벨이 왜 있나요?
Google Cloud 콘솔에서 프로젝트의 라벨 페이지에 firebase:enabled
라벨(구체적으로 enabled
의 Value
를 사용해 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 Analytics) 결국 더 많은 앱에서 일부 제품 기능이 작동하지 않습니다. 또한 Google 로그인을 인증 제공업체로 사용하면 프로젝트의 각 앱에 기본 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 콘솔은 settings > 프로젝트 설정의 사용자 및 권한 탭에서 프로젝트 구성원에게 역할을 할당할 수 있는 간단한 방법을 제공합니다. Firebase 콘솔에서 기본 역할(소유자, 편집자, 뷰어), Firebase 관리자/뷰어 역할, 또는 사전 정의된 Firebase 제품 카테고리 역할을 아무거나 할당할 수 있습니다.
- Google Cloud 콘솔은 IAM 페이지에서 프로젝트 구성원에게 역할을 할당할 수 있는 다양한 도구 모음을 제공합니다. 또한 Cloud 콘솔에서 커스텀 역할을 만들고 관리할 수 있을 뿐만 아니라 서비스 계정에 프로젝트에 대한 액세스 권한을 부여할 수 있습니다.
Google Cloud 콘솔에서는 프로젝트 구성원을 주 구성원이라고 합니다.
프로젝트 소유자가 더 이상 소유자의 작업을 수행할 수 없으며(예: 직원 퇴사) 프로젝트가 Google Cloud 조직을 통해 관리되지 않는 경우(다음 단락 참조) Firebase 지원팀에 문의하여 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 Analytics 속성 관리와 같은 몇 가지 소유자 관련 태스크를 수행하려면 관리자가 자신에게 실제 소유자 역할을 할당해야 할 수 있습니다. Firebase 프로젝트의 소유자를 찾을 수 없으면 Google Cloud 조직의 관리자에게 프로젝트의 소유자를 할당해 달라고 요청하세요.
프로젝트 구성원에게 소유자 역할을 할당해야 하는 이유는 무엇이며 시기는 언제인가요?
Firebase 프로젝트를 올바르게 관리하려면 소유자가 있어야 합니다. 프로젝트 소유자는 중요한 관리 작업(예: 역할 할당, Google Analytics 속성 관리)을 수행할 수 있는 사람이며, Firebase 지원팀은 확인된 프로젝트 소유자의 관리 요청만 처리할 수 있습니다.
Firebase 프로젝트의 소유자를 설정한 후에는 할당을 최신 상태로 유지하는 것이 중요합니다.
Firebase 프로젝트가 Google Cloud 조직에 속해 있는 경우 Google Cloud 조직을 관리하는 사용자는 소유자가 할 수 있는 여러 태스크를 수행할 수 있습니다. 그러나 역할 할당 또는 Google Analytics 속성 관리와 같은 몇 가지 소유자 관련 태스크를 수행하려면 관리자가 이러한 작업을 실행하기 위해 자신에게 실제 소유자 역할을 할당해야 할 수 있습니다.
Firebase 프로젝트가 없는 것 같은데 프로젝트 관련 이메일을 받았습니다. 이 프로젝트에 액세스하려면 어떻게 해야 하나요?
수신한 이메일에 Firebase 프로젝트를 여는 링크가 포함되어 있습니다. 이메일에 있는 링크를 클릭하면 Firebase Console에서 프로젝트가 열립니다.
링크의 프로젝트를 열 수 없는 경우 프로젝트에 대한 이메일을 수신한 것과 동일한 Google 계정을 사용하여 Firebase에 로그인해야 합니다. 콘솔의 오른쪽 상단 모서리에 있는 계정 아바타를 통해 Firebase Console에 로그인하고 로그아웃할 수 있습니다.
Google Cloud 조직의 관리자인 경우 조직 내 Firebase 프로젝트 변경사항에 대한 알림을 받을 수 있습니다. Firebase 프로젝트를 열 수 있는 권한이 없을 수 있습니다. 이러한 경우에 가장 간단한 해결책은 실제 소유자 역할을 자신에게 할당하여 프로젝트를 열고 필요한 작업을 수행하는 것입니다. 소유자 역할을 할당하는 이유 및 시기에 대해 자세히 알아보세요.
플랫폼 및 프레임워크
더 많은 FAQ에 대한 유용한 팁과 답변을 보려면 플랫폼별 문제 해결 및 FAQ 페이지를 방문하세요.
Firebase 콘솔
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 Local Emulator Suite
에뮬레이터 도구 모음 로그에 '단일 프로젝트 모드에서 여러 프로젝트 ID가 권장되지 않음'으로 시작하는 오류가 표시되는 이유는 무엇인가요?
이 메시지는 에뮬레이터 도구 모음이 다른 제품 ID를 사용하여 특정 제품 에뮬레이터를 실행하고 있음을 감지했음을 의미합니다. 이는 잘못된 구성을 나타낼 수 있으며 에뮬레이터가 서로 통신을 시도할 때, 그리고 개발자가 코드에서 에뮬레이터와 상호작용하려고 할 때 문제를 일으킬 수 있습니다. 프로젝트 ID가 일치하지 않는 경우 종종 데이터가 누락된 것으로 나타납니다. 에뮬레이터에 저장된 데이터는 프로젝트 ID에 연결되고 상호 운용성은 일치하는 프로젝트 ID에 따라 달라지기 때문입니다.
이는 개발자들 사이에서 자주 발생하는 혼동의 원인이므로 기본적으로 Local Emulator Suite은 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 }, ... } }
가격 책정
제품별 가격 책정 FAQ는 이 페이지의 제품 섹션 또는 전용 제품 문서를 참조하세요.
어떤 제품이 유료이고 어떤 제품이 무료인가요?
Firebase의 유료 인프라 제품은 Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab, 전화 인증입니다. 이러한 모든 기능에 무료 등급도 제공됩니다.
Firebase에는 Analytics, Cloud Messaging, 알림 작성기, Remote Config, App Indexing, Dynamic Links, Crash Reporting 등 무료 제품도 많이 있습니다. 무료 Spark 요금제를 비롯한 모든 요금제에서 이러한 제품의 사용에는 제품의 트래픽 제어 정책(예: 할당량, 공정한 액세스, 기타 서비스 보호)이 적용됩니다. 또한 전화 인증을 제외한 모든 Authentication 기능은 무료입니다.
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 요금제는 앱을 무료로 개발하는 데 매우 유용합니다. Analytics, 알림 작성기, Crashlytics 등의 무료 Firebase 기능이 모두 제공되며 유료 인프라 기능도 넉넉하게 제공됩니다. 그러나 한 달 중에 Spark 요금제 리소스를 소진하면 월말까지 앱이 정지됩니다. 또한 Spark 요금제에서는 Google Cloud 기능을 사용할 수 없습니다.
Blaze 요금제
Blaze 요금제는 프로덕션 앱용으로 고안되었습니다. Blaze 요금제를 사용하면 유료 Google Cloud 기능으로 앱을 확장할 수도 있습니다. 사용한 리소스에 대해서만 요금을 지불하므로 수요에 맞게 확장할 수 있습니다. Google은 업계의 주요 클라우드 제공업체보다 유리한 가격으로 Blaze 요금제를 제공하기 위해 노력하고 있습니다.
언제라도 업그레이드 또는 다운그레이드하거나 취소할 수 있나요?
예, 언제든지 업그레이드, 다운그레이드 또는 취소할 수 있습니다. 단, 다운그레이드 또는 취소에 대해 일할 계산하여 환불은 받을 수 없습니다. 따라서 결제 기간이 끝나기 전에 다운그레이드 또는 취소하더라도 해당 월의 나머지 기간에 대한 비용을 지불해야 합니다.
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 요금제로 이동해도 무료 사용량이 재설정되지 않습니다.
Google Cloud 콘솔에서 Firebase 프로젝트의 결제 계정을 추가하거나 삭제하면 해당 계정이 어떻게 되나요?
Google Cloud 콘솔의 프로젝트에 Cloud Billing 계정을 추가하면 해당 프로젝트가 현재 Spark 요금제를 사용 중인 경우 동일한 프로젝트가 Firebase Blaze 요금제로 자동으로 업그레이드됩니다.
반면 Google Cloud 콘솔에서 프로젝트의 기존 활성 Cloud Billing 계정이 삭제되면 이 프로젝트가 Firebase Spark 요금제로 다운그레이드됩니다.
사용량과 결제를 모니터링하려면 어떻게 해야 하나요?
Firebase Console의 다음 대시보드에서 프로젝트 리소스 사용량을 추적할 수 있습니다.
Blaze 요금제에서 사용량을 제한할 수 있나요?
아니요, 현재는 Blaze 요금제 사용량에 한도를 설정할 수 없지만 Google은 한도 설정 기능을 지원하는 방안을 검토하고 있습니다.
Blaze 사용자는 프로젝트 또는 계정에 대한 예산을 정의할 수 있고 비용이 한도에 접근함에 따라 알림을 받을 수 있습니다. 알림 설정 방법 알아보기
어떤 지원을 받나요?
무료 요금제를 사용하는 앱을 비롯한 모든 Firebase 앱에는 미국 태평양 표준시 기준 영업시간 동안 Firebase 직원의 이메일 지원이 제공됩니다. 모든 계정에서 결제 관련 문제, 계정 관련 문제, 기술(문제 해결) 관련 질문, 이슈 보고에 대해 무제한 지원이 제공됩니다.
오픈소스, 비영리단체, 교육용 제품 할인이 있나요?
Spark 요금제는 비영리단체, 학교, 오픈소스 프로젝트를 포함하여 모든 개인과 단체가 사용할 수 있습니다. 이러한 요금제는 이미 넉넉한 할당량을 제공하므로 오픈소스, 비영리단체 또는 교육 목적 프로젝트에 특별 할인이나 요금제를 제공하지 않습니다.
기업용 계약, 가격 책정, 지원 또는 전용 인프라 호스팅을 제공하나요?
Blaze 요금제는 규모에 관계없이 모든 기업에 적합하며 SLA는 클라우드 인프라의 업계 표준 이상을 충족합니다. 그러나 Realtime Database와 같은 서비스에 대한 기업용 계약, 가격 책정, 지원이나 전용 인프라 호스팅(온프레미스 설치)은 제공하지 않습니다. Google은 이러한 기능 일부를 추가하기 위해 노력하고 있습니다.
특별 임시 요금을 제공하나요? 1~2개 기능을 사용한 만큼만 지불하고 싶습니다.
Blaze 요금제에서는 사용하는 기능에 대한 요금만 지불하는 임시 요금을 제공합니다.
유료 Firebase 요금제에서 Ads를 어떻게 사용하나요? 유료 요금제에 사용할 수 있는 무료 광고 크레딧이 있나요?
Firebase 요금제는 Ads와 별개이므로 무료 광고 크레딧은 제공되지 않습니다. Firebase 개발자는 Ads 계정을 Firebase에 '연결'하여 전환 추적을 지원할 수 있습니다.
모든 광고 캠페인은 Ads에서 직접 관리되고 Ads 결제는 Ads 콘솔에서 관리됩니다.
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 이니셔티브에 제공되면 모든 사용자를 더 효과적으로 지원할 수 있다고 생각합니다.
개인 정보 보호
Firebase의 개인 정보 보호 및 보안에 대한 정보를 어디에서 찾을 수 있나요?
Firebase의 개인 정보 보호 및 보안 페이지를 확인하세요.
Firebase SDK는 사용 및 진단 정보를 애널리틱스 외부에 로깅하나요?
예. 현재 iOS만 해당되지만 향후 변경될 수 있습니다. Firebase Apple 플랫폼 SDK에는 기본적으로 FirebaseCoreDiagnostics
프레임워크가 포함되어 있습니다. Firebase에서 SDK 사용 및 진단 정보를 수집하여 향후 제품 개선사항 우선순위를 결정하는 데 이 프레임워크를 사용합니다. FirebaseCoreDiagnostics
는 선택사항이므로 Firebase 진단 로그 전송을 선택 해제하려면 애플리케이션에서 라이브러리를 연결 해제하면 됩니다. GitHub에서 로깅된 값 등 전체 소스를 찾아볼 수 있습니다.
A/B Testing
A/B Testing: 실험을 몇 개까지 만들고 실행할 수 있나요?
프로젝트당 최대 300개의 실험이 허용되며 최대 24개까지 진행 중인 실험으로, 나머지는 초안 또는 완료로 구성할 수 있습니다.
A/B Testing: Google 애널리틱스에서 프로젝트를 연결 해제했다가 다시 연결한 후 실험이 표시되지 않는 이유는 무엇인가요?
다른 Google Analytics 속성에 연결하면 이전에 만든 실험에 액세스할 수 없게 됩니다. 이전 실험에 다시 액세스하려면 해당 실험을 만들 때 연결했던 Google Analytics 속성에 프로젝트를 다시 연결하세요.
A/B Testing: 원격 구성 실험을 만들 때 'Google 애널리틱스에 연결되지 않은 프로젝트' 메시지가 표시되는 이유는 무엇인가요?
이미 Firebase와 Google 애널리틱스를 연결했지만 Google 애널리틱스가 연결되지 않았다는 메시지가 계속 표시되는 경우 프로젝트의 모든 앱에 대해 애널리틱스 스트림이 있는지 확인하세요. 현재는 프로젝트의 모든 앱이 Google 애널리틱스 스트림에 연결되어야 A/B 테스팅을 사용할 수 있습니다.
Firebase Console의 Google 애널리틱스 통합 세부정보 페이지에서 모든 활성 스트림 목록을 확인할 수 있으며 이는 settings프로젝트 설정 chevron_right 통합 chevron_right Google 애널리틱스 chevron_right 관리에서 액세스할 수 있습니다.
스트림이 없는 앱의 Google 애널리틱스 스트림을 만들면 문제가 해결됩니다. 다음은 누락된 앱의 스트림을 만드는 몇 가지 방법입니다.
-
Google 애널리틱스 스트림이 연결되지 않은 앱이 하나 또는 두 개만 있는 경우 다음 방법 중 하나를 선택하여 Google 애널리틱스 스트림을 추가할 수 있습니다.
- Firebase Console에서 활성 스트림이 없는 앱을 삭제하고 다시 추가합니다.
- Google 애널리틱스 콘솔에서 관리자를 선택하고 데이터 스트림, 스트림 추가를 차례로 클릭한 뒤 누락된 앱의 세부정보를 추가하고 앱 등록을 클릭합니다.
-
누락된 앱 스트림이 여러 개 있는 경우 Google 애널리틱스 속성을 연결 해제했다가 다시 연결하는 것이 누락된 앱 스트림을 가장 빠르고 효율적으로 만드는 방법입니다.
- settings 프로젝트 설정에서 통합을 선택합니다.
- Google 애널리틱스 카드에서 관리를 클릭하여 Firebase 및 Google 애널리틱스 설정에 액세스합니다.
- Google 애널리틱스 속성 ID 및 연결된 Google 애널리틱스 계정을 기록합니다.
- more_vert 더보기를 클릭하고 이 프로젝트에서 애널리틱스 연결 해제를 선택합니다.
-
경고가 표시되면 검토하고(걱정마세요, 다음 단계에서 동일한 속성을 다시 연결합니다) Google 애널리틱스 연결 해제를 클릭합니다.
연결 해제가 완료되면 통합 페이지로 리디렉션됩니다. - Google 애널리틱스 카드에서 사용 설정을 클릭하여 다시 연결 프로세스를 시작합니다.
- 계정 선택 목록에서 애널리틱스 계정을 선택합니다.
-
이 계정에서 자동으로 새 속성 만들기 옆에 있는 edit 수정을 클릭하고 애널리틱스 속성 목록이 표시되면 속성 ID를 선택합니다.
프로젝트의 모든 앱 목록이 표시됩니다. 각 앱의 기존 스트림 매핑이 나열되며 스트림이 없는 앱에도 스트림이 생성됩니다. - Google 애널리틱스 사용 설정을 클릭하여 속성을 다시 연결합니다.
- 마침을 클릭합니다.
이 단계를 수행한 뒤에도 원격 구성으로 A/B 테스트를 만들 때 오류가 계속 발생하는 경우 Firebase 지원팀에 문의하세요.
AdMob
AdMob: Windows 앱을 Firebase에 연결할 수 있나요?
아니요, Windows 앱은 현재 지원되지 않습니다.
AdMob: Firebase Console에서 앱을 AdMob에 연결할 수 없는 이유는 무엇인가요?
AdMob 콘솔을 통해 AdMob 앱을 Firebase 앱에 연결할 수 있습니다. 방법 알아보기
AdMob: Firebase 앱을 AdMob 앱에 연결하는 데 필요한 권한이나 액세스 권한은 어떻게 되나요?
이 연결에는 다음 액세스 권한이 필요합니다.
- AdMob: AdMob 관리자여야 합니다.
- Firebase: 소유자 역할 및 Firebase 관리자 역할에 포함된
firebase.links.create
권한이 있어야 합니다. - Google Analytics: Firebase 프로젝트와 연결된 속성에 대해 수정 역할 또는 사용자 관리 역할이 있어야 합니다. 자세히 알아보기
AdMob: 동일한 AdMob 계정의 여러 사용자가 AdMob 앱과 Firebase 앱을 연결할 수 있나요?
멀티 사용자 AdMob 계정의 경우 첫 번째 Firebase 연결을 만들고 Firebase 서비스 약관에 동의한 사용자만 AdMob 앱과 Firebase 앱 사이에 새 링크를 만들 수 있습니다.
AdMob: AdMob을 사용하려면 어떤 SDK를 사용해야 하나요?
AdMob을 사용하려면 이 FAQ에 설명된 대로 항상 Google Mobile Ads SDK를 사용하세요. 또한 원하는 경우 AdMob의 사용자 측정항목을 수집하려면 앱에 Google Analytics용 Firebase SDK를 포함합니다.
- iOS 프로젝트:
AdMob iOS 문서의 안내에 따라 Google Mobile Ads SDK를 가져옵니다. - Android 프로젝트:
Google Mobile Ads SDK의 종속 항목을build.gradle
파일에 추가합니다.
implementation 'com.google.android.gms:play-services-ads:23.6.0'
- C++ 프로젝트 및 Unity 프로젝트의 경우 해당 문서의 안내를 따르세요.
애널리틱스
Analytics: Firebase 제품을 사용할 때 Google 애널리틱스를 권장하는 이유는 무엇인가요?
Google Analytics는 Firebase 기능과 연동하여 유용한 통계 자료를 제공하는 제한 없는 무료 분석 솔루션입니다. 이 솔루션으로 Crashlytics의 이벤트 로그, FCM의 알림 효과, Dynamic Links의 딥 링크 실적, Google Play의 인앱 구매 데이터를 볼 수 있습니다. 또한 Remote Config, Remote Config 맞춤설정 등의 고급 잠재고객 타겟팅을 지원합니다.
Google Analytics는 Firebase Console에서 인텔리전스 계층의 역할을 하면서 고품질의 앱을 개발하고 사용자층을 확대하여 더 많은 수익을 창출할 수 있는 실용적인 통계 자료를 제공합니다.
시작하려면 문서를 읽어보세요.
Analytics: Analytics 데이터가 나머지 Firebase와 공유되는 방식을 어떻게 관리하나요?
기본적으로 Google Analytics 데이터는 다른 Firebase 및 Google 기능을 향상시키기 위해 사용됩니다. 언제든지 프로젝트 설정에서 Google Analytics 데이터가 공유되는 방식을 관리할 수 있습니다. 데이터 공유 설정에 대해 자세히 알아보세요.
Analytics: 애널리틱스 속성 설정을 업데이트하려면 어떻게 해야 하나요?
Google 애널리틱스 속성의 관리 페이지에서 다음과 같은 속성 설정을 업데이트할 수 있습니다.
- 데이터 공유 설정
- 데이터 보관 설정
- 시간대 및 통화 설정
속성 설정을 업데이트하려면 다음 단계를 따르세요.
- Firebase Console에서 settings > 프로젝트 설정으로 이동합니다.
- 통합 탭으로 이동한 다음 Google 애널리틱스 카드에서 관리 또는 링크 보기를 클릭합니다.
- Google 애널리틱스 계정의 링크를 클릭하여 계정 및 속성 설정을 엽니다.
iOS 앱의 Analytics: 광고 표시 및 IDFA 수집 기능 없이 Analytics를 설치할 수 있나요?
예. 자세한 내용은 데이터 수집 및 사용 구성 페이지를 참조하세요.
Analytics: 2021년 10월에 업데이트된 Google 애널리틱스 섹션에서 변경된 사항은 무엇인가요?
Firebase 고객센터 문서인 Firebase용 Google 애널리틱스의 새로운 Google 애널리틱스 4 기능에서 이러한 변경사항의 요약 내용을 확인할 수 있습니다.
Analytics: Google 애널리틱스에서 Firebase 연결을 해제한 후 Firebase Console에 Analytics 데이터가 표시되지 않는 이유는 무엇인가요?
Analytics 데이터는 Firebase 프로젝트가 아닌 Google 애널리틱스 속성 내에 존재합니다. 속성을 삭제하거나 연결을 해제하면 Firebase에서 Analytics 데이터에 액세스할 수 없으며 Firebase Console에 빈 Analytics 대시보드가 표시됩니다. 데이터는 이전에 연결된 속성에 계속 유지되므로 언제든지 Firebase에 속성을 다시 연결하고 Firebase Console에서 Analytics 데이터를 확인할 수 있습니다.
새 Google 애널리틱스 계정(및 새 Google 애널리틱스 속성)을 Firebase 프로젝트에 연결하면 Firebase Console에 빈 Analytics 대시보드가 표시됩니다. 하지만 이전에 연결된 속성이 여전히 존재한다면 기존 데이터를 이전 속성에서 새 속성으로 이동할 수 있습니다.
Analytics: Analytics 속성과 그 데이터가 삭제된 경우 복구할 수 있나요?
아니요. 속성이 삭제된 경우 속성 삭제를 취소하거나 해당 속성에 저장된 이전에 수집된 Analytics 데이터를 검색할 수 없습니다.
Google 애널리틱스를 다시 사용하려면 새 속성 또는 기존 속성을 Firebase 프로젝트에 연결하면 됩니다. Firebase Console 또는 Google 애널리틱스 UI에서 이 연결을 수행할 수 있습니다. Google 애널리틱스 속성을 Firebase 프로젝트에 연결하는 방법에 대해 자세히 알아보세요.
Analytics: 애널리틱스 속성이 삭제된 경우 새 Google 애널리틱스 속성을 Firebase 프로젝트에 연결하고 Analytics를 다시 사용할 수 있나요?
Google 애널리틱스를 다시 사용하려면 새 속성 또는 기존 속성을 Firebase 프로젝트에 연결하면 됩니다. Firebase Console 또는 Google 애널리틱스 UI에서 이 연결을 수행할 수 있습니다. Google 애널리틱스 속성을 Firebase 프로젝트에 연결하는 방법에 대해 자세히 알아보세요.
모든 Analytics 데이터는 Firebase 프로젝트가 아닌 속성에 저장되므로 이전에 수집한 Analytics 데이터는 가져올 수 없습니다.
Analytics: 애널리틱스 속성 삭제 시 Firebase 제품 또는 통합 Google 제품에 어떤 영향을 미치나요?
여러 Firebase 제품에서 Google 애널리틱스 통합을 사용합니다. 애널리틱스 속성과 해당 데이터가 삭제된 경우 다음 제품을 사용하면 다음과 같은 결과가 발생합니다.
- Crashlytics — 비정상 종료가 발생하지 않은 사용자, 탐색경로 로그, 신속 알림을 더 이상 볼 수 없습니다.
- Cloud Messaging 및 In-App Messaging: 더 이상 타겟팅, 캠페인 측정항목, 잠재고객 분류, 애널리틱스 라벨을 사용할 수 없습니다.
- Remote Config - 더 이상 타겟팅 구성이나 맞춤설정을 사용할 수 없습니다.
- A/B Testing — 실험 측정이 Google 애널리틱스에서 제공되기 때문에 더 이상 A/B Testing를 사용할 수 없습니다.
- Dynamic Links — Google 애널리틱스의 데이터를 사용하는 모든 기능이 중단됩니다.
또한 다음과 같은 통합이 영향을 받습니다.
- 더 이상 Analytics 데이터를 BigQuery로 내보낼 수 없습니다.
- 더 이상 Google Ads 통합 또는 Google AdMob 통합을 활용할 수 없습니다.
Analytics: 특정 기준에 맞지 않는 사용자를 어떻게 분리하나요?
이러한 사용자를 '제외하는 타겟팅'으로 문제를 재구성할 수 있습니다. 예를 들어 ‘어떤 항목을 구입한 사용자에게 광고를 게재하지 않음’으로 문제를 재구성하고 이러한 사용자 잠재고객을 대상으로 지정합니다.
Analytics: Google 애널리틱스 인터페이스에 정의된 잠재고객 또는 이벤트를 Firebase Console에서도 사용할 수 있나요?
잠재고객과 사용자 속성은 동기화됩니다. 일부 기능에서는 세분화 및 닫힌 유입경로와 같은 Google 애널리틱스 인터페이스를 사용해야 하며 Firebase Console의 딥 링크를 통해 Google 애널리틱스 인터페이스에 직접 액세스할 수 있습니다.
Firebase Console에서 변경한 내용을 Google 애널리틱스에서도 적용할 수 있으며 이러한 변경사항은 Firebase에 반영됩니다.
Authentication
Firebase Authentication: 전화 인증이 지원되는 지역은 어디인가요?
Firebase Authentication에서는 전 세계에서 전화번호 인증을 지원하지만 네트워크에 따라서는 확인 메시지가 안정적으로 전달되지 않을 수 있습니다. 전화 인증을 안정적으로 사용할 수 있을 정도의 양호한 전달률을 제공하는 지역은 다음과 같습니다. 명시된 경우 일부 이동통신사는 전달 성공률이 낮아 특정 지역에서 사용할 수 없습니다.
리전 | 코드 |
---|---|
광고 | 안도라 |
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 | Guernsey |
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 | Montserrat |
MT | 몰타 |
MU | 모리셔스 |
MW | 말라위 |
MX | 멕시코 |
MY | 말레이시아 |
MZ | 모잠비크 |
해당 없음 | 나미비아 |
NC | 뉴 칼레도니아 |
북동 | 니제르 |
NF | 노포크 섬 |
NG | 나이지리아 |
NI | 니카라과 |
NL | 네덜란드 |
NO | 노르웨이 |
NP | 네팔 |
NZ | 뉴질랜드 |
OM | Oman |
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 | 짐바브웨 |
Firebase Authentication: Spark 요금제의 무료 SMS는 어떻게 되었나요?
2024년 9월부터 전화 인증의 보안 및 서비스 품질을 개선하기 위해 Firebase 프로젝트를 Cloud Billing 계정에 연결해야 SMS 서비스를 사용 설정하고 사용할 수 있습니다.
Firebase Authentication: 전화 인증을 사용할 때 SMS 악용을 방지하려면 어떻게 해야 하나요?
SMS 트래픽 부풀리기 및 API 악용으로부터 프로젝트를 보호하려면 다음 단계를 따르세요.
SMS 리전 정책 설정 고려
-
전송된 SMS의 수가 매우 많고 확인된 SMS의 수가 매우 적거나 0인 지역을 찾습니다. 인증/전송 비율이 성공률입니다. SMS는 전송 보장 프로토콜이 아니며 일부 지역에서는 악용이 발생할 수 있으므로 정상적인 성공률은 일반적으로 70~85% 범위입니다. 성공률이 50% 미만인 경우 많은 SMS가 전송되었지만 로그인 성공은 낮다는 의미입니다. 이는 악의적인 행위자와 SMS 트래픽 부풀리기를 나타내는 일반적인 지표입니다.
SMS 리전 정책을 사용하여 성공률이 낮은 SMS 리전을 거부하거나, 앱이 특정 시장에만 배포되는 경우 특정 리전만 허용합니다.
승인된 인증 도메인 제한
인증 설정 대시보드를 사용하여 승인된 도메인을 관리합니다. 개발을 간소화하기 위해 localhost
도메인이 승인된 인증 도메인에 기본적으로 추가됩니다. 프로덕션 프로젝트의 승인된 도메인에서 localhost
를 삭제하여 악의적인 행위자가 자신의 localhost
에서 코드를 실행하여 프로덕션 프로젝트에 액세스하는 것을 방지하세요.
앱 체크 사용 설정 및 적용
앱 체크를 사용 설정하면 요청이 프로젝트와 연결된 애플리케이션에서만 온다는 것을 증명하여 프로젝트를 API 악용으로부터 보호할 수 있습니다.
Firebase Authentication에서 앱 체크를 사용하려면 Firebase Authentication with Identity Platform으로 업그레이드해야 합니다.
Firebase Console에서 인증에 앱 체크를 적용해야 합니다. 적용하기 전에 트래픽 모니터링을 고려하세요. 또한 reCAPTCHA Enterprise 승인된 사이트 목록을 다시 확인하여 프로덕션 사이트만 포함되어 있고 앱 체크에서 프로젝트에 등록된 애플리케이션 목록이 올바른지 확인하세요.
앱 체크는 등록된 애플리케이션 중 하나에서 호출이 발생했다고 어설션함으로써 자동화된 공격으로부터 보호하는 데 도움이 됩니다. 사용자가 의도하지 않은 방식으로 앱을 사용하는 것을 방지하지는 않습니다(예: 전송된 SMS를 생성하기 위해 로그인 흐름을 시작했다가 완료하지 않음).
Firebase Authentication: 새 이동통신사로 이동된 전화번호가 전화 인증에서 지원되나요?
현재 이동통신사 간에 번호를 이동하면 해당 최종 사용자에게 모든 SMS를 전송할 수 없게 됩니다. 해결 방법은 없으며 Firebase에서 이 문제를 해결하기 위해 노력하고 있습니다.
Firebase Authentication: Android 앱에 다음과 같은 오류가 표시되는 이유는 무엇인가요?
Google sign in failed
Google sign in failed
다음과 같은 오류가 발생하면 이 FAQ의 문제 해결 단계를 따르세요.
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
인증 제공업체로 Google 로그인이 올바르게 사용 설정되어 있는지 확인합니다.
Firebase Console에서 Authentication 섹션을 엽니다.
로그인 방법 탭에서 Google 로그인 방법을 사용 중지했다가 다시 사용 설정합니다(이미 사용 설정된 경우도 포함).
Google 로그인 방법을 열고 사용 중지한 다음 저장을 클릭합니다.
Google 로그인 방법을 다시 열고 사용 설정한 다음 저장을 클릭합니다.
앱이 최신 Firebase 구성 파일(
google-services.json
)을 사용하고 있는지 확인합니다.
앱의 구성 파일을 가져옵니다.오류가 계속 발생하는지 확인합니다. 오류가 계속 발생하면 다음 문제 해결 단계를 진행하세요.
필수 기본 OAuth 2.0 클라이언트가 있는지 확인합니다.
Firebase Authentication: Apple 플랫폼 앱에 다음과 같은 오류가 표시되는 이유는 무엇인가요?
You must specify <clientID> in <GIDConfiguration>
You must specify <clientID> in <GIDConfiguration>
다음과 같은 오류가 발생하면 이 FAQ의 문제 해결 단계를 따르세요.
You must specify |clientID| in |GIDConfiguration|
인증 제공업체로 Google 로그인이 올바르게 사용 설정되어 있는지 확인합니다.
Firebase Console에서 Authentication 섹션을 엽니다.
로그인 방법 탭에서 Google 로그인 방법을 사용 중지했다가 다시 사용 설정합니다(이미 사용 설정된 경우도 포함).
Google 로그인 방법을 열고 사용 중지한 다음 저장을 클릭합니다.
Google 로그인 방법을 다시 열고 사용 설정한 다음 저장을 클릭합니다.
앱이 최신 Firebase 구성 파일(
GoogleService-Info.plist
)을 사용하고 있는지 확인합니다.
앱의 구성 파일을 가져옵니다.오류가 계속 발생하는지 확인합니다. 오류가 계속 발생하면 다음 문제 해결 단계를 진행하세요.
필수 기본 OAuth 2.0 클라이언트가 있는지 확인합니다.
Firebase Authentication: 웹 앱에 다음과 같은 오류가 표시되는 이유는 무엇인가요?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
다음과 같은 오류가 발생하면 이 FAQ의 문제 해결 단계를 따르세요.
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
인증 제공업체로 Google 로그인이 올바르게 사용 설정되어 있는지 확인합니다.
Firebase Console에서 Authentication 섹션을 엽니다.
로그인 방법 탭에서 Google 로그인 방법을 사용 중지했다가 다시 사용 설정합니다(이미 사용 설정된 경우도 포함).
Google 로그인 방법을 열고 사용 중지한 다음 저장을 클릭합니다.
Google 로그인 방법을 다시 열고 사용 설정한 다음 저장을 클릭합니다.
또한 Authentication 섹션의 Google 로그인 제공업체 구성에서 OAuth 클라이언트 ID와 보안 비밀이 Google Cloud 콘솔의 사용자 인증 정보 페이지에 표시된 웹 클라이언트와 일치하는지 확인합니다(OAuth 2.0 클라이언트 ID 섹션 확인).
Firebase Authentication: 웹 앱에서 리디렉션을 통한 로그인이 실패하고 다음과 같은 오류가 발생하는 이유는 무엇인가요?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
다음과 같은 오류가 발생하면 이 FAQ의 문제 해결 단계를 따르세요.
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
이 오류는 리디렉션 도메인이 Firebase Authentication의 승인된 도메인으로 나열되지 않거나 Firebase Authentication 서비스에 사용하는 API 키가 유효하지 않기 때문에 발생할 가능성이 큽니다.
먼저 YOUR_REDIRECT_DOMAIN이 Firebase 프로젝트의 승인된 도메인 목록에 있는지 확인합니다. 리디렉션 도메인이 이미 나열되어 있으면 잘못된 API 키 문제를 계속 해결하세요.
기본적으로 Firebase Authentication JS SDK는 Browser key
로 라벨이 지정된 Firebase 프로젝트의 API 키를 사용하며 이 키를 사용하여 승인된 도메인 목록에 따라 로그인 리디렉션 URL이 유효한지 확인합니다.
Authentication은 Authentication SDK에 액세스하는 방법에 따라 이 API 키를 가져옵니다.
Hosting에서 제공하는 인증 도우미를 사용하여 Authentication JS SDK로 사용자를 로그인하는 경우 Firebase는 Firebase Hosting에 배포할 때마다 나머지 Firebase 구성과 함께 API 키를 자동으로 가져옵니다. 웹 앱
firebaseConfig
의authDomain
이 해당 Hosting 사이트의 도메인 중 하나를 사용하도록 올바르게 구성되어 있는지 확인합니다.https://authDomain__/firebase/init.json
으로 이동하여firebaseConfig
의projectId
와 일치하는지 확인하면 됩니다.로그인 코드를 자체 호스팅하는 경우
__/firebase/init.json
파일을 사용하여 자체 호스팅된 Authentication JS SDK 리디렉션 도우미에 Firebase 구성을 제공할 수 있습니다. 이 구성 파일에 나열된 API 키와projectId
는 웹 앱firebaseConfig
와 일치해야 합니다.
이 API 키가 삭제되지 않았는지 확인합니다. Google Cloud 콘솔의 API 및 서비스 > 사용자 인증 정보 패널로 이동하여 프로젝트의 모든 API 키가 나열되는지 확인합니다.
Browser key
가 삭제되지 않은 경우 다음을 확인하세요.Firebase Authentication API가 키가 액세스할 수 있는 허용된 API 목록에 있는지 확인합니다(API 키의 API 제한사항 자세히 알아보기).
로그인 코드를 자체 호스팅하는 경우
__/firebase/init.json
파일에 나열된 API 키가 Cloud 콘솔의 API 키와 일치하는지 확인합니다. 필요한 경우 파일의 키를 수정한 다음 앱을 다시 배포합니다.Browser key
가 삭제된 경우 Firebase에서 새 API 키를 생성하도록 할 수 있습니다. Firebase Console에서 settings > 프로젝트 설정으로 이동한 다음 내 앱 섹션에서 웹 앱을 클릭합니다. 그러면 웹 앱의 SDK 설정 및 구성 섹션에 표시되는 API 키가 자동으로 생성됩니다.
Cloud 콘솔에서는 이 새 API 키가
Browser key
가 아닌 Firebase 웹 앱의 닉네임과 동일한 이름으로 표시됩니다. 이 새 API 키에 API 제한사항을 추가하려면 Firebase Authentication API가 허용된 API 목록에 있는지 확인합니다.새 API 키가 생성되면 아래에서 해당하는 단계를 완료합니다.
예약된 Hosting URL을 사용하는 경우 앱을 Firebase에 다시 배포하여 나머지 Firebase 구성과 함께 새 API 키를 자동으로 가져올 수 있도록 합니다.
로그인 코드를 자체 호스팅하는 경우 새 API 키를 복사하여
__/firebase/init.json
파일에 추가한 다음 앱을 다시 배포합니다.
Firebase Authentication: OAuth 웹 클라이언트를 수동으로 구성하려면 어떻게 해야 하나요?
Google Cloud 콘솔의 사용자 인증 정보 페이지를 엽니다.
페이지 상단에서 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 선택합니다.
동의 화면을 구성하라는 메시지가 표시되면 화면에 표시된 안내를 따른 후 이 FAQ의 다음 단계를 계속 진행합니다.
OAuth 웹 클라이언트를 만듭니다.
애플리케이션 유형으로 웹 애플리케이션을 선택합니다.
승인된 자바스크립트 원본에 다음을 추가합니다.
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
승인된 리디렉션 URI에 다음을 추가합니다.
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
OAuth 클라이언트를 저장합니다.
새 OAuth 클라이언트 ID와 클라이언트 보안 비밀번호를 클립보드에 복사합니다.
Firebase Console에서 Authentication 섹션을 엽니다.
로그인 방법 탭에서 Google 로그인 제공업체를 연 다음 Google Cloud 콘솔에서 방금 구성 및 복사한 웹 서버 클라이언트 ID와 보안 비밀을 붙여넣습니다. 저장을 클릭합니다.
Firebase Authentication: 사용자가 이메일 주소와 비밀번호를 사용해 가입할 때 전송될 수 있는 확인 이메일의 이메일 템플릿에 대해 %APP_NAME%
이 어떻게 결정되나요?
2022년 12월 이전에는 Firebase 프로젝트에 Android 프로젝트를 등록할 때마다 자동으로 프로비저닝된 OAuth 브랜드 이름으로 이메일 템플릿의 %APP_NAME%
이 입력되었습니다. 이제 OAuth 브랜드가 Google 로그인이 사용 설정된 경우에만 프로비저닝되므로 다음에서는 %APP_NAME%
을 결정하는 방법을 설명합니다.
OAuth 브랜드 이름을 사용할 수 있는 경우 이메일 템플릿의
%APP_NAME%
이 OAuth 브랜드 이름이 됩니다(2022년 12월 이전 동작과 동일).OAuth 브랜드 이름을 사용할 수 없는 경우 이메일 템플릿의
%APP_NAME%
은 다음과 같이 결정됩니다.웹 앱의 경우
%APP_NAME%
은 기본 Firebase Hosting 사이트 이름(.firebaseapp.com
및.web.app
앞의 값이며 일반적으로 Firebase 프로젝트 ID)이 됩니다.모바일 앱의 경우:
요청에 Android 패키지 이름 또는 iOS 번들 ID가 있는 경우
%APP_NAME%
은 Play 스토어 또는 App Store에서 각각 사용되는 앱 이름입니다.그렇지 않으면
%APP_NAME%
은 기본 Firebase Hosting 사이트 이름(.firebaseapp.com
및.web.app
앞의 값이며 일반적으로 Firebase 프로젝트 ID)이 됩니다.
기본 Firebase Hosting 사이트 이름을 조회할 수 없는 경우 마지막 대체는 Firebase 프로젝트 ID를
%APP_NAME%
으로 사용하는 것입니다.
Cloud Functions
Cloud Functions 런타임 지원
지원되는 최신 버전의 Node.js로 업그레이드하려면 어떻게 해야 하나요?
- Blaze 요금제를 사용 중인지 확인합니다.
- 최신 버전의 Firebase CLI를 사용하고 있는지 확인합니다.
- 함수의
package.json
에서engines
필드를 업데이트합니다. - 원하는 경우 Firebase Local Emulator Suite을 사용하여 변경사항을 테스트합니다.
- 모든 함수를 다시 배포합니다.
함수를 특정 Node.js 런타임에 배포했는지 확인하려면 어떻게 해야 하나요?
Firebase Console에서 함수 대시보드로 이동하여 함수를 선택한 후 추가 세부정보 아래에서 함수 언어를 확인합니다.
Firebase Extensions를 사용하고 있습니다. Cloud Functions 런타임 업데이트에 의한 영향이 있나요?
예. 확장 프로그램에서 Cloud Functions를 사용하므로 Cloud Functions와 동일한 타임라인에서 확장 프로그램의 런타임을 업데이트해야 합니다.
프로젝트에 설치된 각 확장 프로그램의 최신 버전으로 주기적으로 업데이트하는 것이 좋습니다. Firebase Console 또는 Firebase CLI를 통해 프로젝트의 확장 프로그램을 업그레이드할 수 있습니다.
Cloud Functions 가격 책정
Cloud Functions for Firebase를 사용하려면 결제 계정이 필요한 이유는 무엇인가요?
Cloud Functions for Firebase는 일부 유료 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 가격 책정
Cloud Functions for Firebase에는 계속 무료 사용량이 제공되나요?
예. Blaze 요금제에서 Cloud Functions는 호출, 컴퓨팅 시간, 인터넷 트래픽을 위한 무료 등급을 제공합니다. 처음 2,000,000회 호출, 400,000GB-초, 200,000 CPU-초, 5GB의 인터넷 이그레스 트래픽이 매월 무료로 제공됩니다. 기준점을 초과하는 사용량에 대해서만 요금이 청구됩니다.
처음 500MB의 무료 스토리지를 소진하면 배포 작업 시마다 함수의 컨테이너에 사용되는 스토리지에 대해 소규모 요금이 부과됩니다. 개발 프로세스에서 테스트용 함수 배포를 사용하는 경우 개발 중에 Firebase Local Emulator Suite을 사용하여 비용을 최소화할 수 있습니다.
Firebase 요금제 및 Cloud Functions 가격 책정 예시 시나리오를 참조하세요.
Firebase에서 Cloud Functions for Firebase의 할당량 및 한도를 상향 조정할 계획이 있나요?
아니요, 최대 빌드 시간 제한 삭제 외에는 할당량을 변경할 수 있는 요금제는 없습니다. 일일 빌드 할당량 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 정도)이 청구됩니다.
Cloud Messaging
Cloud Messaging: 알림 작성기와 Cloud Messaging의 차이는 무엇인가요?
Firebase Cloud Messaging은 클라이언트 SDK 및 HTTP와 XMPP 서버 프로토콜을 통해 완전한 메시징 기능 모음을 제공합니다. 메시징 요구사항이 보다 복잡한 배포의 경우 FCM이 가장 적합한 선택입니다.
알림 작성기는 Firebase Cloud Messaging을 기반으로 개발된 경량형 서버리스 메시징 솔루션입니다. 사용자에게 친숙한 그래픽 콘솔을 갖춘 알림 작성기로 코딩 요구사항을 줄이면서 사용자에게 손쉽게 메시지를 발송하여 재사용을 유도하고 사용자층을 유지하며 앱 성장을 촉진하고 마케팅 캠페인을 지원할 수 있습니다.
기능 | 알림 작성기 | Cloud Messaging | |
---|---|---|---|
대상 | 단일 기기 | ||
주제를 구독하는 클라이언트 (예: 날씨) | |||
사전 정의된 사용자 세그먼트의 클라이언트(앱, 버전, 언어) | |||
지정된 분석 잠재고객의 클라이언트 | |||
기기 그룹의 클라이언트 | |||
클라이언트에서 서버로 업스트림 | |||
메시지 유형 | 알림(최대 2kb) | ||
데이터 메시지(최대 4kb) | |||
전송 | 즉시 | ||
이후의 클라이언트 기기 현지 시간 | |||
애널리틱스 | 기본 제공 알림 분석 수집 및 유입경로 분석 |
Cloud Messaging: Apple은 APN의 기존 바이너리 프로토콜을 더 이상 사용하지 않는다고 발표했습니다. 조치를 취해야 하나요?
아니요. Firebase Cloud Messaging은 2017년에 HTTP/2 기반 APN 프로토콜로 전환되었습니다. FCM을 사용하여 iOS 기기에 알림을 보내는 경우 별도의 조치를 취하지 않아도 됩니다.
Cloud Messaging: FCM을 사용하려면 다른 Firebase 서비스를 사용해야 하나요?
GCM을 사용한 방식과 마찬가지로 다른 Firebase 서비스를 사용하지 않고 Firebase Cloud Messaging을 독립형 구성요소로 사용할 수 있습니다.
Cloud Messaging: 기존 Google 클라우드 메시징(GCM) 개발자의 경우 Firebase Cloud Messaging으로 이동해야 하나요?
Firebase 브랜드에서 GCM의 새 버전인 FCM은 GCM의 핵심 인프라를 상속하며 새 SDK로 Cloud Messaging 개발이 더 쉬워졌습니다.
FCM SDK로 업그레이드할 때의 장점:
- 더욱 간단한 클라이언트 개발. 자체 가입 또는 구독 재시도 로직을 작성할 필요가 없습니다.
- 바로 사용할 수 있는 알림 솔루션. 웹 콘솔을 갖춘 서버리스 알림 솔루션인 알림 작성기를 사용하면 누구나 Google 애널리틱스의 통계를 기반으로 특정 잠재고객을 타겟팅하는 알림을 보낼 수 있습니다.
GCM SDK에서 FCM SDK로 업그레이드하려면Android 및 iOS 앱의 마이그레이션 가이드를 참조하세요.
Cloud Messaging: 대상 기기에서 메시지를 수신하지 못하는 이유는 무엇인가요?
기기에서 성공적으로 메시지를 수신하지 못하는 경우 우선 다음 두 가지 원인을 확인해 보세요.
알림 메시지에 대한 포그라운드 메시지 처리. 기기에서 앱이 포그라운드 상태일 때 알림 메시지를 처리하는 메시지 처리 로직을 클라이언트 앱에 추가해야 합니다. 자세한 내용은 iOS 및 Android 문서를 참조하세요.
네트워크 방화벽 제한. 조직에 인터넷 트래픽 송수신을 제한하는 방화벽이 있는 경우 FCM 연결을 허용하도록 구성해야 Firebase Cloud Messaging 클라이언트 앱에서 메시지를 수신할 수 있습니다. 다음 포트를 개방해야 합니다.
- 5228
- 5229
- 5230
FCM은 일반적으로 5228을 사용하지만 경우에 따라 5229 및 5230도 사용합니다. FCM은 특정 IP를 제공하지 않으므로 Google ASN 15169에 나와 있는 IP 블록에 포함된 모든 IP 주소로 나가는 연결을 방화벽에서 허용해야 합니다.
Cloud Messaging: Android 앱에서 구현한 onMessageReceived
가 호출되지 않습니다.
앱이 백그라운드 상태이면 알림 메시지가 작업 표시줄에 표시되며 onMessageReceived
는 호출되지 않습니다. 알림 메시지에 데이터 페이로드가 있는 경우 알림 메시지는 작업 표시줄에 표시되며, 알림 메시지에 포함된 데이터는 사용자가 알림을 탭할 때 실행되는 인텐트에서 검색할 수 있습니다.
자세한 내용은 메시지 수신 및 처리를 참조하세요.
알림 작성기: 알림 작성기와 Cloud Messaging의 차이는 무엇인가요?
알림 작성기는 Firebase Cloud Messaging을 기반으로 개발된 경량형 서버리스 메시징 솔루션입니다. 사용자에게 친숙한 그래픽 콘솔을 갖춘 알림 작성기로 코딩 요구사항을 줄이면서 사용자에게 손쉽게 메시지를 발송하여 재사용을 유도하고 사용자층을 유지하며 앱 성장을 촉진하고 마케팅 캠페인을 지원할 수 있습니다.
Firebase Cloud Messaging은 클라이언트 SDK 및 HTTP와 XMPP 서버 프로토콜을 통해 완전한 메시징 기능 모음을 제공합니다. 메시징 요구사항이 보다 복잡한 배포의 경우 FCM이 가장 적합한 선택입니다.
다음은 Firebase Cloud Messaging과 알림 작성기에서 제공하는 메시징 기능을 비교한 표입니다.
기능 | 알림 작성기 | Cloud Messaging | |
---|---|---|---|
대상 | 단일 기기 | ||
주제를 구독하는 클라이언트 (예: 날씨) | |||
사전 정의된 사용자 세그먼트의 클라이언트(앱, 버전, 언어) | |||
지정된 분석 잠재고객의 클라이언트 | |||
기기 그룹의 클라이언트 | |||
클라이언트에서 서버로 업스트림 | |||
메시지 유형 | 알림(최대 2kb) | ||
데이터 메시지(최대 4kb) | |||
전송 | 즉시 | ||
이후의 클라이언트 기기 현지 시간 | |||
애널리틱스 | 기본 제공 알림 분석 수집 및 유입경로 분석 |
알림 작성기: 기존 Google 클라우드 메시징(GCM)을 사용하는 개발자인데, 알림 작성기를 사용해 보려고 합니다. 어떻게 해야 하나요?
알림 작성기는 누구나 Google 애널리틱스의 통계를 기반으로 특정 잠재고객을 타겟팅하는 알림을 보낼 수 있는 즉시 사용 가능한 솔루션입니다. 또한 알림 작성기는 모든 메시지에 유입경로 분석을 제공하여 알림 효과를 쉽게 평가할 수 있습니다.
기존 GCM 개발자가 알림 작성기를 사용하려면 GCM SDK에서 FCM SDK로 업그레이드해야 합니다. Android 및 iOS 앱 마이그레이션 가이드를 참조하세요.
2023년 6월에 지원 중단된 FCM 기능
2023년 6월 20일에 지원 중단된 FCM API는 무엇이며 이 API를 사용하는 경우 어떻게 해야 하나요?
지원 중단으로 영향을 받는 API/SDK는 다음과 같습니다.
서버 API
API 이름 | API 엔드포인트 | 사용자에게 미치는 영향 | 조치 필요 |
---|---|---|---|
기존 HTTP 프로토콜 | https://fcm.googleapis.com/fcm/send | 2024년 6월 21일 이후부터는 엔드포인트에 대한 요청이 실패하게 됩니다. | HTTP v1 API로 이전 |
기존 XMPP 프로토콜 | fcm-xmpp.googleapis.com:5235 | 2024년 6월 21일 이후부터는 엔드포인트에 대한 요청이 실패하게 됩니다. | HTTP v1 API로 이전 |
인스턴스 ID 서버 API | https://iid.googleapis.com/v1/web/iid | 2024년 6월 21일 이후부터는 엔드포인트에 대한 요청이 실패하게 됩니다. | 웹 JS SDK를 사용하여 FCM 웹 등록을 만듭니다. |
https://iid.googleapis.com/iid/* | 엔드포인트가 계속 작동하지만 2024년 6월 21일 이후에는 정적 서버 키를 사용한 인증을 지원하지 않습니다. | 서비스 계정에서 생성된 OAuth 2.0 액세스 토큰을 사용합니다. | |
기기 그룹 관리 API | https://fcm.googleapis.com/fcm/notification | 엔드포인트는 계속 작동하지만 2024년 6월 21일 이후에는 정적 서버 키를 사용한 인증이 지원되지 않습니다. | 서비스 계정에서 생성된 OAuth 2.0 액세스 토큰을 사용합니다. |
XMPP를 통한 업스트림 메시징 | fcm-xmpp.googleapis.com:5235 | 앱에서 FirebaseMessaging.send에 대해 API 호출해도 2024년 6월 21일 이후에는 앱 서버로 업스트림 메시지가 트리거되지 않습니다. | 서버 로직에서 이 기능을 구현합니다. 예를 들어 일부 개발자는 자체 HTTP/gRPC 엔드포인트를 구현하고 엔드포인트를 직접 호출하여 클라이언트에서 앱 서버로 메시지를 보냅니다. gRPC를 사용한 업스트림 메시징 구현의 예시는 이 gRPC 빠른 시작을 참조하세요. |
일괄 전송 API | https://fcm.googleapis.com/batch | 2024년 6월 21일 이후부터는 엔드포인트에 대한 요청이 실패하게 됩니다. | 다중화를 위해 HTTP/2를 지원하는 표준 HTTP v1 API 전송 메서드로 마이그레이션합니다. |
Firebase Admin SDK API
API 이름 | API 언어 | 사용자에게 미치는 영향 | 조치 필요 |
---|---|---|---|
sendToDevice()
|
Node.js | 이 API는 2024년 6월 21일 이후에는 기존 HTTP 전송 API를 호출하므로 작동이 중단됩니다. | send() 메서드를 사용합니다.
|
sendToDeviceGroup()
|
Node.js | 이 API는 2024년 6월 21일 이후에는 기존 HTTP 전송 API를 호출하므로 작동이 중단됩니다. | send() 메서드를 사용합니다.
|
sendToTopic()
|
Node.js | 이 API는 2024년 6월 21일 이후에는 기존 HTTP 전송 API를 호출하므로 작동이 중단됩니다. | send() 메서드를 사용합니다.
|
sendToCondition()
|
Node.js | 이 API는 2024년 6월 21일 이후에는 기존 HTTP 전송 API를 호출하므로 작동이 중단됩니다. | send() 메서드를 사용합니다.
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | 이러한 API는 일괄 전송 API를 호출하므로 2024년 6월 21일 후에는 작동이 중지됩니다. | 최신 Firebase Admin SDK로 업그레이드하고 새 API(sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() )를 대신 사용하세요.
새 API는 더 이상 지원 중단된 일괄 전송 API를 호출하지 않으며, 이러한 이유로 이전 API보다 동시 HTTP 연결이 더 많이 생성될 수 있습니다. |
클라이언트 SDK
SDK 버전 | 사용자에게 미치는 영향 | 조치 필요 |
---|---|---|
GCM SDK(2018년에 지원 중단됨) | 2024년 6월 21일 이후에는 GCM SDK를 사용하는 앱에서 토큰을 등록하거나 FCM의 메시지를 받을 수 없게 됩니다. | 아직 업그레이드하지 않았다면 Android SDK를 최신 Firebase SDK로 업그레이드하세요. |
JS SDK 버전 7.0.0 미만(2019년 버전 7.0.0의 브레이킹 체인지) | 2024년 6월 21일 이후에는 이전 JS SDK를 사용하는 웹 앱에서 토큰을 등록할 수 없습니다. | Firebase 웹 SDK를 최신 버전으로 업그레이드하세요. |
2024년 6월 전에 서비스가 다운그레이드되나요?
아니요. 서비스 다운그레이드 없이 12개월(2023년 6월 20일~2024년 6월 21일) 안에 기존 API에서 새 API로 이전해야 합니다. 2024년 6월에 API 사용 중지로 인해 영향을 받지 않도록 가능한 한 빨리 이전을 계획하는 것이 좋습니다.
2024년 6월 이후에는 위에 나열된 API/SDK를 사용할 때 오류가 증가하거나 기능이 제공되지 않을 수 있습니다(자세한 내용은 다음 FAQ 참고).
지원 중단된 API는 언제 어떻게 종료되나요?
FCM은 2024년 7월 22일경 지원 중단된 API의 점진적인 종료를 시작합니다. 이 날짜 이후에는 지원 중단된 서비스에 '깜박임' 프로세스가 적용되어 점점 더 많은 요청이 오류 응답을 반환하게 됩니다. 점진적인 지원 중단 기간에는 시간이 지남에 따라 다음과 같은 동작 및 오류 응답의 빈도가 증가할 수 있습니다.
카테고리 | 예상 결과 |
---|---|
기존 HTTP 프로토콜 | HTTP 코드 301과 함께 요청이 거부됩니다. |
기존 XMPP 프로토콜 | 오류 코드 302와 함께 요청이 거부됩니다. |
FCM 업스트림 | FCM 백엔드에서 메시지가 자동으로 삭제됩니다. |
일괄 전송 API | 오류 코드 UNIMPLEMENTED와 'API가 지원 중단되었습니다.' 오류 메시지와 함께 요청이 거부됩니다. |
GCM SDK - 토큰 등록 | HTTP 코드 301과 함께 요청이 거부됩니다. |
GCM SDK - 메시지 전송 | 오류 코드 400 및 'V3 토큰이 지원 중단되었습니다.' 오류 메시지와 함께 요청이 거부됩니다. |
JS SDK 버전 7.0.0 미만 | HTTP 코드 501과 함께 요청이 거부됩니다. |
서버 키를 사용하여 인스턴스 ID 및 기기 그룹 관리 API에 액세스 | HTTP 코드 401과 함께 요청이 거부됩니다. |
OAuth 2.0 토큰과 서버 키의 차이점은 무엇인가요?
OAuth 2.0 토큰은 서비스 계정에서 생성된 단기 토큰입니다. Google의 표준 인증 모델이며 정적 서버 키보다 안전합니다.
Google 인증 라이브러리를 사용하여 토큰을 얻는 방법에 대한 안내는 사용자 인증 정보를 사용하여 액세스 토큰 발급을 참조하세요.
다른 엔드포인트에 대한 요청에 OAuth 2.0 토큰을 사용하는 경우 요청 헤더가 다릅니다.
- HTTP v1 API:
Authorization: Bearer $oauth_token
- Instance ID server API 및 Device group management API:
Authorization: Bearer $oauth_token
access_token_auth: true
새 API로 요청을 한 번에 모두 이전할 수 있나요?
새 API로 유입되는 트래픽을 서서히 늘리는 것이 좋습니다. 분당 600,000개를 초과하는 메시지를 보낼 것으로 예상되는 경우 Firebase 지원팀에 문의하여 할당량을 늘리거나 트래픽을 분산하는 방법에 대한 권장사항을 확인하세요.
주제/기기 그룹으로 메시지를 보낼 때 HTTP v1 API와 기존 API의 차이점은 무엇인가요?
주제: v1 API를 사용할 때는 주제 타겟에 '/topics/' 프리픽스를 추가하지 않아도 됩니다.
기기 그룹: HTTP v1 API에서 그룹 토큰을 토큰 타겟으로 사용할 수 있습니다. 그러나 HTTP v1 API는 응답에 성공/실패 횟수를 반환하지 않습니다. FCM 주제를 사용하거나 기기 그룹을 직접 관리하는 것이 좋습니다.
HTTP v1 API는 단일 요청에서 여러 토큰으로 메시지 전송을 지원하나요?
아니요. 기존 HTTP API에서 '멀티캐스트'라고 하는 이 기능은 확장성을 위해 개선된 HTTP v1 API에서 지원되지 않습니다.
엔드 투 엔드 지연 시간이 중요하거나 총 팬아웃 크기가 작은(100만 미만) 사용 사례의 경우 HTTP V1 API를 사용하여 여러 개별적인 요청을 전송하는 것을 권장합니다. HTTP/2를 통한 HTTP v1 API는 멀티캐스트 요청의 99.9%에 대해 비슷한 성능을 보입니다(100개 미만의 토큰을 전송하는 경우). 이상점 사용 사례(1,000개 토큰 전송)의 경우 처리량 속도의 최대 3분의 1을 달성하므로 이 일반적인 사용 사례에 맞게 최적화하려면 추가 동시 실행이 필요합니다. HTTP v1 API를 사용하면 기존 멀티캐스트보다 안정성과 가용성이 높아집니다.
처리량 및 이그레스 대역폭을 우선하거나 총 팬아웃 크기가 큰(100만보다 큰) 사용 사례의 경우 주제 메시징을 사용하는 것이 좋습니다. 주제 메시징에서 수신자의 주제 구독을 위한 일회성 작업이 필요하지만 주제 크기의 최대 한도 없이 프로젝트 팬아웃 속도당 최대 10,000QPS가 제공됩니다.
새로운 API가 있는 Firebase Admin SDK 버전은 무엇인가요?
플랫폼 | Firebase Admin SDK 버전 |
---|---|
Node.js | >=11.7.0 |
Python | >=6.2.0 |
Java | >=9.2.0 |
Go | >=4.12.0 |
.NET | >=2.4.0 |
일괄 전송 API와 HTTP v1 API의 차이점은 무엇인가요?
FCM 일괄 전송 API는 HTTP v1 API와 동일한 메시지 형식과 인증 메커니즘을 사용합니다. 하지만 사용되는 엔드포인트는 다릅니다. 효율성을 높이려면 HTTP/2를 사용하여 동일한 HTTP 연결을 통해 여러 요청을 HTTP v1 API에 전송하는 것이 좋습니다.
내 프로젝트에 액세스할 수 없으면 어떻게 해야 하나요?
Google Cloud 지원팀에 문의하세요.
새 프로젝트에서 기존 Cloud Messaging API를 사용 설정할 수 있나요?
아니요. 2024년 5월 20일부터는 새 프로젝트에서 더 이상 기존 API를 사용 설정할 수 없습니다.
기존 Cloud Messaging API는 언제 사용 중지할 수 있나요?
HTTP v1 API로 완전히 마이그레이션했는지 확인한 후에는 기존 Cloud Messaging API를 사용 중지할 수 있습니다. API가 이미 사용 중지된 경우 페이지가 로드되지 않을 수 있습니다.
FCM 할당량 및 한도
2분 이내에 대규모 고객 기반에 알림을 전송하려면 어떻게 해야 하나요?
안타깝게도 이 사용 사례는 지원되지 않습니다. 트래픽을 5분에 걸쳐 분산해야 합니다.
앱이 사용자에게 이벤트를 알립니다. 비즈니스 모델을 지원하려면 이러한 메시지를 즉시 전송해야 합니다. 할당량을 더 받을 수 있나요?
안타깝게도 이 이유로 할당량을 늘려 드릴 수 없습니다. 트래픽을 5분에 걸쳐 분산해야 합니다.
메시지는 예약된 이벤트에 관한 것입니다. 매시간 정각에 모든 트래픽을 전송하려면 어떻게 해야 하나요?
이벤트가 시작되기 최소 5분 전에 알림을 보내기 시작하는 것이 좋습니다.
할당량 요청이 처리되려면 얼마나 걸리나요?
이는 FCM 사용에 따라 다릅니다. 어떠한 경우든 영업일 기준 며칠 이내에 답변을 받으실 수 있습니다. 경우에 따라 FCM 사용 및 다양한 상황에 관해 몇 번의 문의가 오갈 수 있으며 이로 인해 절차가 지연될 수 있습니다. 모든 요건이 충족되면 대부분의 요청은 2주 이내에 처리됩니다.
할당량 사용량을 모니터링하려면 어떻게 해야 하나요?
할당량 측정항목 차트 생성 및 모니터링 방법에 관한 Google Cloud 가이드를 참조하세요.
429는 직접/비즈니스에서 처리하기 어렵습니다. 429 오류가 발생하지 않도록 예외 또는 더 많은 할당량을 받을 수 있나요?
할당량 제한이 불편을 드릴 수 있다는 점을 잘 알고 있지만 할당량은 서비스의 안정성을 유지하는 데 매우 중요하며 예외를 허용할 수 없습니다.
임시 이벤트에 대한 할당량을 더 받을 수 있나요?
최대 1개월 동안 지속되는 이벤트를 지원하기 위해 추가 할당량을 요청할 수 있습니다. 이벤트 시작일 및 종료일에 관한 명확한 세부정보를 포함하여 이벤트가 시작되기 최소 1개월 전에 요청을 제출하면 FCM에서 요청을 처리하기 위해 모든 실질적인 노력을 기울입니다(할당량 상향은 보장되지 않음). 이러한 할당량 증가는 이벤트 종료일 후에 되돌아갑니다.
현재 할당량은 변경될 수 있나요?
Google은 가볍게 할당량을 변경하지는 않지만 시스템의 무결성을 보호하기 위해 필요한 경우 할당량을 변경할 수 있습니다. 가능한 경우 Google은 이러한 변경사항을 미리 알려드립니다.
Cloud Storage for Firebase
Cloud Storage for Firebase: 2024년 9월에 발표된 기본 버킷 변경사항은 무엇인가요?
Cloud Storage 문서에서 기본 Cloud Storage 버킷 변경사항에 대해 자세히 알아보세요.
Cloud Storage for Firebase: Cloud Storage for Firebase를 사용할 수 없는 이유는 무엇인가요?
Cloud Storage for Firebase는 App Engine 무료 등급의 기본 버킷을 만듭니다. 따라서 신용카드를 등록하거나 Cloud Billing 계정을 사용 설정할 필요없이 Firebase 및 Cloud Storage for Firebase를 바로 사용할 수 있습니다. 또한 Firebase와 Google Cloud 프로젝트 간에 손쉽게 데이터를 공유할 수 있습니다.
그러나 이 버킷을 만들 수 없기 때문에 Cloud Storage for Firebase를 사용할 수 없는 두 가지 경우가 알려져 있습니다.
- Google Cloud에서 가져온 프로젝트에 App Engine 마스터 및 슬레이브 Datastore 애플리케이션이 포함된 경우
-
Google Cloud에서 가져온 프로젝트에 도메인 프리픽스 프로젝트가 포함된 경우 예를 들면
domain.com:project-1234
입니다.
현재는 이 문제를 해결할 방법이 없으며 Firebase Console에서 새 프로젝트를 만들고 해당 프로젝트에서 Cloud Storage for Firebase를 사용 설정하는 것이 좋습니다.
Cloud Storage for Firebase: Cloud Storage for Firebase API를 사용할 때 서비스 계정 권한과 실패한 서비스 계정 작업에 대한 오류 코드 412 응답이 표시되는 이유는 무엇인가요?
프로젝트에 Cloud Storage for Firebase API가 사용 설정되지 않았거나 필요한 서비스 계정에 필요한 권한이 없으므로 412 오류 코드가 표시될 수 있습니다.
관련 FAQ를 참조하세요.
Cloud Storage for Firebase: Spark 요금제 프로젝트에서 실행 파일을 저장할 수 있나요?
무료(Spark) 요금제 프로젝트의 경우 Firebase는 Cloud Storage for Firebase 및 Firebase Hosting을 통한 Windows, Android, Apple용 특정 실행 파일 형식의 업로드 및 호스팅을 차단합니다. 이 정책은 Google 플랫폼에서 악용을 방지하기 위해 존재합니다.
2023년 9월 28일 이후에 생성된 모든 Spark 프로젝트에서 허용되지 않는 파일의 서빙, 호스팅, 파일 업로드가 차단됩니다. 이 날짜 이전에 업로드된 파일이 있는 기존 Spark 프로젝트의 경우 해당 파일을 계속 업로드하고 호스팅할 수 있습니다.
이 제한사항은 Spark 요금제를 사용하는 프로젝트에 적용됩니다. 사용한 만큼만 지불(Blaze) 요금제를 사용하는 프로젝트는 영향을 받지 않습니다.
다음 파일 형식은 Firebase Hosting 및 Cloud Storage for Firebase에서 호스팅할 수 없습니다.
- 확장자가
.exe
,.dll
,.bat
인 Windows 파일 - 확장자가
.apk
인 Android 파일 - 확장자가
.ipa
인 Apple 플랫폼 파일
어떤 조치를 취해야 하나요?
2023년 9월 28일 이후에도 이러한 파일 형식을 호스팅하려면 다음 안내를 따르세요.
- 호스팅의 경우:
firebase deploy
명령어를 통해 이러한 파일 형식을 Firebase Hosting에 배포하려면 먼저 Blaze 요금제로 업그레이드하세요. - Storage의 경우: Blaze 요금제로 업그레이드하여 GCS CLI, Firebase Console 또는 Google Cloud 콘솔을 사용하여 원하는 버킷에 파일 형식을 업로드합니다.
Firebase 도구를 사용하여 Firebase Hosting 및 Cloud Storage 리소스를 관리하세요.
- Firebase Hosting의 리소스를 관리하려면 이 가이드에 따라 Firebase Console을 사용하여 출시 버전을 삭제하세요.
- Cloud Storage의 리소스를 관리하려면 프로젝트의 Storage 제품 페이지로 이동하세요.
- 파일 탭의 폴더 계층 구조에서 삭제할 수 없는 파일을 찾은 다음 패널 왼쪽의 파일 이름 옆에 있는 체크박스를 사용하여 해당 파일을 선택합니다.
- 삭제를 클릭하고 파일이 삭제되었는지 확인합니다.
Firebase 도구를 사용한 호스팅 리소스 및 클라이언트 라이브러리가 포함된 Firebase용 Cloud Storage 버킷을 관리하는 방법에 대한 자세한 내용은 문서를 참조하세요.
Cloud Storage for Firebase: 업로드 및 다운로드 작업이 예기치 않게 증가하는 이유는 무엇인가요?
이전에는 Cloud Storage for Firebase API에 대한 다운로드 및 업로드 요청이 제대로 계산되지 않았습니다. Firebase는 2023년 9월 15일부터 이 문제를 해결하기 위한 조치를 취했습니다.
Blaze 사용자의 경우 업로드 및 다운로드 작업이 월간 청구액에 반영됩니다. Spark 사용자의 경우 업로드 및 다운로드 작업이 월간 무료 한도에 반영됩니다.
사용량 페이지를 모니터링하여 한도에 포함되는 작업이 증가하는지 확인하세요.
Cloud Storage for Firebase: Cloud Storage for Firebase를 사용하는 Firebase 프로젝트와 연결된 새 서비스 계정 ID가 표시되는 이유는 무엇인가요?
Firebase는 서비스 계정을 사용하여 사용자 인증 정보를 공유하지 않고 서비스를 운영하고 관리합니다. Firebase 프로젝트를 만들면 프로젝트에 사용 가능한 서비스 계정이 이미 여러 개 있다는 것을 알 수 있습니다.
Cloud Storage for Firebase에서 사용하는 서비스 계정의 범위는 프로젝트로 지정되며 이 서비스 계정의 이름은 service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
입니다.
2022년 9월 19일 이전에 Cloud Storage for Firebase를 사용한 경우 이전에 연결된 Cloud Storage 버킷에 firebase-storage@system.gserviceaccount.com
이라는 추가 서비스 계정이 표시될 수 있습니다. 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 버킷에 액세스하지 못할 수 있으므로 삭제하지 않는 것이 좋습니다. 프로젝트에서 서비스 계정을 삭제하려면 서비스 계정 사용 중지의 안내를 따르세요.
Cloud Storage for Firebase 가격 책정
Cloud Storage for Firebase: 2024년 9월에 발표된 Cloud Storage 요금제 요구사항의 변경사항은 무엇인가요?
Cloud Storage 문서에서 Cloud Storage의 요금제 요구사항 변경사항에 대해 자세히 알아보세요.
업로드 및 다운로드 작업에 대한 요금이 얼마나 청구될지 어떻게 예측할 수 있나요?
Firebase 가격 책정 페이지로 이동하여 Blaze 요금제 계산기를 사용하세요. 계산기에는 Cloud Storage for Firebase의 모든 사용 유형이 나와 있습니다.
슬라이더를 사용하여 Storage 버킷의 예상 사용량을 입력합니다. 계산기가 예상 월간 청구액을 계산합니다.
Cloud Storage for Firebase에 대한 Spark 요금제 업로드, 다운로드, 저장용량 한도를 초과하면 어떻게 되나요?
Spark 요금제에서 프로젝트의 Cloud Storage 한도를 초과하면 어떠한 한도를 초과했는지에 따라 다른 결과가 발생합니다.
- 저장된 크기(GB) 한도를 초과하면 해당 프로젝트에서 데이터를 더 이상 저장할 수 없으며, 저장된 데이터를 일부 삭제하거나 저장용량을 더 많이 또는 무제한으로 제공하는 요금제로 업그레이드해야 합니다.
- 다운로드한 크기(GB) 한도를 초과하면 다음 날이 시작될 때까지(미국 태평양 표준시 자정 기준) 앱에서 데이터를 더 이상 다운로드할 수 없으며 한도에 여유가 있거나 무제한 요금제로 업그레이드해야 합니다.
- 업로드 또는 다운로드 작업 한도를 초과하면 다음 날이 시작될 때까지(미국 태평양 표준시 자정 기준) 앱에서 데이터를 더 이상 업로드 또는 다운로드할 수 없으며, 바로 업로드 또는 다운로드하려면 한도에 여유가 있거나 제한이 없는 요금제로 업그레이드해야 합니다.
Crashlytics
Crashlytics 문제 해결 및 FAQ 페이지에서 유용한 팁과 더 많은 FAQ에 대한 답변을 확인하세요.
Dynamic Links
Dynamic Links: Dynamic Links에 대한 Firebase의 향후 계획은 무엇인가요?
Dynamic Links FAQ를 참조하세요.
Dynamic Links: Android 앱에서 각 동적 링크에 두 번 연결하는 이유는 무엇인가요?
getInvitation
API는 저장된 동적 링크를 삭제하여 두 번 액세스하는 것을 방지합니다. 기본 활동 외부에서 활동이 트리거된 경우에 동적 링크를 삭제하려면 각 딥 링크 활동에서 autoLaunchDeepLink
매개변수를 false
로 설정하여 이 API를 호출해야 합니다.
Hosting
Hosting: Spark 요금제 프로젝트에서 실행 파일을 저장할 수 있나요?
무료(Spark) 요금제 프로젝트의 경우 Firebase는 Cloud Storage for Firebase 및 Firebase Hosting을 통한 Windows, Android, Apple용 특정 실행 파일 형식의 업로드 및 호스팅을 차단합니다. 이 정책은 Google 플랫폼에서 악용을 방지하기 위해 존재합니다.
2023년 9월 28일 이후에 생성된 모든 Spark 프로젝트에서 허용되지 않는 파일의 서빙, 호스팅, 파일 업로드가 차단됩니다. 이 날짜 이전에 업로드된 파일이 있는 기존 Spark 프로젝트의 경우 해당 파일을 계속 업로드하고 호스팅할 수 있습니다.
이 제한사항은 Spark 요금제를 사용하는 프로젝트에 적용됩니다. 사용한 만큼만 지불(Blaze) 요금제를 사용하는 프로젝트는 영향을 받지 않습니다.
다음 파일 형식은 Firebase Hosting 및 Cloud Storage for Firebase에서 호스팅할 수 없습니다.
- 확장자가
.exe
,.dll
,.bat
인 Windows 파일 - 확장자가
.apk
인 Android 파일 - 확장자가
.ipa
인 Apple 플랫폼 파일
어떤 조치를 취해야 하나요?
2023년 9월 28일 이후에도 이러한 파일 형식을 호스팅하려면 다음 안내를 따르세요.
- 호스팅의 경우:
firebase deploy
명령어를 통해 이러한 파일 형식을 Firebase Hosting에 배포하려면 먼저 Blaze 요금제로 업그레이드하세요. - Storage의 경우: Blaze 요금제로 업그레이드하여 GCS CLI, Firebase Console 또는 Google Cloud 콘솔을 사용하여 원하는 버킷에 파일 형식을 업로드합니다.
Firebase 도구를 사용하여 Firebase Hosting 및 Cloud Storage 리소스를 관리하세요.
- Firebase Hosting의 리소스를 관리하려면 이 가이드에 따라 Firebase Console을 사용하여 출시 버전을 삭제하세요.
- Cloud Storage의 리소스를 관리하려면 프로젝트의 Storage 제품 페이지로 이동하세요.
- 파일 탭의 폴더 계층 구조에서 삭제할 수 없는 파일을 찾은 다음 패널 왼쪽의 파일 이름 옆에 있는 체크박스를 사용하여 해당 파일을 선택합니다.
- 삭제를 클릭하고 파일이 삭제되었는지 확인합니다.
Firebase 도구를 사용한 호스팅 리소스 및 클라이언트 라이브러리가 포함된 Firebase용 Cloud Storage 버킷을 관리하는 방법에 대한 자세한 내용은 문서를 참조하세요.
Hosting: Firebase Console의 Hosting 출시 내역 표에 실제 로컬 프로젝트보다 많은 파일 수가 표시되는 이유는 무엇인가요?
Firebase는 Hosting 사이트에 대한 메타데이터가 포함된 파일을 자동으로 추가합니다. 이러한 파일은 릴리스의 총 파일 수에 포함됩니다.
Hosting: Firebase Hosting에 배포할 수 있는 최대 파일 크기는 얼마인가요?
Hosting은 개별 파일의 최대 크기 한도가 2GB로 제한됩니다.
Cloud Storage를 사용하여 더 큰 파일을 저장하는 것이 좋습니다. Cloud Storage는 개별 객체에 대해 테라바이트 범위의 최대 크기 한도를 제공합니다.
Hosting: Firebase 프로젝트당 Hosting 사이트를 몇 개까지 포함할 수 있나요?
Firebase Hosting 멀티 사이트 기능은 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을 통해 실시간에 가까운 수준으로 데이터를 처리할 수 있습니다.
Realtime Database
Realtime Database: '동시 데이터베이스 연결'은 무엇인가요?
동시 연결은 데이터베이스에 연결된 휴대기기, 브라우저 탭 또는 서버 앱 하나를 말합니다. Firebase는 앱의 데이터베이스에 대한 동시 연결 수를 일정하게 제한합니다. 이 제한은 Firebase 및 사용자를 악용 사례로부터 보호하려는 조치입니다.
Spark 요금제 한도가 100개이며 이 한도를 상향 조정할 수 없습니다. Flame 및 Blaze 요금제의 데이터베이스당 동시 연결 한도는 200,000개입니다.
모든 사용자가 동시에 연결하지는 않으므로 이 한도는 앱의 총 사용자 수와 다릅니다. 동시 연결이 200,000개 넘게 필요한 경우 여러 데이터베이스로 규모 확장을 참조하세요.
Realtime Database: Realtime Database의 확장에는 어떤 제한이 있나요?
각 Realtime Database 인스턴스는 초당 쓰기 작업 횟수에 제한이 있습니다. 소규모 쓰기의 경우 초당 쓰기 작업 약 1,000개로 제한됩니다. 이 한도에 가까워질 경우 멀티 경로 업데이트를 사용하여 작업을 일괄 처리하면 처리량을 높일 수 있습니다.
또한 각 데이터베이스 인스턴스에는 동시 데이터베이스 연결 수에 대한 한도가 있습니다. 기본 제한은 대부분의 애플리케이션에 충분합니다. 추가 확장이 필요한 앱을 빌드 중이라면 추가된 크기에 대해 여러 데이터베이스 인스턴스에서 애플리케이션을 샤딩해야 할 수도 있습니다. 또한 대체 데이터베이스로 Cloud Firestore를 사용할 수도 있습니다.
Realtime Database: Realtime Database 사용량 한도를 초과한 경우 어떻게 해야 하나요?
이메일 알림이나 Firebase Console을 통해 Realtime Database 사용량 한도를 초과했다는 알림을 받은 경우 초과한 사용량 한도를 토대로 조치를 취할 수 있습니다. Realtime Database 사용량을 확인하려면 Firebase Console의 Realtime Database 사용량 대시보드로 이동합니다.
다운로드 한도를 초과한 경우 Firebase 요금제를 업그레이드하거나 다음 결제 주기 시작 시 다운로드 한도가 재설정될 때까지 기다려야 할 수 있습니다. 다운로드 사용량을 줄이는 방법은 다음과 같습니다.
- 수신 대기 작업으로 반환되는 데이터를 제한하는 쿼리를 추가합니다.
- 색인화되지 않은 쿼리가 있는지 확인합니다.
- 데이터 업데이트만 다운로드하는 리스너(예:
once()
대신on()
)를 사용합니다. - 보안 규칙을 사용하여 무단 다운로드를 차단합니다.
저장용량 한도를 초과한 경우 서비스가 중단되지 않도록 요금제를 업그레이드합니다. 데이터베이스의 데이터 양을 줄이는 방법은 다음과 같습니다.
- 주기적으로 정리 작업을 실행합니다.
- 데이터베이스의 중복 데이터를 줄입니다.
데이터 삭제가 저장용량 할당량에 반영되기까지 다소 시간이 걸릴 수 있습니다.
동시 데이터베이스 연결 한도를 초과한 경우 서비스가 중단되지 않도록 요금제를 업그레이드합니다. 동시 데이터베이스 연결을 관리하려면 실시간 연결이 필요하지 않은 사용자는 REST API를 통해 연결하세요.
Realtime Database: Realtime Database의 Spark 요금제 스토리지 또는 다운로드 한도를 초과하면 어떻게 되나요?
요금을 예측할 수 있도록 Spark 요금제에서 제공되는 리소스에는 한도가 설정되어 있습니다. 따라서 한 달 중에 요금제 한도를 초과하면 리소스를 더 이상 사용할 수 없도록 앱이 중지되므로 추가 요금이 부과되지 않습니다.
Realtime Database: Realtime Database의 Spark 요금제의 동시 연결 한도를 초과하면 어떻게 되나요?
앱이 Spark 요금제의 동시 연결 한도에 도달하면 기존 연결 중 일부가 종료될 때까지 이후의 모든 연결이 거부됩니다. 이미 연결된 사용자는 앱을 계속 사용할 수 있습니다.
Realtime Database: 자동 백업이란 무엇인가요? Realtime Database에 시간별 백업이 제공되나요?
자동 백업은 Blaze 요금제 고객을 위한 고급 기능으로 Firebase Realtime Database 데이터를 하루에 한 번 백업하여 Google Cloud Storage에 업로드합니다.
시간별 백업은 제공되지 않습니다.
Realtime Database: 2016년 9월에서 2017년 3월 사이에 Realtime Database에서 보고하는 대역폭이 평균보다 낮은 이유는 무엇인가요?
대역폭을 계산할 때는 일반적으로 OSI 모델 레이어 5에 기반한 SSL 암호화 오버헤드가 포함됩니다. 그러나 2016년 9월에 발생한 버그로 인해 대역폭 보고 시 암호화 오버헤드가 누락되었습니다. 이에 따라 몇 개월 동안 계정에서 보고된 대역폭과 청구액이 인위적으로 낮아졌을 수 있습니다.
2017년 3월 후반에 이 버그가 수정되어 대역폭 및 청구액이 평상시 수준으로 돌아갔습니다.
Remote Config
Remote Config: 값을 가져와도 앱의 동작과 모양이 바뀌지 않는데 왜 그런가요?
fetchAndActivate()
를 사용하여 값을 가져오지 않으면 값이 로컬에 저장되지만 활성화되지 않습니다. 가져온 값을 활성화하고 적용하려면 activate
를 호출합니다. 이 설계 방식에서는 activate
호출 시기를 선택할 수 있으므로 앱의 동작과 모양이 변경되는 시점을 제어할 수 있습니다. activate
를 호출하면 앱 소스 코드는 업데이트된 매개변수 값을 사용할 시점을 결정합니다.
예를 들어 값을 가져온 후 사용자가 다음번에 앱을 시작할 때 활성화하면 앱이 서비스에서 값을 가져오느라 기다릴 필요가 없으므로 앱 시작이 지연되지 않습니다. 앱에서 업데이트된 매개변수 값을 사용하면 그제야 앱의 동작과 모양에 변화가 나타납니다.
Remote Config API 및 사용 모델에 대한 자세한 내용은 Remote Config API 개요를 참조하세요.
Remote Config: 앱을 개발하는 중에 가져오기 요청을 빈번하게 보내고 있습니다. 앱에서 가져오기 요청을 보낼 때 서비스의 최신 값이 검색되지 않는 경우가 있는데 왜 그런가요?
앱 개발 단계에서는 앱을 개발하고 테스트할 때 빠르게 반복할 수 있도록 구성 가져오기와 활성화를 자주(한 시간에 몇 번씩)해야할 수도 있습니다. 개발자가 10명 이하인 프로젝트에서는 빠르게 반복할 수 있도록 앱에서 임시로 FirebaseRemoteConfigSettings
객체의 가져오기 간격을 최솟값으로 설정(setMinimumFetchIntervalInSeconds
)할 수 있습니다.
Remote Config: 앱에서 가져오기 요청을 보내면 Remote Config 서비스에서 해당 값을 얼마나 빠르게 반환하나요?
가져올 값이 기기에 수신되는 데 걸리는 시간은 보통 1초 미만이며 몇 밀리초에 불과한 경우도 많습니다. Remote Config 서비스는 몇 밀리초 이내에 가져오기 요청을 처리하지만 가져오기 요청을 완료하는 데 필요한 시간은 기기의 네트워크 속도 및 기기에서 사용하는 네트워크 연결의 지연 시간에 좌우됩니다.
사용자 환경에 영향을 주지 않으면서 가져온 값을 가능한 한 빨리 앱에 적용하려면 앱에서 전체 화면 새로고침을 수행할 때마다 fetchAndActivate
에 호출을 추가해 보세요.
Test Lab
Test Lab 문제 해결 페이지에서 유용한 팁과 FAQ에 대한 답변을 확인하세요.
Firebase 사용자 세분화 스토리지
Firebase 사용자 세분화 스토리지란 무엇인가요?
Firebase 사용자 세분화 스토리지에는 Firebase 설치 ID와 관련 속성 및 세그먼트와 더불어 이를 사용하는 다른 Firebase 서비스(예: Crashlytics, FCM, Remote Config 맞춤설정 등)에 타겟팅 정보를 제공하기 위해 만든 잠재고객 목록이 저장됩니다.