メインコンテンツへスキップ
@capgo/native-purchases コマース オープンソース

Capgo Native Purchases Capacitor プラグイン

シンプルな API で、ネイティブのアプリ内購入、サブスクリプション、iOS StoreKit のコミットメント請求プランを実装

インストール

bun add @capgo/native-purchases bunx cap sync
npm、pnpm、または yarn
  • npm install @capgo/native-purchases
  • pnpm add @capgo/native-purchases
  • yarn add @capgo/native-purchases

ガイド

Capacitor で Native Purchases を使う方法

@capgo/native-purchases を使用する

アプリ内サブスクリプションをより簡単に。

インストール

bun add @capgo/native-purchases
bunx cap sync

このプラグインで利用可能な機能

  • restorePurchases - ユーザーの以前の購入情報を復元し、それらを使用している他のユーザーの appUserIDs と紐付けます。
  • getAppTransaction - App Transaction 情報を取得します。これにより、ユーザーが最初にアプリをダウンロードまたは購入した詳細がわかります。
  • isEntitledToOldBusinessModel - App Transaction の元のアプリバージョンとターゲットバージョンを比較し、ユーザーが以前のビジネスモデルの機能を利用できる権利があるか判断します。
  • getProducts - サポートされている iOS サブスクリプションの価格条件を含む、ストア製品のメタデータをロードします。
  • purchaseProduct - 選択した製品と請求プランの購入プロセスを開始します。

使用例

restorePurchases

ユーザーの以前の購入情報を復元し、それらを使用している他のユーザーの appUserIDs と紐付けます。

import { NativePurchases } from '@capgo/native-purchases';

await NativePurchases.restorePurchases();

getAppTransaction

App Transaction 情報を取得します。これにより、ユーザーが最初にアプリをダウンロードまたは購入した詳細がわかります。

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

App Transaction の元のアプリバージョンとターゲットバージョンを比較し、ユーザーが以前のビジネスモデルの機能を利用できる権利があるか判断します。

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 を planIdentifier渡してください。12ヶ月の継続利用を条件とした月額請求のサポート対象 iOS サブスクリプションの場合は、 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ヶ月の継続契約を含む月額請求プランを公開できます。 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/native-purchases の使用方法から進む

使用している場合 @capgo/native-purchases を使用する 支払いや購入を計画するには、これを以下と連携させます @capgo/native-purchases @capgo/native-purchases の実装の詳細については、 スタートガイド スタートガイドの実装詳細については、 Capgo の料金 Capgo の料金ページのプロダクトワークフローについては、 決済システム 決済システムの実装詳細については、 収益化プレイブック 実装の詳細については Revenue Playbook を参照してください。

よくある質問

Native Purchases プラグイン FAQ

Capacitor アプリに Native Purchases プラグインをインストールするにはどうすればよいですか?

「bun add @capgo/native-purchases」(または「npm install @capgo/native-purchases」)を実行し、続けて「bunx cap sync」を実行すると、iOS と Android のプロジェクトにネイティブの code が反映されます。あとはアプリの code で「@capgo/native-purchases」からインポートしてください。

@capgo/native-purchases は React、Vue、Angular で動作しますか?

はい。Native Purchases は Capacitor パッケージなので、Ionic、React、Vue、Angular、Svelte、素の JavaScript など、Capacitor 上で動くあらゆる Web フレームワークで動作します。

@capgo/native-purchases はどの Capacitor バージョンをサポートしていますか?

Capgo プラグインは Capacitor のメジャーバージョンに合わせています。使用している Capacitor のメジャーバージョンに一致するプラグインのメジャーバージョンを使ってください (例: Capacitor 8 ならプラグイン v8)。GitHub の README にある互換性テーブルに、メンテナンス中のバージョンが記載されています。

@capgo/native-purchases は無料でオープンソースですか?

はい。code のソースコードは GitHub の https://github.com/Cap-go/capacitor-native-purchases/ で公開されており、npm から無料でインストールできます。バグ報告やプルリクエストもお待ちしています。

App Store の審査なしで、Native Purchases を使用している code をアップデートできますか?

プラグインのインストールやアップグレードはネイティブの code を変更するため、新しいストアビルドが必要です。その後は、プラグインを呼び出す JavaScript、HTML、CSS の変更を Capgo Live Updates で即座に配信できます。

アプリ審査を待たずにNative Purchasesの変更を配信

プラグインをストア用ビルドに組み込めば、Capgo live updates で JavaScript、HTML、CSS の変更を数分でユーザーに配信できます

Capgo から始める