[swift] Swift FirebaseUI를 사용하여 앱 업데이트 및 업데이트 알림 구현하기

앱을 개발하다보면 정기적으로 업데이트를 진행해야할 때가 있습니다. 이때 FirebaseUI를 사용하면 앱의 업데이트를 쉽게 구현하고 사용자에게 업데이트 알림을 제공할 수 있습니다.

FirebaseUI를 사용하려면 다음 단계를 따르면 됩니다.

1. FirebaseUI 가져오기

먼저 Podfile에 FirebaseUI를 추가해야 합니다. 프로젝트의 루트 디렉토리에 있는 Podfile을 열어 다음 코드를 추가해주세요.

pod 'FirebaseUI', '~> 8.0'

그리고 터미널에서 다음 명령어를 실행하여 FirebaseUI를 설치합니다.

pod install

2. 앱 업데이트 확인

FirebaseUI를 사용하여 앱 업데이트를 확인하려면 다음 절차를 따릅니다.

2.1 앱 버전 확인

Firebase Remote Config를 사용하여 현재 앱 버전을 확인하는 기능을 구현해야 합니다. 이를 위해 Firebase 콘솔에서 Remote Config를 설정해야 합니다.

  1. Firebase 콘솔로 이동합니다.
  2. ‘Remote Config’를 선택합니다.
  3. ‘새 버전 추가’를 클릭합니다.
  4. ‘앱 버전’과 ‘버전 ID’를 입력합니다. 예를 들어, ‘1.0.0’과 ‘v1’을 입력합니다.
  5. ‘Remote Config에서 사용되는 기본 값’ 세션에서 ‘키’를 ‘current_app_version’으로, ‘값’을 현재 앱 버전으로 설정합니다. 예를 들어, ‘1.0.0’로 설정합니다.

2.2 업데이트 확인 로직 구현

앱이 시작될 때 Firebase Remote Config를 사용하여 현재 앱 버전과 리모트에서 설정한 앱 버전을 확인하고, 업데이트가 필요한 경우 업데이트 알림을 표시하는 로직을 구현해야 합니다.

import FirebaseRemoteConfig

func checkAppUpdate() {
    let remoteConfig = RemoteConfig.remoteConfig()
    
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings
    
    remoteConfig.fetch { (status, error) in
        guard status == .success, error == nil else {
            return
        }
        
        remoteConfig.activate { (error) in
            let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
            let appVersion = remoteConfig.configValue(forKey: "current_app_version").stringValue ?? ""
            
            if currentVersion != appVersion {
                // 업데이트 알림을 표시하는 로직 구현
            }
        }
    }
}

위 코드에서 checkAppUpdate() 함수는 앱이 시작될 때 호출되어 Firebase Remote Config를 사용하여 현재 앱 버전과 리모트에서 설정한 앱 버전을 확인하고, 업데이트가 필요한 경우 업데이트 알림을 표시하는 로직을 구현합니다.

3. 업데이트 알림 표시

FirebaseUI를 사용하여 업데이트 알림을 표시하려면 UIAlertController를 사용하는 방법을 추천합니다. 예를 들어, 다음과 같이 구현할 수 있습니다.

func showUpdateAlert() {
    let alertController = UIAlertController(title: "새로운 업데이트", message: "새로운 버전이 출시되었습니다. 업데이트를 진행해주세요.", preferredStyle: .alert)
    let cancelAction = UIAlertAction(title: "나중에", style: .cancel, handler: nil)
    let updateAction = UIAlertAction(title: "업데이트", style: .default) { action in
        if let url = URL(string: "https://example.com/appstore") {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        }
    }
    
    alertController.addAction(cancelAction)
    alertController.addAction(updateAction)
    
    self.present(alertController, animated: true, completion: nil)
}

위 코드에서 showUpdateAlert() 함수는 UIAlertController를 사용하여 새로운 업데이트가 출시되었음을 알리는 알림을 표시합니다. ‘업데이트’ 버튼을 클릭하면 사용자를 앱 스토어 페이지로 리다이렉트합니다.

FirebaseUI를 사용하여 앱 업데이트 및 업데이트 알림을 구현하는 방법에 대해 알아보았습니다. FirebaseUI를 활용하면 앱의 업데이트 관리를 손쉽게 할 수 있고, 사용자에게 새로운 업데이트를 알릴 수 있습니다.

자세한 내용은 FirebaseUI 공식 문서를 참고하시기 바랍니다.