@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
元のアプリバージョンと対象バージョンを比較して、ユーザーが以前のビジネスモデルから特定の機能に権利があるかどうかを判断します。
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
指定された製品の購入プロセスを開始します。Androidのサブスクリプションの場合、Google PlayのベースプランIDを渡してください。 planIdentifieriOSのサポートされたサブスクリプションで、毎月の請求と12か月のコミットメントを提供する場合、次の値を渡してください。 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のサポートされたバージョンでは、StoreKitは12か月のコミットメントを含む毎月の請求プランを公開できます。 pricingTermsStoreKit
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バージョンでは、StoreKitは12か月のコミットメントを含む毎月の請求プランを公開できます。
- GitHub: https://github.com/Cap-go/capacitor-native-purchases/
- サポートされているiOSバージョンでは、StoreKitは12か月のコミットメントを含む毎月の請求プランを公開できます。
- iOS 月額コミットメントガイド: /docs/plugins/native-purchases/ios-monthly-commitment/
Keep going from Using @capgo/native-purchases
Capgo Native Purchases を使用している場合 Using @capgo/native-purchases Capgo Native Purchases を使用して支払いと購入を計画する @capgo/native-purchases for the implementation detail in @capgo/native-purchases, Capgo Native Purchases の実装詳細については Capgo Native Purchases の価格プラン Capgo Pricing for the product workflow in Capgo Pricing, Getting Started Paymentシステムの実装詳細については Revenue Playbook Revenue Playbookの実装詳細については