내용으로 건너뛰기

iOS 월간 약속 결제 플랜

GitHub

애플은 월별로 청구하는 구독을 지원하며 고객을 12개월의 더 긴 기간에 동의합니다. StoreKit 및 실행 중인 OS가 이 청구 계획을 지원할 때 @capgo/native-purchases 가격 정보를 공개하고 구매 시 월별 청구 계획을 선택할 수 있으며 거래 및 갱신 정보의 의무 정보를 반환합니다.

월별 청구를 선호하는 사용자가 여전히 연간 계약의 유지를하고 예측 가능성을 원하는 연간 구독 제안에 사용하세요.

  • App Store Connect 또는 Xcode의 StoreKit 테스트에서 월별 12개월 의무 청구 계획을 구성하세요.
  • iOS 앱을 Xcode SDK로 빌드하여 StoreKit을 포함하세요. pricingTermsbillingPlanType.
  • StoreKit 약정 결제 계획을 지원하는 iOS 버전에서 실행하세요.
  • StoreKit 약정 결제 계획을 지원하지 않는 장치 또는 스토어 하우스에 대해 표준 결제 옵션을 유지하세요.

가격 정보를 로드하고 표시하세요.

가격 정보를 로드하고 표시하는 방법

일반적으로 호출하세요. iOS 구독 제품을 지원하는 경우 각 제품은 포함할 수 있습니다. getProducts() ]} pricingTerms.

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.app.premium.yearly'],
productType: PURCHASE_TYPE.SUBS,
});
const premiumYearly = products.find(
(product) => product.identifier === 'com.example.app.premium.yearly',
);
const monthlyCommitment = premiumYearly?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);

고정 가격 대신 사용자에게 표시되는 가격을 제공하여 렌더링합니다.

Field이를 사용하여
billingDisplayPrice사용자에게 표시되는 반복 청구 금액, 예를 들어 월간 요금.
billingPeriod사용자에게 표시되는 청구 주기.
commitmentInfo.priceString사용자 상점에 맞게 형식화된 총 청구 금액.
commitmentInfo.period청구 기간.
subscriptionOffers가격 항목에 첨부된 소개 또는 프로모션 제안.

예시 paywall 복사본:

function commitmentLabel(term: NonNullable<typeof monthlyCommitment>) {
const total = term.commitmentInfo?.priceString;
return total
? `${term.billingDisplayPrice} billed monthly, ${total} total commitment`
: term.billingDisplayPrice;
}

월간 약정 계획을 구매하세요.

월간 약속 계획을 구매하세요

월간 약속 계획을 선택할 때는 billingPlanType: 'monthly'.

const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.app.premium.yearly',
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
appAccountToken: userStoreUuid,
});

사용 billingPlanType: 'upFront' 표준 전면 요금 청구 계획을 명시적으로 선택해야 하는 경우에만 사용하십시오. 만약 omit billingPlanTypeStoreKit은 제품에 대한 기본 구매 동작을 사용합니다.

약속 메타데이터 읽기

약속 메타데이터를 읽으세요

거래는 StoreKit이 제공할 때 청구 계획 및 약속 진행을 포함합니다.:

if (transaction.billingPlanType === 'monthly') {
console.log('Current billing period:', transaction.commitmentInfo?.billingPeriodNumber);
console.log('Total billing periods:', transaction.commitmentInfo?.totalBillingPeriods);
console.log('Commitment ends:', transaction.commitmentInfo?.expirationDate);
console.log('Commitment total:', transaction.commitmentInfo?.price);
}

갱신 정보는 다음 약속 상태를 포함할 수 있습니다.:

const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
onlyCurrentEntitlements: true,
});
for (const purchase of purchases) {
const commitment = purchase.renewalInfo?.commitmentInfo;
if (!commitment) continue;
console.log('Renews into another commitment:', commitment.willAutoRenew);
console.log('Next billing plan:', commitment.renewalBillingPlanType);
console.log('Next renewal date:', commitment.renewalDate);
}

상위 수준의 expirationDateisActive 권한 결정에 사용하는 필드입니다. commitmentInfo.expirationDate 고객에게 전체 약속 기간을 설명하기 위해

  • 구매 전에 반복 청구 가격과 총 약속 가격을 모두 표시하세요.
  • 구매 버튼 근처에서 약속 기간을 명확하게 표시하세요.
  • 사용 product.title, product.priceString, pricingTerms[].billingDisplayPricepricingTerms[].commitmentInfo.priceString StoreKit에서 하드 코딩된 가격 대신 사용하십시오.
  • 구매를 복원하고 구독을 관리하는 액션을 결제 화면 또는 계정 화면에 제공하십시오.

iOS 월간 약속 결제 계획에서 계속하십시오.

계속하기 제목: iOS 월간 약속 결제 계획에서 계속하십시오.

사용 중인 경우 iOS 월간 약속 요금 청구 계획 결제와 구매를 계획하고 연결하려면 Using @capgo/native-purchases Using @capgo/native-purchases Capgo 가격 제품 워크플로우에서 Capgo 가격 결제 시스템 결제 시스템 구현 세부 정보 @capgo/native-purchases @capgo/native-purchases 구현 세부 정보 Getting Started Getting Started 구현 세부 정보