__CAPGO_KEEP_0__ 앱에 대한 인앱 구매 플러그인은 RevenueCat 공식 저장소로 이전되었습니다. 자세한 정보는 공식 문서를 참조하세요. 공식 문서 __CAPGO_KEEP_0__ Purchases는 __CAPGO_KEEP_1__ 프레임워크의 플러그인으로 iOS 및 Android에서 인앱 구매를 지원합니다. iOS 및 Android에서 일관된 __CAPGO_KEEP_2__를 제공하여 개발자가 모바일 앱에 인앱 구독 및 구매를 구현하는 것을 쉽게 만듭니다.
Capacitor Purchases is a plugin for the Capacitor framework that allows in-app purchases on iOS and Android. It provides a simple and consistent API across multiple platforms, making it easy for developers to implement in-app subscriptions and purchases in their mobile apps.
Capacitor의 주요 기능 중 하나는 RevenueCat와의 통합입니다. RevenueCat은 인앱 구독 및 인앱 구매를 위한 도구를 제공하는 플랫폼입니다. RevenueCat은 여러 플랫폼에서 일관된 API를 제공하고, 수신증명서 검증 및 사용자 관리와 같은 작업을 자동화하여 인앱 구독 및 구매를 implement하는 과정을 단순화합니다.
RevenueCat을 사용하면 개발자들이 구독 관리, 수익 추적 및 관련된 작업을 수행할 수 있습니다. RevenueCat이 제공하는 기능은 다음과 같습니다.
- 수신증명서 검증
- 사용자 관리
- 커스텀 가격 모델 지원
- 세부적인 분석 -확장성
Capacitor Purchases 플러그인을 RevenueCat과 함께 사용하면 개발자들이 인앱 구독 및 구매를 implement하는 데 시간과 노력을 절약할 수 있으며, 사용자 경험을 개선하고 수익을 증가시키기 위한 추가 기능을 제공할 수 있습니다.
Capacitor Purchases 플러그인과 RevenueCat을 사용하면 개발자들이 쉽게 인앱 구독 및 구매를 관리하고 추적할 수 있으며, 수신증명서를 검증하고 사용자를 여러 플랫폼에서 관리할 수 있습니다. 또한 커스텀 가격 모델을 만들고 세부적인 분석을 얻어 성능과 수익을 개선할 수 있습니다.
설치
Capacitor의 최신 버전과 Capacitor Purchases 플러그인을 사용하십시오. Capacitor의 최신 버전과 Capacitor Purchases 플러그인의 최신 버전은 Capacitor 웹사이트에서 확인하실 수 있습니다.
Capacitor Purchases 플러그인을 설치하려면 다음 명령어를 실행하십시오:
npm i @capgo/capacitor-purchases
앱 내 플러그인을 추가하세요. native code
npx cap sync
Xcode에 인앱 구매 기능을 추가하세요:
그 다음

1. RevenueCat 계정 만들기
이 안내서에서는 구독 및 RevenueCat의 SDK를 사용하여 몇 줄의 code만으로 구독을 시작하는 방법을 안내합니다.
새로운 RevenueCat 계정 만들기 여기.
📘
💡 여기 팁!
RevenueCat에서는 각 앱/프로젝트당 별도의 RevenueCat 계정을 만들 것을 권장합니다. 특히 앱을 판매할 계획이라면, 계정 전달이 더 빠르게 진행될 것입니다.
단체/기업
회원가입 시 RevenueCat과 앱을 프로젝트 내에서 설정할 때 회사 계정을 사용하는 것을 권장합니다. 프로젝트 내에 나머지 팀원들을 초대하여 팀원으로 추가할 수 있지만, 프로젝트 소유자는만 계정 관리를 할 수 있습니다. 프로젝트 팀원은 계정 관리를 할 수 없습니다. 협력자 그러나 프로젝트 소유자는만 계정 관리를 할 수 있습니다.2. 프로젝트 및 앱 설정
▶️ 프로젝트 만들기
RevenueCat 대시보드에 접속하여
상단 네비게이션 메뉴의 프로젝트 RevenueCat 1단계 __CAPGO_KEEP_0__.

