쪼렙 as! 풀스택

[iOS, Android] Firebase - RemoteConfig 이용하여, 앱 필수버전 체크하기. 본문

개발 일지/iOS & Android

[iOS, Android] Firebase - RemoteConfig 이용하여, 앱 필수버전 체크하기.

코코앱 2018. 9. 13. 17:33

사용자들이 내가 만든 앱의 최신버전으로 유지하게 만드는것은 참 중요한 일이다.

난 앱 업데이트를 굉장히 게으르게 하는 편인데, 나같은 사람에게 최신버전의 앱을 사용하게 하는것은 참 어려운 일이다.


Firebase Analytics 를 보면, 사용자들이 어떤 버전을 사용하는지 통계로 볼 수 있어서 참 좋다.

  이건 내가만든 iOS 앱의 사용하는 버전 통계 인데, 아직도 거의 세달전에 출시한 버전을 아직도 사용하는 사람들이 있구나 ㅠㅠ


-


실제로 앱을 만들고 서비스를 하다보니, 앱 업데이트를 크게 두 부류로 나눌 수 있겠더라.

1. 굵직한 필수 업데이트.

2. 자잘한 마이너 업데이트.


  스토어에 출시된 앱의 버전을 Parsing 해서, 자동으로 앱 업데이트 알림 기능을 구현하는 방법들이 흔히 많이 들 쓰이는데, 나는 정말 '알림'이 귀찮은 사람이라, 자잘한 마이너업데이트까지 '업데이트 하시오!' Alert 을 보고 싶어하지 않는 사람이다. 때로는 업데이트를 출시했는데, 거기서도 버그가 발견되서, 하루이틀 사이에 업데이트를 두번 이상 하는 경우도 간혹 생기기도 하는데, 이때마다 Alert 이 뜬다는건, 나는 정말 경험하고 싶지 않은 UX이다.


  그래서, 나는 필수 업데이트 버전을 지정해 두고, 현재 사용하는 앱 버전이 필수 버전보다 낮을 때만 앱 업데이트를 요청하는 Alert 을 띄우기로 결정했다.



Firebase - Remote Config 사용하기로 결정.

 

필수 버전을 내 서버에다 저장해두고, 앱이 실행될 때마다 체크하는 방법도 있겠지만, 혹시라도 서버에 문제가 있다던지, 앱 업데이트에 따라 API가 변경된다던지 하면, 이 기능 자체를 사용하지 못하게 되기 때문에, 나의 서버와 무관한 Firebase 를 사용하기로 결정했다. 


Remote Config 에 최소요구 버전을 입력하고, 앱이 구동될 때마다 RemoteConfig.fetch() 한 후, 비교해서 업데이트가 필요한 경우, 마켓으로 이동할 수 있도록 만들었다. 나같이 Alert 을 귀찮아 하는 사람들에게, 자잘한 업데이트까지 Alert 을 마구 띄우지 않기 위해. 


  잘쓰는 사람들은 알아서 자동업데이트가 잘 되길 바랄 뿐이다. ㅋ



- iOS 현재 앱 버전 확인하기.


  let version = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String



- Android 현재 앱 버전 확인하기.

PackageManager pm = activity.getPackageManager();
try {
PackageInfo packageInfo = pm.getPackageInfo(activity.getPackageName(), 0);
String versionName = packageInfo.versionName;
} catch (Exception e) {

}



- iOS 앱스토어에서 내 앱으로 이동

let appStoreAppID = "1111111111"

let url = URL(string: "itms-apps://itunes.apple.com/app/id" + appStoreAppID)!

UIApplication.shared.open(url, options: [:], completionHandler: nil)



- Android 플레이스토어에서 내 앱으로 이동.

String uri = "market://details?id=" +getPackageName();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);




Comments