Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Firebase 원격 구성 로드 전략

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Firebase 원격 구성은 서버에서 새 값을 가져와 앱에서 활성화하는 방법과 시기에 대한 많은 유연성을 제공하므로 가시적인 구성 변경 시기를 제어하여 고품질 최종 사용자 경험을 보장할 수 있습니다. 이 가이드에서는 몇 가지 로드 전략을 살펴보고 앱에 가장 적합한 옵션을 선택하기 위한 주요 고려 사항에 대해 설명합니다.

전략 1: 로드 시 가져오기 및 활성화

이 전략에서 앱은 원격 구성에서 새 값을 가져오기 위해 앱을 처음 시작할 때 fetchAndActivate() 를 호출하고 로드가 완료되는 즉시 활성화합니다. 이 간단한 접근 방식은 UI에 극적인 시각적 변경을 일으키지 않는 구성 변경에 적합합니다. 사용자가 사용하는 동안 UI가 눈에 띄게 변경될 수 있는 상황에서는 피해야 합니다.

전략 2: 로딩 화면 뒤에서 활성화

전략 1에서 발생하는 잠재적인 UI 문제에 대한 해결책으로 로딩 화면에 의존할 수 있습니다. 앱을 바로 시작하는 대신 로딩 화면을 표시하고 완료 핸들러에서 fetchAndActivate 를 호출하세요. 그런 다음 콜백 또는 알림을 다시 사용하여 바로 그 직후에 로딩 화면을 닫고 사용자가 앱과 상호 작용할 수 있도록 합니다.

이 전략을 사용하는 경우 로딩 화면에 시간 초과를 추가하는 것이 좋습니다. 원격 구성의 1분 제한 시간은 사용자에게 양질의 앱 시작 경험을 제공하기에는 너무 길 수 있습니다.

전략 3: 다음 시작을 위해 새 값 로드

효과적인 전략은 앱을 다음 에 시작할 때 활성화할 새 구성 값을 로드하는 것입니다. 이 전략에서 앱은 새 구성 값을 이미 가져왔지만 아직 활성화하지 않았을 수 있다는 가정 하에 새 구성 값을 가져오기를 시도하기 전에 시작 시 가져온 값을 활성화합니다. 이 전략의 작업 순서는 다음과 같습니다.

  1. 시작 시 이전에 가져온 값을 즉시 활성화합니다. 이것은 이전 세션에서 서버에서 다운로드한 모든 값을 적용하며 거의 즉각적입니다.
  2. 사용자가 앱과 상호 작용하는 동안 기본 최소 가져오기 간격에 따라 새 값을 가져오기 위해 비동기식 호출을 시작합니다.
  3. 가져오기 호출에 대한 완료 핸들러 또는 콜백에서 아무 것도 하지 마십시오. 앱은 다음에 앱을 시작할 때 활성화할 때까지 다운로드한 값을 유지합니다.

이 전략을 사용하면 사용자 대기 시간이 크게 최소화됩니다. 그러나 최신 구성을 보려면 사용자가 앱을 두 번째로 실행해야 합니다. 비즈니스 및 앱 논리에 대해 이러한 고려 사항의 균형을 맞춰야 합니다.

반전략 로딩

로딩 장단점에 대한 위의 논의에서 이해했듯이 피해야 할 몇 가지 사용 패턴이 있습니다.

  • 사용자가 UI를 보거나 상호 작용하는 동안 UI의 측면을 업데이트하거나 전환 하지 마세요 . 막 종료된 프로모션과 관련된 옵션을 제거하는 것과 같이 강력한 앱 또는 비즈니스 이유가 있는 경우가 아니라면 말이죠.
  • 대량의 동시 가져오기 요청을 보내지 마세요 . 그러면 서버가 앱을 제한할 수 있습니다. 이러한 일이 발생할 위험은 대부분의 프로덕션 시나리오에서 낮지만 적극적인 개발 중에 문제가 될 수 있습니다. AndroidApple 플랫폼 에 대한 제한 지침을 확인하세요.
  • 원격 구성 값을 얻기 위해 네트워크 연결에 의존 하지 마십시오 . 앱이 항상 예상대로 작동하도록 인앱 기본 매개변수 값을 설정 하세요 . 다운로드한 템플릿 기본값 을 사용하여 앱과 원격 구성 백엔드 기본값을 주기적으로 동기화할 수 있습니다.

다음 단계

이 세 가지 기본 전략은 구성 값을 로드하는 방법의 전체 목록을 구성하지 않습니다. 필요에 따라 실시간으로 업데이트 전파에 설명된 기능 기반 백그라운드 업데이트와 같은 훨씬 더 정교한 전략을 고안할 수 있습니다.

구성 값을 가져오고 활성화하기 위한 특정 호출에 대해 자세히 알아보려면 플랫폼의 API 참조를 확인하세요.