새로운 프로젝트를 만들기 위한 팝업 모달
▶️ 앱/플랫폼 추가
From 프로젝트 설정 > 앱 프로젝트 대시보드의 왼쪽 메뉴에서 추가할 앱의 플랫폼을 선택하세요.

앱 플랫폼을 선택하는 프로젝트 대시보드
필드 앱 이름 앱을 RevenueCat에 추가하려면 필수입니다. 나머지 구성 필드는 나중에 추가할 수 있습니다. 테스트 및 프로덕션 구매를 위해 Bundle ID (iOS) / Package Name (Android) 및 Shared Secret (iOS) / Service Credentials (Android)가 구성되어야 합니다.

Apple App Store 앱의 앱 구성 페이지
📘
💡 여기 팁이 있습니다!
앱을 등록한 후, RevenueCat은 설정을 추천합니다. 플랫폼 서버 알림. 이 알림은 필수는 아니지만, 웹훅 및 통합 전달 시간을 가속화하고, 구독자 업데이트 시간을 줄여줍니다. 웹훅 스태징 vs. 프로덕션 앱 및 사용자
📘
RevenueCat은 스태징과 프로덕션에 대한 별도의 환경을 가지고 있지 않습니다. 대신, 사용자의 거래는 샌드박스와 프로덕션으로 구분됩니다.
RevenueCat 앱은 모두 샌드박스와 프로덕션 구매를 할 수 있습니다. 만약 스태징과 프로덕션에 대한 별도의 앱이 있다면, RevenueCat에서 여러 프로젝트를 만들어서 설정을 반영할 수 있습니다.
또한, 사용자는 환경에 따라 구분되지 않습니다. 동일한 사용자는 동시에 샌드박스 구매와 프로덕션 구매를 활성화할 수 있습니다.
▶️ 서비스 자격증서
서비스 자격증서를 설정해야 하며, RevenueCat은 앱 스토어와 대신 통신할 수 있습니다. RevenueCat 가이드를 참조하세요.
RevenueCat 가이드를 참조하세요. App Store Connect Shared Secret, Play Service Credentials, 그리고 Amazon Appstore Shared Secret 더 많은 정보를 위해
Google 서버의 모든 서버에 전파되기까지 36시간이 걸릴 수 있으므로, Note that play service credentials
3. 제품 설정
▶️ 스토어 설정
RevenueCat을 사용하여 제품을 가져오기 시작하려면, 먼저 제품을 각 스토어에서 설정해야 합니다. 다음 안내서를 참조하십시오. App Store Connect, Google Play Console, Amazon Appstore, 그리고 Stripe iOS 제품을 판매하는 경우, 'Paid Applications Agreement'에 서명하고 App Store Connect > Agreements, Tax, and Banking에서 은행 및 세금 정보를 입력해야 합니다.
App Store Connect > Agreements, Tax, and Banking 이 과정을 완료해야만 구매 테스트를 시작할 수 있습니다.. 스토어 설정을 테스트 중에 건너뛰고 싶으신가요?.
📘
iOS에서 StoreKit Configuration 파일을 사용하여 App Store Connect의 제품을 미리 구성할 수 있습니다. 이 config 파일은 Xcode에서 직접 설정할 수 있습니다.
RevenueCat에서 StoreKit Configuration 파일을 설정하는 방법에 대해 더 알아보세요.
테스트 샌드박스 설명서. ▶️ RevenueCat에서 제품 및 권한을 구성하세요.
▶️ RevenueCat에서 제품 및 권한을 구성하세요.
앱 내 제품이 App Store Connect, Google Play Console, Amazon Appstore, 또는 Stripe에서 구성되면, RevenueCat 대시보드에 해당 구성이 복사되어야 합니다. RevenueCat은 프리미엄 기능에 대한 접근을 제어하고 고객에게 제공할 제품의 세트를 관리하기 위해 Entitlements 시스템을 사용합니다. Entitlements는 고객이 특정 제품을 구매한 후 , Offerings는 고객에게 제공할 제품의 세트를 관리하는 간단한 방법입니다., RevenueCat은 이러한 기능을 사용하여 제품을 변경할 수 있도록 앱 업데이트 없이 __CAPGO_KEEP_0__를 단순화하는 것을 추천합니다.자세한 내용은 Configuring Products을 참조하세요. EntitlementsOfferings
RevenueCat RevenueCat utilizing these features to simplify your code and enable you to change products without releasing an app update.
Configuring Products RevenueCat 제품을 설정하고 Offerings 또는 Entitlements로 그룹화하는 데 사용합니다.

