클라이언트 및 서버 사용 사례 모두에 대해 템플릿을 구성할 수 있습니다. 클라이언트 템플릿은 Android, Apple, 웹, Unity, Flutter, C++ 앱을 포함한 Remote Config용 Firebase 클라이언트 SDK를 구현하는 모든 앱 인스턴스에 제공됩니다. 서버별 템플릿의 Remote Config 파라미터 및 값은 Firebase Admin Node.js SDK v12.1.0 이상을 사용하는 Remote Config 구현(Cloud Run 및 Cloud Functions 포함)에 제공됩니다.
Firebase Console 또는 Remote Config 백엔드 API를 사용할 때는 파라미터(키-값 쌍)를 하나 이상 정의하고 해당 파라미터의 인앱 기본값을 제공합니다. 파라미터 값을 정의하면 인앱 기본값을 재정의할 수 있습니다. 매개변수 키와 값은 문자열이지만 매개변수 값은 다른 데이터 유형으로 변환한 후 앱에서 사용할 수 있습니다.
Firebase Console, Admin SDK 또는 Remote Config REST API를 사용하여 파라미터의 새 기본값은 물론, 앱 인스턴스 그룹을 대상으로 지정하기 위해 사용되는 조건부 값을 만들 수 있습니다. Firebase Console에서 구성을 업데이트할 때마다 Firebase가 Remote Config 템플릿의 새 버전을 만들고 게시합니다. 이전 버전은 저장되므로 필요에 따라 검색하거나 롤백할 수 있습니다. 이러한 작업은 Firebase Console, Firebase Admin SDK, REST API를 통해 사용할 수 있으며 Remote Config 템플릿 버전 관리에서 더 자세히 설명합니다.
이 가이드에서는 파라미터, 조건, 규칙, 조건부 값을 설명하고 Remote Config 백엔드 및 앱에서 여러 파라미터 값의 우선순위가 지정되는 방법을 설명합니다. 또한 조건 생성을 위해 사용되는 규칙 유형에 대해서도 자세히 설명합니다.
조건, 규칙, 조건부 값
조건은 앱 인스턴스의 그룹을 타겟팅하는 데 사용됩니다. 조건은 지정된 앱 인스턴스에 대해 true
로 판정되기 위한 조건에 대해 모두 true
로 판정되어야 하는 하나 이상의 규칙들로 구성됩니다. 규칙의 값이 정의되지 않은 경우(예: 사용 가능한 값이 없는 경우)에는 규칙이 false
로 판정됩니다.
예를 들어 대규모 언어 모델(LLM) 모델 이름 및 버전 문자열을 정의하는 파라미터를 만들고 커스텀 신호 규칙에 따라 여러 모델의 응답을 제공할 수 있습니다. 이 사용 사례에서는 안정적인 모델 버전을 기본값으로 사용하여 대부분의 요청을 처리하고 커스텀 신호를 사용하여 실험용 모델을 사용하여 테스트 클라이언트 요청에 응답할 수 있습니다.
한 매개변수는 서로 다른 조건을 사용하는 여러 조건부 값을 가질 수 있으며 여러 매개변수가 한 프로젝트 내에서 조건을 공유할 수 있습니다. Firebase Console의 파라미터 탭에서 각 파라미터의 조건부 값을 가져오는 비율을 볼 수 있습니다. 이 측정항목은 지난 24시간 동안 각 값을 수신한 요청 비율을 나타냅니다.
매개변수 값 우선순위
Firebase Admin SDK를 사용하는 서버 앱에서 Remote Config을 사용하면 각 클라이언트 요청에 대해 적절한 파라미터 값을 주문형으로 추출하기 위해 전체 템플릿을 가져와 로드합니다. 파라미터 하나에 여러 조건부 값이 연결될 수 있습니다.
특정 시점에 템플릿 평가 중에 할당되는 값은 다음 규칙에 따라 결정됩니다.
먼저 특정 클라이언트 요청에서
true
로 평가되는 조건에 조건부 값이 적용됩니다. 여러 조건이true
로 평가되면 Firebase Console UI에 먼저(맨 위에) 표시되는 조건이 우선하며, 템플릿이 평가될 때 해당 조건에 연결된 조건부 값이 제공됩니다. 조건 탭에서 조건을 드래그 앤 드롭하여 조건의 우선순위를 변경할 수 있습니다.조건이
true
로 평가되는 조건부 값이 없으면 템플릿 평가 중에 Remote Config의 기본값이 제공됩니다. 템플릿에 파라미터가 없거나 기본값이 인앱 기본값 사용으로 설정된 경우 템플릿이 평가될 때 해당 파라미터에 값이 제공되지 않습니다.
서버 앱에서 Remote Config 템플릿을 로드하고 평가하는 방법에 관한 자세한 내용은 서버 환경에서 Remote Config 사용을 참조하세요.
매개변수 값 데이터 유형
Remote Config을 사용하면 각 파라미터의 데이터 유형을 선택할 수 있고, 템플릿 업데이트 전에 해당 유형의 모든 Remote Config 값을 검증할 수 있습니다. 데이터 유형은 getRemoteConfig
요청에 저장, 반환됩니다.
지원되는 데이터 유형은 다음과 같습니다.
String
Boolean
Number
JSON
Firebase Console UI에서 파라미터 키 옆에 있는 드롭다운에서 데이터 유형을 선택할 수 있습니다. REST API에서는 파라미터 객체 내의 value_type
필드를 사용하여 유형을 설정할 수 있습니다.
매개변수 그룹
Remote Config을 사용하면 파라미터를 그룹화하여 UI를 더 체계적으로 정리하고 사용성을 개선할 수 있습니다.
예를 들어 새로운 로그인 기능을 출시하면서 3가지 인증 유형을 사용 설정 또는 중지해야 한다고 가정해 보겠습니다. Remote Config을 사용하면 3가지 파라미터를 만들어 원하는 유형을 사용 설정한 다음, 프리픽스나 특수 정렬을 추가하지 않고도 '새 로그인'이라는 그룹으로 구성할 수 있습니다.
Firebase Console 또는 Remote Config REST API를 사용하여 파라미터 그룹을 만들 수 있습니다. 만드는 파라미터 그룹마다 Remote Config 템플릿에서 고유한 이름을 가집니다. 매개변수 그룹을 만들 때는 다음 사항에 유의하세요.
- 매개변수는 언제든지 하나의 그룹에만 포함될 수 있으며, 매개변수 키는 모든 매개변수에서 고유해야 합니다.
- 매개변수 그룹 이름은 256자(영문 기준)로 제한됩니다.
- REST API와 Firebase Console을 모두 사용하는 경우 게시 시 파라미터 그룹을 처리하도록 REST API 로직을 업데이트해야 합니다.
Firebase Console을 사용하여 파라미터 그룹 만들기 또는 수정
Firebase Console의 파라미터 탭에서 파라미터를 그룹화할 수 있습니다. 그룹을 만들거나 수정하려면 다음 안내를 따르세요.
- 그룹 관리를 선택합니다.
- 추가할 매개변수의 체크박스를 선택하고 그룹으로 이동을 선택합니다.
- 기존 그룹을 선택하거나, 이름과 설명을 입력하고 새 그룹 만들기를 선택하여 새 그룹을 만듭니다. 그룹을 저장한 후에는 변경사항 게시 버튼을 사용하여 게시할 수 있습니다.
조건 규칙 유형
서버 애플리케이션용 Remote Config 템플릿은 다음과 같은 조건 유형을 지원합니다.
임의 비율의 사용자
이 필드를 사용하여 앱 인스턴스의 무작위 샘플에 변경사항을 적용합니다. 샘플 크기는 최소 0.0001%이며 슬라이더 위젯을 사용하여 무작위 셔플된 사용자(앱 인스턴스)를 그룹으로 분류합니다.
각 앱 인스턴스는 프로젝트에 정의된 시드에 따라 무작위 정수 또는 분수에 영구적으로 매핑됩니다.
시드 값을 수정하지 않으면 규칙에 기본 키(Firebase Console에 시드 수정으로 표시)가 사용됩니다. 다시 기본 키를 사용하려면 시드 필드를 지우면 됩니다.
지정된 백분율 범위에서 동일한 앱 인스턴스를 일관되게 처리하려면 조건 전체에서 동일한 시드 값을 사용합니다. 또는 새 시드를 지정하여 특정 백분율 범위에 속하는 무작위로 할당된 앱 인스턴스의 새 그룹을 선택합니다.
예를 들어 앱 사용자 중 서로 겹치지 않는 5%에 각각 적용되는 2가지 관련 조건을 만들려면 0~5% 사이의 백분율과 일치하는 조건 1개를 구성하고 5~10% 사이의 범위와 일치하는 다른 조건을 구성할 수 있습니다. 일부 사용자가 무작위로 두 그룹에 모두 포함될 수 있게 하려면 각 조건 내의 규칙에 서로 다른 시드 값을 사용합니다.
애플리케이션에 무작위 비율 조건을 추가하는 방법은 서버 애플리케이션 구성을 참조하세요.
커스텀 신호
Firebase Admin Node.js SDK 12.5.0 이상에서는 커스텀 신호 조건 유형을 사용하여 애플리케이션에서 정의한 임의의 조건을 일치시킬 수 있습니다. 이를 통해 각 클라이언트 요청에 맞게 서버 응답을 조정할 수 있습니다.
예를 들어 생성형 AI를 사용하여 특정 플랫폼에 맞게 조정된 다양한 모델로 응답을 작성하는 데 도움이 되는 서버 앱을 개발하는 경우 다음을 수행할 수 있습니다.
- Remote Config 서버 템플릿에
prompt
및model_name
파라미터를 추가합니다. - 타겟팅하려는 각 플랫폼에 값이
platform
인 커스텀 신호를 추가합니다. - 서버별 Remote Config 템플릿에 기본값을 추가하고 정의한 각 플랫폼 조건에 조건부 값을 추가합니다.
platform
커스텀 신호를 설정하고 사용하도록 애플리케이션 코드를 업데이트합니다.
이제 앱은 템플릿 평가 중에 적절한 프롬프트와 모델을 추출하고 이를 사용하여 각 클라이언트에 맞춤설정된 응답을 반환할 수 있습니다.
다음 규칙 유형을 사용하여 Firebase Console에서 커스텀 신호를 만들 수 있습니다.
연산자 카테고리 | 연산자 | 값 | 참고 |
---|---|---|---|
텍스트 | 정확히 일치, 포함, 제외, 정규식 포함 |
이 규칙의 문자열 비교에서는 대소문자가 구분됩니다. 정확히 일치, 포함, 제외 또는 정규식 포함 연산자를 사용하는 경우 여러 개의 값을 선택할 수 있습니다. 정규식 포함 연산자를 사용하면 RE2 형식의 정규 표현식을 만들 수 있습니다. 정규 표현식은 타겟 버전 문자열의 일부 또는 전부와 일치할 수 있습니다. ^ 및 $ 앵커를 사용하여 타겟 문자열의 시작, 끝 또는 전체와 일치시킬 수도 있습니다. |
|
숫자 | <, <=, =, !=, >, >= | 소수점 양쪽에 10자리 이하의 숫자가 있는 숫자입니다. | |
버전 | <, <=, =, !=, >, >= | 일치시킬 버전 번호를 나타내는 숫자입니다(예: 2.1.0). |
애플리케이션에 커스텀 신호를 추가하는 방법은 서버 애플리케이션 구성을 참조하세요.
파라미터 및 조건 검색
Firebase Console에서 Remote Config 파라미터 탭의 상단에 있는 검색창을 통해 프로젝트의 파라미터 키, 파라미터 값, 조건을 검색할 수 있습니다.
매개변수 및 조건의 한도
Firebase 프로젝트에서 최대 2,000개의 매개변수와 최대 500개의 조건을 사용할 수 있습니다. 매개변수 키의 길이는 최대 256자이고 밑줄 또는 영문자(A~Z, a~z)로 시작해야 하며 숫자도 포함할 수 있습니다. 한 프로젝트에서 매개변수 값 문자열의 총 길이는 1,000,000자를 초과할 수 없습니다.
파라미터 및 조건의 변경사항 보기
Firebase Console에서 Remote Config 템플릿의 최신 변경사항을 확인할 수 있습니다. 개별 매개변수 및 조건에 대해 다음을 수행할 수 있습니다.
매개변수 또는 조건을 마지막으로 수정한 사용자의 이름을 봅니다.
같은 날에 변경사항이 발생한 경우 변경사항이 활성 Remote Config 템플릿에 게시되고 몇 시간 또는 몇 분이 지났는지 확인합니다.
변경사항이 발생하고 1일 이상이 지난 경우 활성 Remote Config 템플릿에 변경사항이 게시된 날짜를 확인합니다.
파라미터 변경 내역
Remote Config 파라미터 페이지의 최종 게시 열에는 각 파라미터를 수정한 마지막 사용자와 변경사항에 대한 마지막 게시 날짜가 표시됩니다.
그룹화된 매개변수의 변경 메타데이터를 보려면 매개변수 그룹을 펼칩니다.
게시 날짜를 기준으로 오름차순 또는 내림차순으로 정렬하려면 최종 게시 열 라벨을 클릭합니다.
조건 변경 내역
Remote Config 조건 페이지의 각 조건 아래 최종 수정 날짜 옆에서 조건을 수정한 마지막 사용자와 그 조건을 수정한 날짜를 확인할 수 있습니다.