Remote Config 란?
앱을 업데이트 하지 않아도, 앱의 동작이나 UI를 변경할 수 있도록 도와주는 클라우드 서비스이다.
앱을 강제로 업데이트 시켜주어야 할 때, A/B 테스트를 할 때 등 여러가지 상황에서 유용하게 사용할 수 있다.
참고 : Firebase 원격 구성
서버 점검중 팝업 띄우기
Firebase 설정
Firebase 콘솔 - Remote Config 로 들어간다.
1. 매개변수 추가
매개변수의 이름(키)을 설정해주고, 원하는 데이터 유형을 설정해준다.
1-1. 매개변수 수정
Bool 형태의 값은 다음과 같이 설정해줄 수 있다.
String 형식의 값은 다음과 같이 설정해줄 수 있는데, 개행을 하기 위해서는 아래 버튼을 눌러 문자열 편집기를 사용할 수 있다.
2. 변경사항 게시
변경사항 게시 버튼을 눌러 적용한다.
** 설정해둔 MinimumFetchInterval에 따라 반영되는 시간이 조금 다를 수 있다?
3. 원상복구
서버 점검의 경우, 점검이 끝나면 다시 IS_SERVER_CHECK 변수를 false로 되돌려놓아야 한다.
코드 설정
func serverCheck() {
let remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 900
remoteConfig.configSettings = settings
remoteConfig.fetchAndActivate(completionHandler: { status, error in
if status == .error{
return
}
if self.remoteConfig!.configValue(forKey: "IS_SERVER_CHECK").boolValue {
let alert = ServerCheckAlertVC()
alert.serverCheckMessage = self.remoteConfig.configValue(forKey: "SERVER_CHECK_MESSAGE").stringValue
alert.modalPresentationStyle = .overFullScreen
self.present(alert, animated: false, completion: nil)
}
})
}
minimumFetchInterval 개념이 좀 어려웠다.
업데이트된 매개변수 값을 remote config 백엔드에서 가져오고, 가져온 값을 앱에 적용할 시점을 제어할 때 필요한 값이 minimumFetchInterval. 말그대로 값 가져오기(fetch) 간격 최솟값은 상대적으로 낮게 설정하는 것이 좋다고 한다.
그렇지만 앱에서 단기간에 가져오기를 너무 많이 수행하면 가져오기 호출이 제한되고 어쩌고저쩌고
아 몰라 너무 복잡하자나 도대체 무슨 말이야 ㅡㅡ
아무튼 이게 맞는지 모르겠지만 내가 이해한 바로는 60분 동안 가져오기 요청 수가 5회 정도로 제한되어 있다고 가정할 때, minimumFetchInterval을 15분으로 설정하기 위해 900으로 설정해 두었다. ?
'초보 iOS 개발자의 일상 > 개발 업무' 카테고리의 다른 글
[Swift iOS] Set gradient 그라디언트 뷰 적용하는 법 (+ 안뜰때!!) (1) | 2023.06.28 |
---|---|
즐겨찾기 추가 및 삭제 토스트 띄우기 - 광클 시 문제점 (0) | 2023.01.14 |
[Swift iOS] 관심상품 추가 토스트 메시지 띄우기 (feat. DispatchWorkItem) (0) | 2022.08.18 |
[Swift iOS] Firebase A/B Testing (0) | 2022.07.19 |
[Swift iOS] Add UIButton actions in UITableView Cells with Code (0) | 2022.07.11 |