- 작성시간 : 2021/12/30 17:32
- 퍼머링크 : gsstudio.egloos.com/4441919
- 덧글수 : 0
만들고 있는 회사앱도 그렇고, 개인적으로 개발중인 "소리성경" 앱도 그렇고, 쬐끔씩 쬐끔씩 코드를 수정하는 일들을 취미삼아 하고 있다.
몇년간 의존성 주입(dependency injection)에 대해 헤맸고, 작년에 깨달음을 얻은뒤에 요샌 여기저기 사용중이다.
protocol IAPProtocol {
func getProducts() -> Observable<[SKProduct]>
func purchase(product: SKProduct) -> Observable<Bool>
func restorePurchase() -> Observable<Bool>
}
인앱결제 의존성 주입을 위한 프로토콜.
뭐.. 이번에야 만든거지만.
1차로 IAPHelper 라는 구글인가 유튭에서 찾아서 복붙한뒤 수정한 코드를 사용했고,
2차로 SwiftyStoreKit을 사용했다.
위 둘의 문제는, receipt validation을 앱내에서 사용해야한다는거.
말만 serverless가 아닌 정말 서버없이 서비스를 만든터라, recept validation이 큰 고민이었다.
뭐 아무튼 그래서 선택한게 RevenueCat
그리고 인앱결제 서비스 용 protocol을 만들고, 결제 ViewModel에 해당 서비스를 넘겨줄 계획.
잘 만들어진다면, 추후에 aws lambda 쪽에 receipt validation 기능을 만들 때, 그때는 결제 viewModel 수정없이 가능할듯.
덧글