콘솔로 이동

원격 구성 매개변수 및 조건

Firebase Console을 사용할 때는 하나 이상의 매개변수를 키-값 쌍으로 정의하고 이러한 매개변수의 인앱 기본값을 제공합니다. Firebase Console을 사용하여 서비스측 매개변수 값을 정의하면 인앱 기본값을 재정의할 수 있습니다. 매개변수 키와 값은 문자열이지만 매개변수 값은 다른 데이터 유형으로 변환한 후 앱에서 사용할 수 있습니다.

Firebase Console을 사용하여 매개변수의 새 기본값뿐 아니라 앱 인스턴스 그룹을 타겟팅하는 데 사용되는 조건부 값을 설정할 수 있습니다. 구성을 업데이트할 때마다 Firebase Console이 새 버전의 원격 구성 템플릿을 만들고 게시합니다. 이전 버전은 저장되므로 필요에 따라 검색하거나 롤백할 수 있습니다.

이 가이드에서는 매개변수, 조건, 규칙, 조건부 값 및 원격 구성 서버와 앱에서 다양한 매개변수 값에 적용되는 우선순위를 설명합니다. 조건을 만드는 데 사용되는 규칙의 유형도 자세히 설명합니다.

조건, 규칙, 조건부 값

조건은 앱 인스턴스의 그룹을 타겟팅하는 데 사용되며, 하나 이상의 규칙으로 구성됩니다. 이 규칙이 모두 true로 판정되어야 조건이 특정 앱 인스턴스에서 true로 판정됩니다. 값을 확인할 수 없는 경우와 같이 규칙의 값이 정의되지 않으면 규칙이 false로 판정됩니다.

예를 들어 앱의 스플래시 페이지를 정의하는 매개변수에서 간단한 if device_os = Android 규칙을 사용하여 OS 유형을 토대로 여러 이미지를 표시할 수 있습니다.

또는 시간 조건을 사용하여 앱에 특별한 프로모션 항목이 표시되는 시점을 제어할 수 있습니다.

한 매개변수는 서로 다른 조건을 사용하는 여러 조건부 값을 가질 수 있으며, 여러 매개변수가 한 프로젝트 내에서 조건을 공유할 수 있습니다.

매개변수 값 우선순위

매개변수 하나에 여러 조건부 값이 연결될 수 있습니다. 특정한 시점에 원격 구성 서버에서 가져올 값 및 특정 앱 인스턴스에서 사용될 값은 다음 규칙에 따라 결정됩니다.

서버측 매개변수 값을 가져올 때는 다음과 같은 우선순위를 따릅니다.

  1. 우선 특정 앱 인스턴스에서 true로 판정되는 조건이 있을 경우 조건부 값이 적용됩니다. 여러 조건이 true로 판정되면 Firebase Console UI에서 먼저(맨 위에) 표시되는 조건이 우선하며, 앱이 서비스에서 값을 가져올 때 해당 조건에 연결된 조건부 값이 제공됩니다. 조건 탭에서 조건을 드래그 앤 드롭하여 우선순위를 변경할 수 있습니다.

  2. 조건이 true로 판정되는 조건부 값이 없으면 앱이 서비스에서 값을 가져올 때 서비스 측 기본값이 제공됩니다. 서비스에 매개변수가 없거나 기본값이 값 없음으로 설정된 경우 앱이 값을 가져올 때 해당 매개변수에 값이 제공되지 않습니다.

앱에서 get 메서드가 반환하는 매개변수 값은 다음과 같은 우선순위를 따릅니다.

  1. 서비스에서 가져와서 활성화한 값이 있으면 앱에서 이 값을 사용합니다. 활성화된 매개변수 값은 영구적입니다.
  2. 서비스에서 가져온 값이 없거나 서비스에서 가져온 값을 활성화하지 않은 경우 앱은 인앱 기본값을 사용합니다.
  3. 인앱 기본값이 설정되지 않은 경우 앱은 정적 유형 값을 사용합니다. 예를 들어 int에는 0, boolean에는 false가 사용됩니다.

다음 그림은 서비스와 앱에서 매개변수 값에 적용되는 우선순위를 보여줍니다.

조건 규칙 유형

Firebase Console에서는 다음과 같은 규칙 유형이 지원되며 Remote Config REST API에도 동일한 기능이 제공됩니다. 자세한 내용은 조건식 참조를 확인하세요.

규칙 유형 연산자 참고
== Firebase 프로젝트에 연결된 앱의 앱 ID 목록에서 선택합니다. Firebase에 앱을 추가할 때 원격 구성 규칙에서 앱 ID로 노출되는 속성을 정의하는 iOS 번들 ID 또는 Android 패키지 이름을 입력합니다.

이 속성은 다음과 같이 사용됩니다.
  • iOS: 앱의 CFBundleIdentifier를 사용합니다. Xcode에서 앱의 기본 대상에 대한 일반 탭에서 번들 식별자를 확인할 수 있습니다.
  • Android: 앱의 applicationId를 사용합니다. 앱 수준 build.gradle 파일에서 applicationId를 확인할 수 있습니다.
앱 버전 정확히 일치,
포함,
제외,
정규 표현식
앱의 특정 버전 또는 관련 버전을 지정하도록 값을 입력합니다. 이 규칙을 사용하기 전에 앱 ID 규칙을 사용하여 Firebase 프로젝트에 연결된 앱을 선택해야 합니다.

iOS 앱의 경우 앱의 CFBundleVersion입니다. Android 앱의 경우 앱의 버전 이름입니다. 이 규칙의 문자열 비교에서는 대소문자가 구분됩니다.