4. RevenueCat의 Purchases SDK
RevenueCat SDK는 플랫폼 간에 구입 및 구독을 무중단으로 구현하고 RevenueCat 서버와 토큰을 동기화합니다.
이 SDK에 문제가 발생하면 SDK의 문제 해결 안내를 참조하십시오.
📘
구입에 사용하는 SDK의 공개 키만 사용하십시오.
구입에 사용하는 SDK의 공개 키를 프로젝트 설정에서 API 키 탭에서 가져오십시오. Project settings 대시보드에서.
공유 인스턴스를 한 번만 설정하세요. 일반적으로 앱이 시작될 때 설정합니다. 이후 앱 내에서 공유 인스턴스를 접근하여 앱 전역에서 사용합니다. 구매 See RevenueCat guide on .shared instance in the SDK.
Configuring __CAPGO_KEEP_0__ Configuring SDK public __CAPGO_KEEP_0__ 키만 사용하여 구성하세요. RevenueCat의 인증 안내서에서 다양한 __CAPGO_KEEP_1__ 키에 대한 정보를 읽어보세요.
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ with your public SDK key only. You can read more about the different API keys available in RevenueCat __CAPGO_KEEP_0__.
import { CapacitorPurchases } from '@capgo/capacitor-purchases'
import { isPlatform } from '@ionic/vue' // use the right one for your framework
CapacitorPurchases.setDebugLogsEnabled({ enabled: import.meta.env.DEV }) // Enable to get debug logs in dev mode
if (isPlatform('ios')) {
CapacitorPurchases.setup({ apiKey:'appl_******'})
} else if (isPlatform('android')) {
CapacitorPurchases.setup({ apiKey:'goog_******'})
}
개발 중인 경우, RevenueCat은 더 자세한 디버그 로그를 활성화하는 것을 권장합니다. 더 자세한 정보를 얻으려면 이 로그에 대한 Debugging 안내서를 참조하세요.
RevenueCat을 사용할 계획이라면 기존 구매 code와 함께 사용할 경우, RevenueCat의 Observer Mode.
📘
구성 가이드를 참조하세요.
구매자 ID를 제공하는 경우, RevenueCat은 사용자 인증 시스템이 있는 앱에서 사용자 식별자를 구성 시점 또는 나중에 호출하여 제공할 수 있습니다. 더 자세한 정보를 얻으려면 RevenueCat의
.logIn()Identifying Users 안내서를 참조하세요..
SDK는 자동으로 configured Offerings 를 가져와 애플, 구글, 또는 아마존에서 제품 정보를 가져옵니다. 따라서 고객이 구매 화면을 열 때 이미 제품이 로드되어 있습니다.
아래는 Offerings를 가져오는 예시입니다. Offerings를 사용하여 결제墙 화면을 조직할 수 있습니다. RevenueCat의 "Offerings를 표시하는 방법"에 대해 더 알아보세요. Displaying Products ▶️ 사용 가능한 제품을 가져오고 표시하세요
구매와 사용자 ID를 구성하는 방법
📘
사용자 인증 시스템이 있는 앱이 있다면, 구성 시 또는 나중에 "__CAPGO_KEEP_0__"를 호출하여 사용자 식별자를 제공할 수 있습니다. 더 알아보려면 RevenueCat의 "사용자를 식별하는 방법"을 확인하세요.
__CAPGO_KEEP_0__는 자동으로 구성된 Offerings를 가져와 Apple, Google, 또는 Amazon에서 제품 정보를 가져옵니다. 따라서 고객이 결제 화면을 열 때 이미 사용 가능한 제품이 로드되어 있습니다.
.logIn()아래는 Offerings를 가져오는 예시입니다. Offerings를 사용하여 결제墙 화면을 조직할 수 있습니다. RevenueCat의 "Offerings를 표시하는 방법"에 대해 더 알아보세요. Displaying Products.
The SDK will automatically fetch the 구매와 사용자 ID를 구성하는 방법 사용자 인증 시스템이 있는 앱이 있다면, 구성 시 또는 나중에 "__CAPGO_KEEP_0__"를 호출하여 사용자 식별자를 제공할 수 있습니다. 더 알아보려면 RevenueCat의 "사용자를 식별하는 방법"을 확인하세요.
__CAPGO_KEEP_0__는 자동으로 구성된 Offerings를 가져와 Apple, Google, 또는 Amazon에서 제품 정보를 가져옵니다. 따라서 고객이 결제 화면을 열 때 이미 사용 가능한 제품이 로드되어 있습니다. 제품을 표시합니다 더 많은 정보와最佳 관행을위한
const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {
// Display current offering with offerings.current
}
Fetching하는 경우 제공, 제품, 또는 사용 가능한 패키지 이미지나 패키지가 비어있는 경우, 이는 해당 스토어의 구성 문제로 인한 것입니다.
App Store Connect에서 가장 일반적인 이유는 '결제 애플리케이션 계약'이 업데이트되지 않았거나 제품이 적어도 '제출 준비' 상태가 아닐 때입니다. Google Play에서는 일반적으로 앱이 폐쇄된 트랙에 게시되지 않았거나 유효한 테스트 사용자가 추가되지 않았을 때 발생합니다.
이 문제를 해결하는 방법에 대한 자세한 정보는 RevenueCat의 도움말 센터.
▶️ 구매하기
The SDK은 간단한 방법을 제공하여 구매를 facilite합니다. purchase:package takes a package from the fetched Offering and processes the transaction with the respective app store.
The code 샘플은 구매한 패키지를 확인하고 “your_entitlement_id” 콘텐츠가 해제되었는지 확인하는 과정을 보여줍니다. 더 자세한 정보는 RevenueCat의 "Making Purchases" 문서에서 확인하실 수 있습니다. purchase:package 구독 상태 확인 이 메서드를 사용하여 언제든지 최신 상태를 가져올 수 있으며, 앱의 라이프 사이클 동안 반복적으로 호출해도 안전합니다..
const purchase = async (p: Package): Promise<PurchaserInfo | null> => {
try {
// console.log('purchase', p)
const data = await CapacitorPurchases.purchasePackage({
identifier: p.identifier,
offeringIdentifier: p.offeringIdentifier,
})
const purchaserInfo = data.purchaserInfo
// console.log('listenBuy', purchaserInfo)
if (purchaserInfo.activeSubscriptions.includes(p.identifier)) {
// set the user as paid
}
return purchaserInfo
}
catch (e) {
console.error('listenBuy error', e)
}
return null
}
구매
자동으로 캐시를 최신화하여 업데이트할 때마다 캐시에서 데이터를 가져와서 매우 빠르게 동작합니다. 일반적으로 사용자에게 어떤 UI를 보여줄지 결정할 때 또는 사용자가 특정 권한 수준이 필요한 액션을 수행할 때 이 메서드를 호출하는 것이 좋습니다. 💡 팁! CustomerInfo 구매
자동으로 캐시를 최신화하여 업데이트할 때마다 캐시에서 데이터를 가져와서 매우 빠르게 동작합니다.
📘
일반적으로 사용자에게 어떤 UI를 보여줄지 결정할 때 또는 사용자가 특정 권한 수준이 필요한 액션을 수행할 때 이 메서드를 호출하는 것이 좋습니다.
많은 정보를 통해 구독의 상태를 확인할 수 있습니다. 구독 상태 구독이 갱신되도록 설정되었는지, 사용자의 신용카드에 문제가 있는지 등 더 많은 정보를 알고 싶다면
구독 상태 RevenueCat은 사용자가 이전에 구입한 콘텐츠를 재활용하여 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다. RevenueCat은 사용자가 이전에 구입한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다.
const res = await CapacitorPurchases.restoreTransactions()
const purchaserInfo = res.purchaserInfo
const ids: string[] = [] // extract active subscriptions ids
purchaserInfo.activeSubscriptions.forEach((id) => {
ids.push(id)
})
사용자가 구매한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다. RevenueCat은 사용자가 구매한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다. 사용자가 구매한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다. RevenueCat은 사용자가 구매한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다. RevenueCat은 사용자가 구매한 콘텐츠를 다시 활성화할 수 있도록 사용자의 인앱 구매를 복원할 수 있습니다.
Since the SDK works seamlessly on any platform, changes to a user’s purchase info may come from a variety of sources. You can respond to any changes in a customer’s CustomerInfo delegate 메소드를 호출하는 데 따르는 옵션으로 동의하는 경우 purchases:receivedUpdated:.
이 메소드는 SDK에서 업데이트된 객체를 받을 때마다 호출됩니다. CustomerInfo 또는 getCustomerInfo(), purchase(package:), purchase(product:)CustomerInfo 업데이트는 restorePurchases().
RevenueCat 백엔드에서 앱으로 푸시되지 않으면, 업데이트는 RevenueCat로의 아웃바운드 네트워크 요청으로만 발생할 수 있습니다. 앱에 따라, delegate를 무시하고 앱이 다시 시작되거나 __CAPGO_KEEP_0__ 메소드의 완료 블록에서 고객 정보를 변경할 때만 처리할 수 있습니다. 축하합니다!
서버 SDK를 1달 동안 작성하지 않고도 완전한 구독 구입 시스템을 구현했습니다. 축하합니다!
CapacitorPurchases.addListener('purchasesUpdate', (data) => {
console.log('purchasesUpdate', data)
})
👍
샘플 앱
RevenueCat 샘플 앱 리소스에 가서 code을 통합하는 더 완전한 예제를 다운로드하세요.
축하합니다!
RevenueCat 샘플 앱 리소스에 가서 SDK을 통합하는 더 완전한 예제를 다운로드하세요.
Capacitor와 Vue.js를 사용하는 샘플 앱을 곧 공개할 예정입니다.
SDK의 깊은 사용에 대한 Capacitor를 사용하는 경우 문서를 확인하세요. 여기.
다음 단계
\
- RevenueCat의 제품을 올바르게 구성했는지 확인하기 위해 RevenueCat의 권한 안내서를 확인하세요. 사용자 식별자를 사용자 지정하려면.
- RevenueCat에서 다른 시스템으로 이동하는 경우 RevenueCat의 구독을 이전하는 안내서를 확인하세요. RevenueCat 통합을 테스트하기 위해 준비되면 RevenueCat의 통합 안내서를 확인하세요. .
- RevenueCat의 구독을 이전하는 안내서 RevenueCat의 통합 안내서.
- RevenueCat의 권한 안내서 testing and debugging.
- App Store 소규모 사업자 프로그램에 자격이 있다면, RevenueCat의 RevenueCat에 애플리케이션을 제출하고 RevenueCat을 알리기 위한 방법에 대해
Live 업데이트 기능이 필요하다면
👇 여기 가입하세요