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

앱이 발전함에 따라 새 버전에서 백엔드 API에 호환성이 깨지는 변경사항을 도입하거나, 심각한 보안 취약점을 해결하거나, 지원 중단된 서비스와 AI 모델을 대체할 수 있습니다. 이러한 상황에서는 이전 앱 버전이 안정적이거나 안전하게 작동하지 않을 수 있습니다.

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

업데이트 전략 선택

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

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

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

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

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

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

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

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

  4. 버전 비교에 따라 조치를 취합니다.

    • 필수 업데이트 강제: current_versionminimum_version보다 이전이면 전체 화면에서 닫을 수 없는 모달 알림을 표시합니다. 앱의 나머지 부분으로의 탐색을 사용 중지하고 플랫폼 앱 스토어에서 update_url를 여는 버튼을 제공합니다.
    • 선택적 업데이트 프롬프트: current_versionlatest_version보다 이전인 경우 사용자가 업데이트가 제공된다는 것을 알 수 있도록 닫을 수 있는 대화상자나 알림을 표시하고 지금 업데이트 또는 나중에 옵션을 제공합니다.
    • 액세스 허용: 그렇지 않으면 사용자가 앱으로 진행하도록 허용합니다.

권장사항

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