메인 콘텐츠로 건너뛰기

Capacitor Native Purchases를 npm에서 확인하세요.

설명서

Using @capgo/native-purchases

앱 내 구독을 쉽게 관리하세요.

설치

bun add @capgo/native-purchases
bunx cap sync

이 플러그인이 제공하는 것

  • restorePurchases - 사용자가 이전에 사용한 구매 정보를 복원하고 앱 사용자 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

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

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 Capacitor Native Purchases의 구현 세부 사항을 @capgo/native-purchases에서 확인하세요. Getting Started Getting Started의 구현 세부 사항을 확인하세요. Capgo Pricing Capgo Pricing의 제품 워크플로우를 확인하세요. 결제 시스템 Payment 시스템 구현 세부 사항과 Revenue Playbook Revenue Play북 구현 세부 사항과