@capgo/native-purchases 사용
앱 내 구매가 쉬워졌습니다.
설치
bun add @capgo/native-purchases
bunx cap sync
이 플러그인이 제공하는 것
restorePurchases- 사용자의 이전 구매를 복원하고 사용자 ID를 연결하여 사용자 ID가 동일한 다른 사용자도 사용하는 것을 연결합니다.getAppTransaction- 앱 트랜잭션 정보를 가져옵니다. 이 정보는 사용자가 원래 앱을 다운로드하거나 구매한 날짜에 대한 세부 정보를 제공합니다.isEntitledToOldBusinessModel- 원래 앱 버전과 목표 버전을 비교하여 사용자가 이전 비즈니스 모델에서 특정 기능에 대한 권리를 갖는지 결정합니다.getProducts- iOS 구독 가격 조건을 포함하여 스토어 제품 메타데이터를 로드합니다.purchaseProduct- 사용자가 선택한 제품과 청구 계획에 대한 구매 프로세스를 시작합니다.
- 예시 사용법
restorePurchases
- 사용자의 이전 구매 정보를 복원하고 앱 사용자 ID를 다른 사용자와 연결합니다.
import { NativePurchases } from '@capgo/native-purchases';
await NativePurchases.restorePurchases();
getAppTransaction
- 앱 거래 정보를 가져옵니다. 이 정보는 사용자가 앱을 처음 다운로드하거나 구매한 날짜에 대한 세부 정보를 제공합니다.
import { NativePurchases } from '@capgo/native-purchases';
const { appTransaction } = await NativePurchases.getAppTransaction();
// Check if user downloaded before version 2.0.0 (when subscription was added)
if (compareVersions(appTransaction.originalAppVersion, '2.0.0') < 0) {
// User gets free access - they downloaded before subscriptions
grantFreeAccess();
}
isEntitledToOldBusinessModel
- App 거래 정보의 원래 앱 버전을 App 거래 정보의 대상 버전과 비교하여 사용자가 이전 비즈니스 모델에서 특정 기능에 대한 권리를 갖는지 결정합니다.
import { NativePurchases } from '@capgo/native-purchases';
// Check if user downloaded before version 2.0.0/build 42 (when subscription was added)
const result = await NativePurchases.isEntitledToOldBusinessModel({
targetVersion: '2.0.0',
targetBuildNumber: '42'
});
if (result.isOlderVersion) {
console.log(`User downloaded v${result.originalAppVersion}, granting free access`);
grantFreeAccess();
}
purchaseProduct
- 주어진 제품에 대한 구매 프로세스를 시작합니다. 안드로이드 구독의 경우 Google Play 기본 계획 ID를 전달하세요. planIdentifier- iOS 구독을 지원하는 경우 1년 동안 월별 청구를 제공하는 구독을 전달하세요. billingPlanType: 'monthly'.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.premium.monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
iOS 월간 약속 구독
- 구매 전에 구매 화면에 표시할 수 있는 구독 조건을 보여주세요: pricingTerms- 전체 참조
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.premium.yearly'],
productType: PURCHASE_TYPE.SUBS,
});
const yearlyProduct = products.find(
(product) => product.identifier === 'com.example.premium.yearly',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly price:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
console.log('Billing plan:', transaction.billingPlanType);
console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate);
}
- iOS 구독 가격 조건을 포함하여 스토어 제품 메타데이터를 로드합니다.
- GitHub: https://github.com/Cap-go/capacitor-native-purchases/
- 문서: /docs/plugins/native-purchases/
- iOS 월간 약속 안내: /docs/plugins/native-purchases/ios-monthly-commitment/
Using @capgo/native-purchases
이러한 기능을 사용하는 경우 Using @capgo/native-purchases 결제와 구매를 계획하고 관리하기 위해 @__CAPGO_KEEP_0__/native-purchases @capgo/자연스러운 구매 @capgo/native-purchases Getting Started Getting Started Capgo 가격 정책 Capgo 가격 정책을 위한 제품 워크플로우에 대해 결제 시스템 결제 시스템의 구현 세부 사항에 대해 수익 전략서 수익 전략서의 구현 세부 사항에 대해