원격 구성으로 무엇을 할 수 있나요?

앱 개발자들은 고유한 요구 사항에 알맞은 다양한 방법으로 원격 구성을 사용하고 있으며 이는 매우 권장할 만한 일입니다. 원격 구성으로 가능한 일들에 대한 아이디어를 제공하기 위해 이 페이지에서는 모바일 개발자들이 광범위하게 적용할 수 있는 몇 가지 사용 사례를 설명합니다.

비율 출시 메커니즘을 사용한 새 기능 출시

원격 구성을 사용하면 비율 출시를 수행하여 사용자를 새 기능에 천천히 노출시킬 수 있습니다. 이 사용 사례에서 new_search_feature_flag라는 원격 구성 매개변수를 사용하여 사용 설정 및 사용 중지되는 새 검색 함수가 있으며, 설치된 사용자층의 10%에 이 함수를 출시하여 시작하려고 한다고 가정해 보겠습니다.

이렇게 하려면 new_search_feature_flag 매개변수를 수정하고 새 조건을 추가한 다음 임의 비율의 사용자를 선택합니다. 슬라이더를 사용하여 0에서 10 사이의 임의 비율을 설정합니다.

Firebase Console GUI 단계에 따라 기존 매개변수에 대한 비율 출시를 수행하는 이미지
비율 기능 출시를 위한 매개변수 추가

이제 원격 구성에서 new_search_feature_flag 값을 가져오면 무작위로 선택된 사용자의 10%는 true 값을 수신하고 나머지 90%는 false 값을 수신합니다.

사용자 집단 10%에서 기능과 관련하여 만족할 만한 안정성을 얻었다면 사용자 집단을 30%, 50%까지 늘리고 기능에 대한 확신이 생기면 100%까지 확대합니다.

앱의 플랫폼 및 언어별 프로모션 배너 정의

전자상거래 할인을 시작할 때가 되어 앱에서 프로모션 스플래시 페이지를 사용 설정하려 하며 이 스플래시 페이지를 사용자가 자신의 기기에 설정한 언어로 맞춤설정하려고 한다고 가정해 보겠습니다. promo_splash_graphic 매개변수를 정의하고 값을 Firebase Storage 등에서 호스팅되는 정적 URL로 설정한 후 앱에서 이를 동적으로 참조하도록 설정할 수 있습니다.

그러면 프로모션 마케팅 캠페인에서 가장 중요한 언어를 Android 및 Apple에 다양한 값으로 지정할 수 있습니다. 특정 시간에 프로모션을 트리거해야 하는 경우 원격 구성의 시간 조건을 사용할 수 있습니다. 또한 실시간 원격 구성을 사용하여 템플릿을 게시한 직후에 변경사항을 가져왔는지 확인한 다음 이를 앱 내에서 필요에 따라 활성화할 수 있습니다.

Firebase Console GUI 단계에 따라 플랫폼 및 언어별 프로모션 배너를 정의하는 애니메이션 이미지
현지화된 프로모션 배너에 매개변수 추가

원격 구성 백엔드 API를 사용해 매개변수 값을 프로그래밍 방식으로 업데이트한 후 크론 작업에서 기능을 트리거할 수도 있습니다.

최초 앱 사용을 기반으로 사용자에게 커스텀 환경 제공

원격 구성을 사용하면 다음 사용 사례를 포함하여 사용자가 앱을 처음 연 날짜와 시간을 기준으로 커스텀 환경을 제공할 수 있습니다.

  • 사용자가 앱에 조인할 때 다양한 온보딩 흐름을 제공합니다.
  • 인센티브나 기능 플래그 또는 전환에 숨겨진 기능을 특정 날짜 후에 신규 사용자에게 노출합니다.
  • 특정 기간에 조인한 사용자에게 커스텀 환경을 제공합니다.

신규 사용자에게 인게임 선물을 제공하여 초기 참여와 유지를 장려하고 장기 사용자 그룹에 다른 보상을 제공하려 한다고 가정해 보겠습니다. 맞춤설정 가능한 메시지, 보너스 코인 개수, 사용자가 쿠폰을 수락하지 않은 경우 쿠폰을 다시 표시하는 최대 횟수를 포함하여 무료 인게임 화폐를 제공하는 팝업을 제어하는 extra_coin_splash라는 매개변수를 만들 수 있습니다. 인앱 기본값을 매개변수 기본값으로 사용한 후 두 가지 조건을 만들 수 있습니다.

먼저 특정 Android 또는 iOS 앱을 타겟팅하고, 처음 열 때를 미래의 날짜와 시간으로 설정한 후 매개변수 값을 설정한 extra_coins_splash 원격 구성 매개변수에 조건부 값을 추가합니다.

