콘솔로 이동

Firebase 원격 구성 iOS 샘플 앱 둘러보기

이 가이드에서는 iOS 앱에 원격 구성을 통합하는 방법을 단계별로 알아보겠습니다. iOS용 Remote Config API에 관한 자세한 내용은 FIRRemoteConfig를 참조하세요.

요구사항

iOS 프로젝트에 Firebase 추가에서 제공하는 안내에 따라 프로젝트를 설정합니다.

클라이언트 라이브러리 설치

  1. Podfile에 다음 종속 항목을 추가합니다.

    pod 'Firebase/RemoteConfig'
    

  2. 파일을 저장하고 다음을 실행합니다.

    pod install
    

이렇게 하면 애플리케이션의 .xcworkspace 파일이 생성됩니다. 이후에 애플리케이션을 개발할 때 항상 이 파일을 사용하세요.

빠른 시작 샘플용 원격 구성 프로젝트 만들기

빠른 시작 샘플은 원격 구성을 사용하여 샘플 앱의 환영 메시지를 정의하는 것을 보여 줍니다. 빠른 시작 샘플을 실행을 위해서는 우선 원격 구성 프로젝트를 설정해야 합니다.

Firebase Console에서 새 프로젝트 만들기를 클릭하고 안내에 따라 다음 매개변수를 사용하여 Firebase 원격 구성 프로젝트를 설정합니다.

매개변수 키 기본값 참고사항
welcome_message Welcome to this sample app 다른 환영 메시지를 사용하려면 변경합니다.
welcome_message_caps false 환영 메시지가 모두 대문자로 표시되도록 하려면 true로 설정합니다.

프로젝트를 구성한 후 빠른 시작 샘플을 실행하여 Firebase Console에서 정의한 환영 메시지를 확인합니다. 프로젝트에서 이 매개변수의 값을 변경하고 빠른 시작 샘플에서 원격 구성 가져오기를 탭하면 원격 구성을 통해 앱이 업데이트되는 것을 확인할 수 있습니다.

빠른 시작 샘플 빌드 및 실행

  1. 빠른 시작 샘플 코드를 다운로드하고 압축을 풉니다.

  2. 터미널 창을 열고 샘플 프로젝트 위치로 이동합니다. pod install을 실행하고 .xcworkspace 파일을 엽니다.

  3. 샘플을 빌드하고 실행합니다.

실행 방식

샘플이 원격 구성 객체 인스턴스를 불러온 뒤 가져오기 간격을 최솟값으로 설정하여 상시적으로 새로고침을 할 수 있도록 합니다.

Swift

Objective-C

그런 다음 plist 파일에서 인앱 기본값을 설정합니다.

Swift

Objective-C

이제 샘플은 원격 구성 서비스에서 값을 가져오고(캐시된 값이 아님) activateWithCompletionHandler:를 호출하여 해당 값을 앱에 적용합니다.

Swift

Objective-C

이제 환영 메시지가 업데이트되었으므로 앱에서 업데이트된 환영 메시지를 표시할 수 있습니다.

Swift

Objective-C

stringValue, numberValue, dataValue 또는 boolValue 속성 중 하나를 사용하거나 configValueForKey: 메소드를 사용하여 원격 구성 매개변수에 액세스할 수 있습니다.

제한

앱에서 짧은 시간 동안 가져오기를 너무 많이 수행하면 가져오기 호출이 제한될 수 있습니다. 이 경우 백엔드가 FIRRemoteConfigFetchStatusThrottled를 반환합니다. 이 오류를 확인하고 지수 백오프 모드로 재시도하여 가져오기 요청 간 대기 시간을 더 길게 설정하는 것이 좋습니다.

앱 개발 중 개발과 앱 테스트 속도를 높이기 위해서는 캐시를 매우 빈번하게(한 시간에 몇 번씩) 새로고침하는 것을 권장합니다. 개발자가 최대 10명인 프로젝트의 경우 개발 및 테스트를 빠르게 반복하도록 앱의 FIRRemoteConfigSettings 속성을 가져오기 간격 최솟값(MinimumFetchInterval)으로 임시로 추가할 수 있습니다.

원격 구성의 가져오기 간격 최솟값은 12시간(기본값)입니다. 즉, 실제로 발생하는 가져오기 호출 수에 관계없이 12시간 동안 백엔드에서 구성을 두 번 이상 가져올 수 없습니다. 가져오기 간격 최솟값은 구체적으로 다음과 같은 순서로 결정됩니다.

  1. 매개변수 fetch(long)
  2. 매개변수 FIRRemoteConfigSettings.MinimumFetchInterval
  3. 기본값 12시간