-
App UpdateData Engineer 2024. 3. 8. 08:47728x90
강제 업데이트
- 앱이 새로운 버전으로 올라가면서 기존 앱과 호환이 불가하거나, 치명적인 버그가 있어 기존 앱의 이용자를 모두 필수적으로 새로운 버전의 앱을 사용하도록 할 때 사용
- 앱 실행 시 강제 업데이트가 필요한지의 여부를 판단 후, 강제 업데이트가 필요하다면 앱 진입을 막고 앱스토어로 연결하여 업데이트 할 수 있도록 안내
강제 업데이트의 경우 기존 앱은 사용할 수 없게 되어, 기존 사용자들의 사용성은 떨어지게 되므로 꼭 사용해야 하는 경우가 아니라면 선택 업데이트 사용을 권장해야 한다
선택 업데이트
앱이 새로운 버전으로 올라가지만 큰 변화가 없어서, 기존 앱과 호환이 가능하여 새로운 업데이트가 있다고만 안내
업데이트 안내 로직
- 사용자가 앱을 실행 or 백그라운드에서 포어그라운드로 진입
- 서버에서 앱 최소 지원 버전, 최신 앱 버전을 내려받아 현재 앱의 버전과 비교
- 현재 앱의 버전 < 앱 최소 지원 버전 => 강제 업데이트 로직으로 분기
- 현재 앱의 버전 < 최신 앱 버전 => 선택 업데이트 로직으로 분기
앱 최소. 최신 버전 관리
- Firebase : 필수/선택 업데이트의 필요 유무 판단
- Firebase Remote Config에서 데이터를 Fetch한 뒤에 AppConfig라는 클래스에 매핑을 한다
- 그 이후 plist에 있는 현재 앱의 버전과 AppConfig의 minVersion, latestVersion을 비교하여 강제,선택 업데이트 여부를 판단
선택 업데이트라면?
새로운 버전의 앱이 AppStore에 노출됨을 확인하고 Remote Config 설정에서 lastestVersion을 최신버전으로 수정
강제 업데이트라면?
새로운 버전의 앱이 AppStore에 노출됨을 확인하고 Remote Config 설정에서 minVersion을 최신버전으로 수정,
물론 lastestVersion도 최신으로 수정
주의사항
- 앱을 실행할 때 앱의 진입을 막고, remote config의 데이터를 가져오는 로직이 추가
- firebase 서비스에 장애가 생길일은 드물겠지만, 만약 장애가 있다면 앱에 진입이 불가할 수 있음
- firebase remote config 설정이 즉시 적용은 아니고, 조금의 시간이 소요
- 아직 앱스토어에 업데이트된 빌드가 업로드 되지 않은 상태에서, 강제 업데이트를 설정하면 사용자는 앱을 사용할 수 없음
- 업데이트 빌드가 앱스토어에 노출되는 시점이 사용자마다 다를 수 있음
- 어떤 사용자는 앱스토어에 들어가면 업데이트가 바로 뜨지만, 일부 사용자는 열기 버전으로 기존 버전만 사용가능 할 수 있다. 이때, 강제 업데이트 걸면 후자의 사람들은 업데이트가 가능해질 때까지 앱을 사용할 수 없다.
- 위의 이슈는 사용자가 앱스토어의 업데이트 탭에서 새로고침을 하면 수정 가능
728x90'Data Engineer' 카테고리의 다른 글
[Error] MySQL : Update 문 실수 시 조치 사항 (0) 2024.03.12 Git action - 이론 (0) 2024.03.08 프로메테우스 (0) 2024.03.03 Dockerfile & Docker-compose (0) 2024.02.20 [Security] Microsoft Defender (0) 2024.02.19