일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- edwith
- 드로어블
- 뷰
- 코틀린
- 아이폰
- 안드로이드_프로그래밍
- 프로그래밍
- 프로젝트
- SceneDelegate
- 텍스트뷰 스크롤
- 데이터베이스
- 리니어 레이아웃
- 텍스트뷰 자동 스크롤
- 자바
- 제약 레이아웃
- 액션바
- 서비스
- 상대 레이아웃
- 레이아웃
- 수명주기
- 스낵바
- 안드로이드
- 코드리뷰
- textview auto scroll
- Swift
- RecyclerView
- 테이블_레이아웃
- IOS
- 안드로이드 스튜디오
- 부스트코스
- Today
- Total
듀다의 성장개발로그
iOS Swift) 사용자에게 업데이트 알림 띄우는 방법 - Siren 본문
개발자는 버그 수정을 위해 또는 새로운 기능 추가를 위해 앱의 업데이트 버전을 릴리즈하기도 합니다.
그러나 사용자는 앱스토어에 들어가기 전까지 업데이트 버전이 나왔는지 알 수 없습니다.
사용자에게 이를 알려주려면 어떻게 해야 할까요? Siren 라이브러리를 활용하면 업데이트 버전 알림을 앱 내의 기능으로 구현할 수 있습니다.
Siren 설치
CocoaPods
pod 'Siren'
Swift Package Manager
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 5)
그 다음 AppDelegate.swift에 필요한 코드를 작성해주시면 됩니다.
가장 간단한 예제
import Siren //라이브러리 추가
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
window?.makeKeyAndVisible() //반드시 이 메소드가 선행되어야 합니다.
Siren.shared.wail() //이 코드를 통해 업데이트 알림을 동작시킵니다.
return true
}
}
위 예제는 Siren의 기본적인 기능만 추가한 코드입니다. 알림 빈도나 옵션 등을 변경하기 위해선 내용을 더 추가해주어야 합니다. 게다가 한국 앱스토어에만 앱을 출시하신 분들은 위 코드가 제대로 동작하지 않을 수 있습니다.
한국 앱스토어로 변경
let siren = Siren.shared
siren.apiManager = APIManager(contry: .korea) //기준 위치 대한민국 앱스토어로 변경
siren.presentationManager = PresentationManager(forceLanguageLocalization: .korean) //알림 메시지 한국어로
siren.wail()
첫 번째 예제의 Siren.shared.wail()부분을 위와 같이 바꿔주시면 한국에만 출시한 앱에서도 업데이트 알림이 출력됩니다.
알림 빈도, 옵션 변경
siren.rulesManager = RulesManager(majorUpdateRules: .critical,
minorUpdateRules: .annoying,
patchUpdateRules: .default,
revisionUpdateRules: .relaxed)
RulesManager를 통해 알림 빈도와 생략 옵션 설정이 가능합니다.
각 옵션들은 아래와 같이 설정되어 있습니다.
annoying: 항상 확인, 다음에 업데이트 가능
critical: 항상 확인, 즉시 업데이트
default: 하루에 한 번 확인, 다음에 업데이트 가능, 이 버전 생략 가능
hinting: 일주일에 한 번 확인, 다음에 업데이트 가능
persistent: 하루에 한 번 확인, 다음에 업데이트 가능
relaxed: 일주일에 한 번 확인, 다음에 업데이트 가능, 이 버전 생략 가능
사용자가 직접 조건을 설정할 수도 있습니다.
siren.rulesManager = RulesManager(majorUpdateRules: Rules(promptFrequency: .immediately, forAlertType: .force),
minorUpdateRules: Rules(promptFrequency: .daily, forAlertType: .option),
patchUpdateRules: Rules(promptFrequency: .weekly, forAlertType: .skip),
revisionUpdateRules: Rules(promptFrequency: .weekly, forAlertType: .none))
promptFrequency와 forAlertType의 값을 직접 설정해서 원하는 옵션을 만들 수 있습니다.