정확히 일치, 포함 또는 제외 연산자를 사용하는 경우 쉼표로 구분한 값 목록을 제공할 수 있습니다.

정규 표현식 연산자를 사용하면 RE2 형식으로 정규 표현식을 만들 수 있습니다. 정규 표현식은 타겟 버전 문자열의 일부 또는 전부와 일치할 수 있습니다. ^$ 앵커를 사용하여 타겟 문자열의 시작, 끝 또는 전체와 일치시킬 수도 있습니다.

OS 유형 == iOS
Android
 
날짜/시간 <=, > 기기 시간대 또는 특정 시간대(예: '(GMT+11) 시드니 시간대')로 지정된 날짜 및 시간입니다. 현재 시간을 기기에서 가져온 시간과 비교합니다.
임의 백분위수의 사용자 <=, > 0~100

이 필드를 사용하여 앱 인스턴스의 무작위 표본집단에 변경을 적용할 수 있습니다. 표본 크기는 최소 0.0001%이며 <=> 연산자로 사용자(앱 인스턴스)를 그룹으로 분할합니다.

각 앱 인스턴스는 프로젝트에 정의된 에 따라 무작위 정수 또는 분수에 영구적으로 매핑됩니다. 다른 키를 선택하거나 만들지 않으면 규칙에 기본 키(Firebase Console에 DEF로 표시)가 사용됩니다. 규칙에서 다시 기본 키를 사용하려면 이 키로 무작위 사용자 선택 필드를 지우면 됩니다. 여러 규칙에서 단일 키를 사용하면 특정 백분율 범위에 속하는 앱 인스턴스를 계속 동일하게 참조할 수 있습니다. 또는 새 키를 만들어 특정 백분율 범위에 속하는 앱 인스턴스 그룹을 새롭게 무작위로 지정하여 선택할 수 있습니다.

예를 들어 앱 사용자 중 서로 겹치지 않는 5%에 각각 적용되는 2가지 관련 조건을 만들려면 <= 5% 규칙을 포함하는 조건 하나와 > 5% 규칙, <= 10% 규칙을 모두 포함하는 조건 하나를 만듭니다. 사용자가 무작위로 두 그룹에 모두 포함될 수도 있게 하려면 각 조건의 규칙에 서로 다른 키를 사용합니다.

잠재고객의 사용자 == 프로젝트에 설정한 Google 애널리틱스 잠재고객 목록에서 한 명 이상을 선택합니다.

이 규칙을 사용하려면 앱 ID 규칙으로 Firebase 프로젝트에 연결된 앱을 선택해야 합니다.

참고: 애널리틱스 잠재고객은 앱 사용자의 행동에 좌우되는 이벤트 또는 사용자 속성을 기준으로 정의되는 경우가 많으므로 특정 앱 인스턴스에서 잠재고객의 사용자 규칙이 적용되려면 다소 시간이 걸릴 수 있습니다.

리전/국가의 기기 == 리전 또는 국가를 하나 이상 선택합니다. 이 규칙은 특정 앱 인스턴스가 나열된 리전이나 국가에 속할 때 true로 판정됩니다. 기기 국가 코드는 요청에 있는 기기의 IP 주소로 결정되거나 Firebase 애널리틱스(애널리틱스 데이터가 Firebase와 공유되는 경우)에 의해 결정됩니다.
기기 언어 == 언어를 하나 이상 선택합니다. 이 규칙은 특정 앱 인스턴스가 나열된 언어 중 하나를 사용하는 기기에 설치된 경우 true로 판정됩니다.
사용자 속성 문자열 값:
포함,
제외,
정확히 일치,
정규 표현식

숫자 값:
=, ≠, >, ≥, <, ≤

참고: 클라이언트에서는 사용자 속성에 문자열 값만 설정할 수 있습니다. 숫자 연산자를 사용하는 조건의 경우 원격 구성 서비스는 해당 사용자 속성의 값을 정수/부동 소수로 변환합니다.
사용 가능한 Google 애널리틱스 사용자 속성 목록에서 선택합니다. 사용자 속성을 통해 사용자층의 특정 세그먼트에게만 앱을 맞춤설정하는 방법은 원격 구성 및 사용자 속성을 참조하세요.

사용자 속성에 관한 자세한 내용은 다음 가이드를 참조하세요.

정확히 일치, 포함 또는 제외 연산자를 사용하는 경우 쉼표로 구분한 값 목록을 제공할 수 있습니다.

정규 표현식 연산자를 사용하면 RE2 형식으로 정규 표현식을 만들 수 있습니다. 정규 표현식은 타겟 버전 문자열의 일부 또는 전부와 일치할 수 있습니다. ^$ 앵커를 사용하여 타겟 문자열의 시작, 끝 또는 전체와 일치시킬 수도 있습니다.

참고: 원격 구성 조건을 만들 때 자동으로 수집되는 사용자 속성은 현재 사용할 수 없습니다.

매개변수 및 조건 검색

Firebase Console에서 원격 구성 매개변수 탭의 상단에 있는 검색창을 통해 프로젝트의 매개변수 키, 매개변수 값, 조건을 검색할 수 있습니다.

매개변수 및 조건의 한도

Firebase 프로젝트에서 최대 2,000개의 매개변수와 최대 500개의 조건을 사용할 수 있습니다. 매개변수 키의 길이는 최대 256자이고 밑줄 또는 영문자(A~Z, a~z)로 시작해야 하며 숫자도 포함할 수 있습니다. 한 프로젝트에서 매개변수 값 문자열의 총 길이는 800,000자를 초과할 수 없습니다.

다음 단계

Firebase 프로젝트 구성을 시작하려면 Firebase 원격 구성 프로젝트 설정을 참조하세요.