콘솔로 이동

원격 구성 조건식 참조

이 페이지에는 Remote Config REST API 또는 Firebase 콘솔을 사용하여 조건식을 작성하기 위한 참조 정보가 포함되어 있습니다. REST API 설정 및 사용에 대한 자세한 내용은 Remote Config REST API 사용을 참조하세요.

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

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

요소 설명
&&

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

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

app.version 앱의 버전 번호 값에 따라 TRUE 또는 FALSE로 판정합니다.
app.id 앱의 Firebase 앱 ID에 대한 요소입니다.
app.audiences 하나 이상의 Firebase 애널리틱스 잠재고객에서 사용자 접속 및 부재에 따라 TRUE 또는 FALSE로 판정하는 요소입니다.
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 기기(iOS 또는 Android)에서 사용하는 운영체제에 대한 요소입니다. 기기 OS가 예상 유형이면 TRUE로 판정합니다.
app.userProperty Firebase 애널리틱스 사용자 속성의 숫자 또는 문자열 값에 따라 TRUE 또는 FALSE로 판정하는 요소입니다.
percent 무작위로 할당된 부분 백분위수에 사용자가 포함되면 TRUE로 판정합니다. 최소 표본 크기는 0.000001%입니다.

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

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

지원되는 연산자

예를 들어 실제 앱 버전이 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.userProperty <, <=, ==, >=, > 실제 사용자 속성을 지정된 값과 수치상으로 비교한 결과가 연산자와 일치할 경우 TRUE가 반환됩니다.
app.userProperty .contains([...]) 타겟팅 값 중 실제 사용자 속성의 하위 문자열이 하나라도 있는 경우 TRUE가 반환됩니다.
app.userProperty .notContains([...]) 타겟팅 값 중 실제 사용자 속성의 하위 문자열이 하나도 없으면 TRUE가 반환됩니다.
app.userProperty .exactlyMatches([...]) 목록의 타겟팅 값 중 하나라도 실제 사용자 속성과 대소문자까지 정확히 일치하는 경우 TRUE가 반환됩니다.
app.userProperty .matches([...]) 목록의 타겟팅 정규 표현식 중 하나라도 실제 값의 하위 문자열 또는 전체와 일치하는 경우 TRUE가 반환됩니다. 문자열 전체와 일치하는 경우만 보려면 정규 표현식을 '^'로 시작하고 '$'로 끝냅니다. RE2 구문을 사용합니다.
app.id == 지정된 값이 앱의 앱 ID와 일치하는 경우 TRUE가 반환됩니다.
app.version .contains([...]) 타겟팅 값 중 하나라도 실제 앱 버전의 하위 문자열인 경우 TRUE가 반환됩니다. 예를 들어 'a'와 'bc'는 'abc'의 하위 문자열입니다.
app.version .notContains([...]) 타겟팅 값 중 실제 앱 버전의 하위 문자열이 하나도 없으면 TRUE가 반환됩니다.
app.version .exactlyMatches([...]) 목록의 타겟팅 값 중 하나라도 실제 앱 버전과 정확하게 일치하는 경우 TRUE가 반환됩니다.
app.version .matches([...]) 목록의 타겟팅 정규 표현식 중 하나라도 실제 값의 하위 문자열 또는 전체와 일치하는 경우 TRUE가 반환됩니다. 문자열 전체와 일치하는 경우만 보려면 정규 표현식을 '^'로 시작하고 '$'로 끝냅니다. RE2 구문을 사용합니다.
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 <=, > percent 필드의 값을 무작위로 할당된 값과 비교했을 때 그 결과가 연산자와 일치하면 TRUE가 반환됩니다.
app.predictions .inAtLeastOne([...]) 지정된 타겟팅 예상 위험 프로필 ID가 예상되면 TRUE가 반환됩니다. 현재 이 조건은 하나의 예상 위험 프로필 ID의 타겟팅만 지원합니다. 활용 예시는 다음과 같습니다. app.predictions.inAtLeastOne(['pred']) 'pred'가 예상되면 TRUE가 반환됩니다.

문자열이 비어 있고 값이 없는 매개변수

원격 구성 웹 콘솔에서 매개변수 값을 만들거나 편집할 때 매개변수 값을 문자열, (빈 문자열) 또는 값 없음(원격 구성 템플릿의 값 대신 인앱 기본값이 사용됨)으로 설정할 수 있습니다.

Remote Config API를 사용해 프로젝트의 원격 구성 템플릿을 JSON 형식으로 가져올 때 값 없음이 아래와 같이 표시됩니다.

"myCondition" : {
  "useInAppDefault" : true
},

마찬가지로 (빈 문자열)은 다음과 같이 표시됩니다.

"myCondition" : {
  "value" : ""
},