원격 구성 조건식 참조

이 페이지에는 Remote Config 백엔드 API 또는 Firebase Console을 사용하여 조건식을 빌드하는 방법에 관한 참조 정보가 포함되어 있습니다. 백엔드 API 설정 및 사용에 대한 자세한 내용은 프로그래매틱 방식으로 원격 구성 수정을 참조하세요.

조건을 만드는 데 사용되는 요소

Firebase Console에서 Remote Config을 구성할 때 조건을 만드는 데 사용되는 요소가 Remote Config REST API에서도 똑같이 지원됩니다.

요소 설명
&&

조건에 요소를 둘 이상 사용하는 경우 요소의 논리적 'and'를 만드는 데 사용됩니다. REST 구문에서 && 없이 사용된 요소는 조건으로 취급됩니다.

참고: 앰퍼샌드(&) 앞뒤에 공백이 있어야 합니다. 예를 들면 element1 && element2입니다.

app.build

앱의 빌드 번호 값에 따라 TRUE 또는 FALSE로 판정합니다.

참고: Apple 및 Android 기기에서만 사용할 수 있습니다. Apple에서는 CFBundleVersion 값을 사용하고 Android에서는 versionCode 값을 사용합니다.

app.version

앱의 버전 번호 값에 따라 TRUE 또는 FALSE로 판정합니다.

참고: Android 기기는 versionName 값을, Apple 기기는 CFBundleShortVersionString 값을 사용합니다.

app.id 앱의 Firebase 앱 ID에 대한 요소입니다.
app.audiences 하나 이상의 Firebase 애널리틱스 잠재고객의 사용자 접속 및 부재에 따라 TRUE 또는 FALSE로 판정하는 요소입니다.
app.firstOpenTimestamp 사용자가 앱을 처음 실행할 때를 기반으로 하는 Google Analytics first_open 이벤트에서 가져온 요소입니다. 고정 시간대를 지정하는 옵션과 함께 ISO 날짜 형식을 사용합니다. 예를 들면 app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')입니다. 시간대를 지정하지 않으면 GMT가 사용됩니다.
app.userProperty Firebase 애널리틱스 사용자 속성의 숫자 또는 문자열 값에 따라 TRUE 또는 FALSE로 판정하는 요소입니다.
app.operatingSystemAndVersion

앱이 실행되는 운영체제에 대한 요소입니다. OS 및 OS 버전이 지정된 타겟과 일치하면 TRUE로 판정합니다.

참고: 웹 앱에서만 사용할 수 있습니다.

app.browserAndVersion

앱이 실행되는 브라우저에 대한 요소입니다. 브라우저 및 브라우저 버전이 지정된 타겟과 일치하면 TRUE로 판정합니다.

참고: 웹 앱에서만 사용할 수 있습니다.

app.firebaseInstallationId 특정 기기 설치의 ID에 대한 요소입니다. 설치 ID가 지정된 설치 ID 중 하나와 일치하면 TRUE로 판정합니다.
device.country ISO 3166-1 alpha-2 표준(예: 미국 또는 영국)을 사용하는 기기가 위치한 리전 및 국가와 관련된 요소입니다. 국가가 예상 국가 코드와 일치하면 TRUE로 판정합니다.
device.dateTime 기기가 마지막으로 가져오기를 수행한 시간에 대한 요소입니다. 고정 시간대를 지정하는 옵션과 함께 ISO 날짜 형식을 사용합니다. 예를 들면 dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')입니다.
device.language 기기에서 선택한 언어에 대한 요소입니다. 언어는 es-ES, pt-BR 또는 en-US와 같은 IETF 언어 태그를 사용해 표현됩니다. 언어가 예상 언어 코드와 일치하면 TRUE로 판정합니다.
device.os 기기에서 사용하는 운영체제(Apple 또는 Android)에 대한 요소입니다. 기기 OS가 예상 유형이면 TRUE로 판정합니다.
percent 무작위로 할당된 부분 백분위수에 사용자가 포함되면 TRUE로 판정합니다. 최소 표본 크기는 0.000001%입니다.

