원격 구성으로 최소 앱 버전 적용

앱이 발전함에 따라 새 버전에서 백엔드 API에 브레이킹 체인지를 도입하거나, 중요한 보안 취약점을 해결하거나, 지원 중단된 서비스와 AI 모델을 대체할 수 있습니다. 이러한 상황에서는 이전 앱 버전이 안정적으로 또는 안전하게 작동하지 않을 수 있습니다.

Remote Config를 사용하면 클라우드에서 앱 버전 요구사항을 동적으로 제어할 수 있습니다. Remote Config에서 버전 매개변수를 정의하면 커스텀 서버 인프라를 배포하거나 긴급 업데이트를 출시하지 않고도 사용자에게 앱 업데이트를 요청하거나 요구할 수 있습니다.

업데이트 전략 선택

Remote Config는 클라이언트에서 평가할 버전 매개변수를 제공하므로 변경의 심각도에 따라 두 가지 전략 중 하나에 맞게 앱의 업데이트 UI를 구성할 수 있습니다.

  • 강제(차단) 업데이트: 이전 앱 버전이 백엔드와 호환되지 않거나 보안 위험을 초래하는 경우 사용자가 업데이트할 때까지 앱 액세스를 차단할 수 있습니다. 설치된 버전이 필요한 최소 버전보다 이전 버전인 경우, 사용자를 플랫폼 앱 스토어로 안내하여 최신 버전을 설치하도록 하는 대화상자(닫을 수 없음)를 표시하도록 앱을 구성할 수 있습니다.
  • 유연한(선택사항) 업데이트: 업데이트에 새로운 기능, 성능 개선사항 또는 사소한 버그 수정이 포함된 경우 사용자가 앱을 계속 사용하면서 편리하게 업데이트하도록 유도하는 닫을 수 있는 배너 또는 메시지를 표시하도록 앱을 구성할 수 있습니다.

1단계: Firebase Console에서 파라미터 구성

앱 버전을 관리하려면 Remote Config 템플릿에서 매개변수를 정의합니다.

  1. Firebase Console에서 DevOps 및 참여 > 원격 구성 > 매개변수 페이지로 이동합니다.
  2. 파라미터 추가를 클릭합니다(첫 번째 파라미터인 경우 구성 만들기).
  3. 다음 매개변수를 정의합니다.
    • minimum_version: 지원되는 가장 이른 앱 버전을 나타내는 문자열입니다(예: "2.4.0"). 이 값보다 이전 버전을 실행하는 앱은 업데이트될 때까지 차단됩니다.
    • latest_version(선택사항): 사용 가능한 최신 앱 버전을 나타내는 문자열입니다(예: "2.5.1"). minimum_version에서 latest_version 사이의 버전을 실행하는 앱은 선택적 업데이트 권장사항을 표시할 수 있습니다.
    • update_url(선택사항): 사용자가 업데이트를 다운로드할 수 있는 스토어 URL입니다(예: Google Play 스토어 또는 Apple App Store 등록정보).
  4. 선택사항: 플랫폼별 조건을 추가합니다.
    • Android 앱과 Apple 앱은 출시 버전과 스토어 URL이 다른 경우가 많으므로 동일한 매개변수 아래에 각 플랫폼의 조건부 값을 추가할 수 있습니다.
    • 조건 값 추가 > 조건 만들기를 클릭합니다. 조건의 이름을 지정하고(예: Android App 또는 iOS App) 앱을 타겟팅 규칙으로 선택한 다음 앱을 선택합니다.
    • 각 플랫폼 조건에 적절한 버전 문자열을 설정하고 기본값을 대체 값으로 유지합니다.
  5. 저장을 클릭한 다음 변경사항 게시를 클릭하여 템플릿을 적용합니다.

2단계: 클라이언트 측 버전 확인 구현

클라이언트에서 시작 중에 설치된 앱 버전을 Remote Config 매개변수와 비교하여 확인합니다.

  1. 인앱 기본값 설정: 항상 앱 번들에 안전한 인앱 기본값을 제공합니다(예: minimum_version를 초기 앱 출시(예: "1.0.0")로 설정). 이 대체 구성을 사용하면 기기가 오프라인 상태이거나 초기 가져오기 요청이 실패하더라도 앱이 계속 정상적으로 작동합니다. 플랫폼별 안내는 Remote Config 템플릿 기본값 다운로드를 참조하세요.
  2. Remote Config 가져오기 및 활성화: 앱이 시작될 때 최신 템플릿 값을 가져오고 활성화합니다.
  3. 버전 비교: 활성 minimum_version 및 latest_version 문자열을 가져와 현재 설치된 앱 버전과 비교합니다.

  4. 버전 비교에 따라 조치 취하기:

    • 필수 업데이트 적용: current_version가 minimum_version 이전인 경우 전체 화면으로 닫을 수 없는 모달 알림을 표시합니다. 앱의 나머지 부분으로 이동하는 기능을 사용 중지하고 플랫폼 앱 스토어에서 update_url를 여는 버튼을 제공합니다.
    • 선택적 업데이트 메시지 표시: current_version가 latest_version보다 이전인 경우 닫을 수 있는 대화상자 또는 알림을 표시하여 사용자에게 업데이트가 있음을 알리고 지금 업데이트 또는 나중에 옵션을 제공합니다.
    • 액세스 허용: 그렇지 않으면 사용자가 앱으로 계속 진행하도록 허용합니다.

권장사항

  • 실시간 리스너 추가: 보안 문제 또는 심각한 UX 저하로 인해 버전 업데이트가 필요한 경우 앱에 실시간 Remote Config 리스너를 추가하면 다음 예약된 가져오기 또는 앱 다시 시작을 기다리지 않고도 활성 기기에서 버전 요구사항 변경사항이 즉시 적용되도록 할 수 있습니다.
  • 제한된 테스트 그룹으로 테스트: 모든 프로덕션 사용자에 대해 minimum_version를 높이기 전에 제한된 테스트 그룹으로 조건을 테스트하거나 맞춤 사용자 속성을 사용하여 내부 테스터를 타겟팅합니다. 이 테스트에서는 차단 모달이 올바르게 표시되고 스토어 링크가 올바르게 확인되는지 확인합니다.
  • 플랫폼 인앱 업데이트 API 사용: Android에서는 Remote Config 검사와 함께 Google Play 인앱 업데이트를 통합하여 사용자가 앱을 종료하지 않고도 업데이트를 다운로드하고 설치할 수 있도록 하는 것이 좋습니다.
  • 프로덕션 체크리스트 읽기: 앱과 AI 기능을 프로덕션에 사용할 수 있도록 준비하는 방법에 관한 자세한 내용은 Firebase 출시 체크리스트 및 AI Logic 프로덕션 체크리스트를 참고하세요.