{"banner_text": "Welcome! Enjoy some extra coins!", "bonus_coins": 15, "max_display_retries": 2}

그런 다음 보상을 제공할 기존 사용자 그룹 조건을 추가합니다. 예를 들어 7월에 조인했고 10월에 게임을 계속 사용하는 모든 사용자를 추가합니다. 이렇게 하려면 7월 1일과 8월 1일 사이에 처음 열 때가 설정된 extra_coins_splash 매개변수에 다른 조건부 값을 추가하고 매개변수 값을 설정합니다.

{"banner_text": "Thanks for being a loyal user!", "bonus_coins": 30, "max_display_retries": 2}:

최종 extra_coins_splash 매개변수는 다음과 같습니다.

조건부 값이 있는 원격 구성 매개변수

이 매개변수로 구성을 게시하면 두 사용자 그룹 모두 다음에 가져온 후에 구성한 추가 코인 매개변수 값을 수신합니다.

다음 단계로, 다양한 배너 메시지와 보너스 코인 양을 사용하여 매개변수 및 타겟팅 조건으로 A/B 테스팅 실험 또는 맞춤설정을 시도합니다.

제한된 테스트 그룹에서 새 기능 테스트

일반적으로 제한된 테스트 그룹에서 새 기능을 테스트할 때 Apple 앱의 경우 Google Play나 Test Flight에서 알파 채널을 사용합니다. 이러한 도구는 일반 개발 주기와 동일한 주기로 새 기능을 테스트할 때 적합합니다.

하지만 일반 개발 주기의 다음 출시 시기와 상관없이 기능을 더 빠르게 테스트하고 쉽게 사용 설정하거나 중지해야 하는 경우도 있습니다. 이러한 상황에서는 원격 구성이 매우 유용한 도구가 될 수 있습니다.

회사 직원들을 대상으로 새 그래픽을 테스트한다고 가정하겠습니다. 원격 구성으로 어떻게 사용 설정할 수 있을까요?

사용자가 앱에 로그인하면 이메일 ID를 확인하고 도메인에 속한 이메일인 경우에만 적용되는 is_mydomain_employee=true 사용자 속성을 설정합니다. 그런 다음 그 사용자 속성을 추적하는 조건을 만듭니다. 원격 구성에서 이 사용자 속성을 타겟팅하고 해당 사용자에만 새 기능을 사용 설정할 수 있습니다.

Firebase Console GUI 단계에 따라 제한된 테스트 그룹에서 새 기능을 테스트하는 애니메이션 이미지
조건이 있는 테스트 그룹 타겟팅

JSON을 사용한 앱 또는 게임의 복잡한 항목 구성

앱이 복잡해짐에 따라 앱에 구성을 제공하는 방법도 향상되어야 합니다. 예를 들어 새 로그인 시스템을 구성하고자 하는 경우 제어하려는 동적 값마다 원격 구성 매개변수를 하나씩 만들 수 있습니다. 하지만 이렇게 로그인 시스템을 구성하는 것은 번거로우며 이해 및 유지관리도 어렵습니다.

이러한 로그인 시스템의 구성을 제공할 때는 JSON을 사용해 모든 매개변수를 하나의 단일 매개변수로 그룹화하는 것이 좋습니다. 그러면 시간이 지날수록 훨씬 쉽게 login 매개변수를 수정하고 유지할 수 있습니다.

Firebase 콘솔은 원격 구성 매개변수를 수정할 때 사용할 수 있는 JSON 검사기와 프린터를 제공합니다. Console에서 작업할 때 {} 아이콘을 클릭해 편집기를 엽니다.

Firebase Console GUI 단계에 따라 JSON으로 복잡한 항목을 구성하는 애니메이션 이미지
JSON 편집기를 사용해 매개변수 그룹화

원격 구성 업데이트가 게시되면 Slack/이메일 메시지 보내기

원격 구성을 사용하는 대규모 팀의 일원인 경우 팀에서 원격 구성을 게시한 사용자와 그 시기를 추적하기가 어려울 수 있습니다.

선호하는 메커니즘(Slack 또는 이메일)을 통해 거의 실시간으로 알림을 받는다면 공동작업 워크플로를 단순화할 수 있습니다. 원격 구성 REST API와 Firebase용 Cloud Functions의 원격 구성 백그라운드 트리거를 함께 사용하면 원격 구성 템플릿이 변경될 때마다 알림을 보낼 수 있습니다.

eBay에서는 최근 Cloud Functions와 원격 구성을 사용해 이전 및 신규 원격 구성 템플릿의 비교 결과를 Slack 채널에 게시하는 방법을 직접 구현하여 오픈소스로 제공했습니다.