단일 요소 조건에는 3가지 필드가 포함됩니다.

  1. 임의로 정의된 name(영문 기준 최대 100자)
  2. 위에 나와 있는 요소로 구성된 TRUE 또는 FALSE로 판정되는 조건식
  3. (선택사항) 'BLUE', 'BROWN', 'CYAN', 'DEEP_ORANGE', 'GREEN', 'INDIGO', 'LIME', 'ORANGE', 'PINK', 'PURPLE' 또는 'TEAL' 등의 tagColor입니다. 색상은 대소문자를 구분하지 않으며 조건이 Firebase Console에 표시되는 방법에만 영향을 미칩니다.

지원되는 연산자

예를 들어 실제 앱 빌드가 123이나 492면 app.build.notContains([123, 456])TRUE를 반환하지만 실제 앱 빌드가 999면 FALSE를 반환합니다. 예를 들어 실제 앱 버전이 123이나 492면 app.version.notContains([123, 456])TRUE를 반환하지만 실제 앱 버전이 999면 FALSE를 반환합니다.
요소 지원되는 연산자 설명
app.audiences .inAtLeastOne([...]) 실제 잠재고객이 목록에 있는 하나 이상의 잠재고객 이름과 일치하면 TRUE가 반환됩니다.
예를 들면 다음과 같습니다.

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) 실제 잠재고객이 목록에 있는 하나 이상의 잠재고객 이름과 일치하지 않으면 TRUE가 반환됩니다.
app.audiences .inAll([...]) 실제 잠재고객이 목록에 있는 모든 잠재고객 이름의 구성원인 경우 TRUE가 반환됩니다.
app.audiences .notInAll([...]) 실제 잠재고객이 목록에 있는 잠재고객의 구성원이 아닌 경우 TRUE가 반환됩니다.
app.firstOpenTimestamp <=, > first_open 이벤트 시간을 조건에서 지정된 시간과 비교하고 연산자에 따라 TRUE 또는 FALSE를 반환합니다.
사용 예시는
입니다. app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
범위를 지정하려면 다음 안내를 따르세요.
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') 시간대를 지정하지 않으면 GMT가 사용됩니다.
app.userProperty <, <=, ==, !=, >=, > 실제 사용자 속성을 지정된 값과 수치상으로 비교한 결과가 연산자와 일치할 경우 TRUE가 반환됩니다.
app.userProperty .contains([...]) 타겟 값 중 실제 사용자 속성의 하위 문자열이 하나라도 있는 경우 TRUE가 반환됩니다.
app.userProperty .notContains([...]) 타겟 값 중 실제 사용자 속성의 하위 문자열이 하나도 없으면 TRUE가 반환됩니다.
app.userProperty .exactlyMatches([...]) 목록의 타겟 값 중 하나라도 실제 사용자 속성과 대소문자까지 정확히 일치하는 경우 TRUE가 반환됩니다.
app.userProperty .matches([...]) 목록의 타겟 정규 표현식 중 하나라도 실제 값의 하위 문자열 또는 전체와 일치하는 경우 TRUE가 반환됩니다. 문자열 전체와 일치하는 경우만 보려면 정규 표현식을 '^'로 시작하고 '$'로 끝냅니다. RE2 구문을 사용하세요.
app.id == 지정된 값이 앱의 앱 ID와 일치하는 경우 TRUE가 반환됩니다.
app.build <, <=, ==, !=, >=, > 실제 앱 빌드를 지정된 값과 수치상으로 비교한 결과가 연산자와 일치할 경우 TRUE가 반환됩니다.
app.build .contains([...]) 타겟 값 중 하나라도 실제 앱 빌드의 하위 문자열인 경우 TRUE가 반환됩니다. 예를 들어 'a'와 'bc'는 'abc'의 하위 문자열입니다.
app.build .notContains([...]) 타겟 값 중 실제 앱 빌드의 하위 문자열이 하나도 없으면 TRUE가 반환됩니다.
app.build .exactlyMatches([...]) 목록의 타겟 값 중 하나라도 실제 앱 빌드와 정확하게 일치하는 경우 TRUE가 반환됩니다.
app.build .matches([...]) 목록의 타겟 정규 표현식 중 하나라도 실제 값의 하위 문자열 또는 전체와 일치하는 경우 TRUE가 반환됩니다. 문자열 전체와 일치하는 경우만 보려면 정규 표현식을 '^'로 시작하고 '$'로 끝냅니다. RE2 구문을 사용하세요.
app.version <, <=, ==, !=, >=, > 실제 앱 버전을 지정된 값과 수치상으로 비교한 결과가 연산자와 일치할 경우 TRUE가 반환됩니다.
app.version .contains([...]) 타겟 값 중 하나라도 실제 앱 버전의 하위 문자열인 경우 TRUE가 반환됩니다. 예를 들어 'a'와 'bc'는 'abc'의 하위 문자열입니다.
app.version .notContains([...]) 타겟 값 중 실제 앱 버전의 하위 문자열이 하나도 없으면 TRUE가 반환됩니다.
app.version .exactlyMatches([...]) 목록의 타겟 값 중 하나라도 실제 앱 버전과 정확하게 일치하는 경우 TRUE가 반환됩니다.
app.version .matches([...]) 목록의 타겟 정규 표현식 중 하나라도 실제 값의 하위 문자열 또는 전체와 일치하는 경우 TRUE가 반환됩니다. 문자열 전체와 일치하는 경우만 보려면 정규 표현식을 '^'로 시작하고 '$'로 끝냅니다. RE2 구문을 사용하세요.
app.operatingSystemAndVersion .inOne([...]) 목록의 타겟 값 중 하나라도 OS 및 버전과 일치하는 경우 TRUE가 반환됩니다.
예:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) 목록의 타겟 값 중 하나라도 브라우저 및 버전과 일치하는 경우 TRUE가 반환됩니다.
예:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] 설치 ID가 목록에 지정된 것과 일치하는 경우 TRUE가 반환됩니다. 사용 예시는 app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']입니다.
device.country in [...] 기기의 국가가 목록에 지정된 것과 일치하는 경우 TRUE가 반환됩니다. 사용 예시는 device.country in ['gb', 'us']입니다. 기기 국가 코드는 요청에 사용된 기기의 IP 주소로 결정되거나 Firebase 애널리틱스(애널리틱스 데이터가 Firebase와 공유되는 경우)에서 결정한 국가 코드로 결정됩니다.
device.dateTime <=, > 현재 시간을 조건의 대상 시간과 비교하고 연산자에 따라 TRUE 또는 FALSE로 판정합니다. 사용 예시는 dateTime < dateTime('2017-03-22T13:39:44')입니다.
device.language in [...] 앱의 언어 중 하나라도 목록의 언어와 일치하는 경우 TRUE가 반환됩니다. 사용 예시는 device.language in ['en-UK', 'en-US']입니다.
device.os ==, != 기기의 운영체제를 해당 필드의 값과 비교했을 때 그 결과가 연산자와 일치하면 TRUE가 반환됩니다.
percent <=, >, between percent 필드의 값을 무작위로 할당된 값과 비교했을 때 그 결과가 연산자와 일치하면 TRUE가 반환됩니다.

시드를 지정하여 조건 규칙 유형에 설명된 대로 특정 백분율 범위에 속하는 무작위로 할당된 앱 인스턴스의 새 그룹을 선택할 수 있습니다.

다음 예시와 같이 연산자 앞에 시드 이름을 입력하면 됩니다.

percent('keyName') <= 10

특정 범위를 구성하려면 between 연산자를 사용하면 됩니다. 기본 시드를 사용하여 20~60명의 사용자 범위를 구성하는 방법은 다음과 같습니다.

percent between 20 and 60

커스텀 시드를 사용하여 60~80명의 사용자 범위를 구성하는 방법은 다음과 같습니다.

percent('seedName') between 60 and 80