메인 콘텐츠로 건너뛰기

Capgo에서 __CAPGO_KEEP_0__ 보기

설명서

Capacitor Native Purchases 튜토리얼

Download the Capgo app, then scan the QR code.

네이티브 구매 플러그인 미리보기 QR code

Using @capgo/native-purchases

앱 내 구독을 쉽게 하세요.

설치

bun add @capgo/native-purchases
bunx cap sync

이 플러그인이 제공하는 것

  • restorePurchases - 사용자의 이전 구매 정보를 복원하고 앱 사용자 ID를 사용자 ID와 연결합니다.
  • getAppTransaction - 앱 트랜잭션 정보를 가져옵니다. 이 정보는 사용자가 앱을 처음 다운로드하거나 구매한 날짜에 대한 세부 정보를 제공합니다.
  • isEntitledToOldBusinessModel - 원래 앱 버전과 목표 버전을 비교하여 사용자가 이전 비즈니스 모델에서 특정 기능에 대한 권리를 갖는지 결정합니다.
  • getProducts - iOS 구독 가격 조건을 포함하여 지원되는 iOS 구독 가격 조건을 포함한 스토어 제품 메타데이터를 로드합니다.
  • purchaseProduct - 선택한 제품과 청구 계획에 대한 구매 프로세스를 시작합니다.

예시 사용법

restorePurchases

사용자의 이전 구매를 복원하고 앱 사용자 ID를 사용자 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

원래 앱 버전과 목표 버전을 비교하여 사용자가 이전 비즈니스 모델에서 특정 기능에 대한 권리를 갖는지 결정합니다.

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를 전달하세요. planIdentifieriOS 구독을 시작합니다. 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 구독을 시작합니다. iOS 구독은 1년 동안 월별 결제를 제공합니다.

iOS 버전에서 지원되는 경우 StoreKit은 12개월의 약속과 함께 월별 결제 플랜을 노출할 수 있습니다. 이러한 조건을 구매 전 결제 창에 표시하세요: 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);
}

__CAPGO_KEEP_0__:

Using @capgo/native-purchases에서 계속 진행하세요.

Capacitor Native Purchases를 사용 중이라면 Using @capgo/native-purchases 결제와 구매를 계획하고 싶다면 @__CAPGO_KEEP_0__/native-purchases와 연결하세요. @capgo/native-purchases를 사용하여 @capgo/native-purchases의 구현 세부 사항을 확인하세요. for the implementation detail in @capgo/native-purchases, Getting Started의 구현 세부 사항을 확인하세요. __CAPGO_KEEP_0__ Pricing Capgo Pricing의 제품 워크플로우를 확인하세요. for the product workflow in Capgo Pricing, __CAPGO_KEEP_0__ 결제 시스템의 구현 세부 사항에 대해 수익 전략서 수익 전략서의 구현 세부 사항에 대해