왜 RevenueCat인가
iOS는 StoreKit, 안드로이드는 Google Play Billing으로 결제가 갈립니다. 직접 붙이면 영수증 검증·구독 상태 관리를 양쪽에 따로 만들어야 합니다. RevenueCat은 이 둘을 묶어주고, 앱은 “이 사용자가 프리미엄 권한을 갖고 있나?” 한 가지만 확인하면 됩니다.
설계 순서
- 스토어에 상품 등록 — App Store Connect·Play Console에 구독/소모품 상품을 만듭니다.
- RevenueCat에 연결 — 두 스토어 상품을 RevenueCat의 Offering으로 묶습니다.
- 권한(entitlement) 정의 — ‘premium’ 같은 권한을 만들고, 어떤 상품이 그 권한을 주는지 연결합니다.
- 앱에서 확인 — 결제 후
customerInfo.entitlements['premium'].isActive로 기능을 열고 닫습니다.
자주 나는 함정
- 권한 전파 지연 — 스토어 상품을 등록·활성화한 뒤 RevenueCat에 반영되기까지 시간이 걸릴 수 있습니다(최대 수십 시간). 등록 직후 테스트가 안 된다고 코드를 의심하지 마세요.
- 테스트 계정 — iOS는 샌드박스 계정, 안드로이드는 라이선스 테스터로 실제 결제 없이 시험합니다.
- 복원(restore) — 기기를 바꾼 사용자를 위해 ‘구매 복원’을 반드시 제공합니다. 스토어 심사 요건이기도 합니다.
- 가격·기간 표기 — 구독은 가격·기간·자동갱신을 화면에 명확히 표기해야 심사를 통과합니다.
수익화 관점
구독은 무료 체험(첫 주 무료)·다단계 요금제와 잘 맞습니다. RevenueCat 대시보드로 전환율·해지율을 보고 요금제를 조정하세요. 광고(AdMob)와 병행하면 무료 사용자에서도 수익이 납니다.
자주 묻는 질문
꼭 RevenueCat을 써야 하나요?
필수는 아니지만, iOS·안드로이드를 함께 낸다면 관리·검증 부담을 크게 줄여줍니다. 소규모·단일 플랫폼이면 직접 붙여도 됩니다.
수수료가 이중으로 나가나요?
스토어 수수료 외에 RevenueCat 자체는 일정 매출까지 무료 구간이 있습니다. 규모가 커지면 요금을 확인하세요.
결제 연동을 대신 해줄 수 있나요?
RevenueCat 연동, 권한 설계, 스토어 상품 등록, 심사 대응까지 진행해 드립니다.
함께 읽기: 앱 심사 거절 사유 · 앱 유지보수 서비스