コンテンツにスキップ

iOS 月額コミットメント請求プラン

Appleは、顧客に12か月間の契約を約束しながら、毎月請求するサブスクリプションをサポートしています。StoreKitと実行中のOSがこの請求計画をサポートする場合、 @capgo/native-purchases 価格条件を公開し、購入時に月額請求計画を選択し、取引と更新情報のコミットメントメタデータを返します。

年間サブスクリプションのオファーに使用してください。ユーザーが毎月の支払いを好みますが、還元と予測可能性のある12か月間のコミットメントの年間サブスクリプションを維持したい場合。

  • App Store ConnectまたはXcodeのStoreKitテストで、月額請求と12か月間のコミットメントの請求計画を設定してください。
  • XcodeのSDKでiOSアプリをビルドし、StoreKitと pricingTerms iOSバージョンで実行してください。StoreKitコミットメント請求計画をサポートします。 billingPlanType.
  • 要件
  • __CAPGO_KEEP_0__の標準の請求オプションを、コミットメント価格の条件を返さないデバイスやストアフロントに常に用意してください。

呼び出し getProducts() 通常通り呼び出してください。サポートされているiOSのサブスクリプション製品ごとに、各製品には 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',
);

ストアから提供された値を代わりにハードコードされた価格で表示する:

ハードコードされた価格の代わりにストアから提供された値を表示するフィールド使用する
billingDisplayPrice__CAPGO_KEEP_0__
billingPeriod__CAPGO_KEEP_0__
commitmentInfo.priceString__CAPGO_KEEP_0__
commitmentInfo.period__CAPGO_KEEP_0__
subscriptionOffers__CAPGO_KEEP_0__

例:月額課金

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,
});

使用するには、明示的に標準の前払い請求計画を選択する必要がある場合のみです。 その場合を省略すると、StoreKitは製品の購入動作を使用します。 billingPlanType: 'upFront' 標準の前払い請求計画を選択する必要がある場合のみ使用してください。 その場合を省略すると、StoreKitは製品の購入動作を使用します。 billingPlanTypeヒント

トランザクションには、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);
}

__CAPGO_KEEP_1__ expirationDateisActive 特典決定のためのフィールドを使用してください。 commitmentInfo.expirationDate 購入者にフルコミットメントのタイムラインを説明するために使用してください。

  • 購入前に、繰り返し請求価格と合計コミットメント価格を表示してください。
  • 購入ボタン近くでコミットメント期間を明示的に表示してください。
  • __CAPGO_KEEP_2__ product.title, product.priceString, pricingTerms[].billingDisplayPrice__CAPGO_KEEP_3__ pricingTerms[].commitmentInfo.priceString StoreKitからハードコードされた価格の代わりに価格を取得してください。
  • iOS 月額コミットメント請求計画で支払いと購入を計画する場合、@__CAPGO_KEEP_0__/native-purchasesと接続します。

iOS 月額コミットメント請求計画から進む

「iOS 月額コミットメント請求計画から進む」セクション

__CAPGO_KEEP_0__/native-purchasesを使用している場合 iOS 月額コミットメント請求計画 __CAPGO_KEEP_0__/native-purchasesと接続する 使用中のcapgo/native-purchases native capabilityの使用に@capgo/native-purchasesを使用します。 Capgoの価格設定 native capabilityの製品ワークフローにCapgoの価格設定を使用します。 決済システム native capabilityの実装詳細に決済システムを使用します。 @capgo/native-purchases @capgo/native-purchasesの実装詳細を使用します。 Getting Started Getting Startedの実装詳細を使用します。