このプラグインは、RevenueCat公式リポジトリに移行されました。詳しくは公式ドキュメントを参照してください。 公式ドキュメント __CAPGO_KEEP_0__ Purchasesは、__CAPGO_KEEP_1__フレームワーク用のプラグインで、iOSおよびAndroid向けの内購入をサポートします。iOSとAndroidの両方で、簡単かつ一貫した__CAPGO_KEEP_2__を提供し、開発者がモバイルアプリに内購入とサブスクリプションを実装するのを容易にします。
Capacitor Purchases is a plugin for the Capacitor framework that allows in-app purchases on iOS and Android. It provides a simple and consistent API across multiple platforms, making it easy for developers to implement in-app subscriptions and purchases in their mobile apps.
One of the key features of the Capacitor Purchases plugin is that it integrates with RevenueCat, a platform that provides tools for in-app subscriptions and in-app purchases. RevenueCat simplifies the process of implementing in-app subscriptions and purchases by providing a simple and consistent API across multiple platforms, and automating tasks such as receipt validation and user management.
レシートの検証を自動化する
- ユーザーマネージメント
- カスタム価格モデルをサポートする
- カスタム価格モデルをサポートする
- 詳細な分析 -スケーラビリティ
CapgoのCapacitor購入プラグインを使用すると、RevenueCatと組み合わせて、開発者はモバイルアプリのインアプリ購入とサブスクリプションを実装する際に時間と労力を節約し、ユーザー体験を向上させ、収益を増やすのに役立つ追加機能を提供できます。
CapgoのCapacitor購入プラグインとRevenueCatを使用すると、開発者はインアプリ購入とサブスクリプションを簡単に管理し、トラッキングし、受け取りを検証し、複数のプラットフォームでユーザーを管理できます。また、カスタム価格モデルを作成し、詳細な分析を取得してパフォーマンスと収益を向上させることもできます。
インストール
Be sure to use the latest version of Capacitor and the Capacitor Purchases plugin. You can check the latest version of Capacitor and the Capacitor Purchases plugin on the Capacitor website.
CapgoのCapacitor購入プラグインをインストールするには、以下のコマンドを実行してください。
npm i @capgo/capacitor-purchases
Capgoのcodeをアプリのネイティブに追加する
npx cap sync
Xcodeでインアプリ購入機能を追加する
次に

1. RevenueCatアカウントを作成する
This guide will walk you through how to get up and running with subscriptions and RevenueCat’s SDK with only a few lines of code.
新しいRevenueCatアカウントの登録 ここ.
📘
💡 ここにヒントがあります!
RevenueCatは、各アプリ/プロジェクトごとに別々のRevenueCatアカウントを作成することをお勧めします。特に、アプリを売る予定の場合、特定のプロジェクトを個別に転送するのではなく、すべてのアカウントを転送できるため、転送プロセスが速くなります。
組織/エンタープライズ
会社アカウントを使用してRevenueCatに登録し、アプリをプロジェクト内に設定することをお勧めします。チームの残りのメンバーをプロジェクトに招待できますが、プロジェクトオーナー以外のプロジェクトコラボレーターは請求情報を管理できません。 コラボレーター ですが プロジェクトコラボレーターは請求情報を管理できません。2. プロジェクトとアプリの設定
__CAPGO_KEEP_0__ is not translated as it is in the protectedTokens list
▶️ プロジェクトを作成する
RevenueCat ダッシュボードに移動し、 新しいプロジェクトを追加する 上部ナビゲーションメニューのドロップダウンから Projects.

新しいプロジェクトを作成するためのポップアップモーダル
▶️ アプリ/プラットフォームを追加する
プロジェクト設定 > アプリ プロジェクトダッシュボードの左メニューで、追加するアプリのプラットフォームを選択する RevenueCat ステップ 2

アプリプラットフォームの選択用のプロジェクトダッシュボード
__CAPGO_KEEP_0__ アプリ名 RevenueCatにアプリを追加するには、アプリ名が必要です。残りの設定フィールドは後で追加できます。テストと本番の購入を実行するには、Bundle ID (iOS) / Package Name (Android) 以外に、Shared Secret (iOS) / Service Credentials (Android) も設定する必要があります。

Apple App Store アプリ用のアプリ設定ページ
📘
💡 ここにヒントがあります!
アプリを登録した後、RevenueCatは プラットフォームサーバー通知を設定することをお勧めしています。これらの通知は必須ではありませんが、 ウェブフック と統合の配信時間を速めるのに役立ち、サブスクライバーの更新時間を短縮します。
📘
Staging と Production アプリとユーザー
RevenueCat 自体には、Staging と Production のための別々の環境はありません。 それどころか、ユーザーの下位のトランザクションはサンドボックスと Production で区別されています。
RevenueCat の任意のアプリは、両方のサンドボックスと Production の購入をストアから行うことができます。 また、Staging と Production のための別々のアプリがある場合、RevenueCat では、複数のプロジェクトを作成して、設定をミラーリングすることができます。
さらに、ユーザーは環境によって区別されていません。 同じユーザーは、同時にサンドボックスと Production の購入を有効に保つことができます。
▶️ Service Credentials
Service credentials は、RevenueCat があなたのアプリストアに代わって通信するために設定する必要があります。 さらに詳しくは、RevenueCat のガイドを参照してください。 App Store Connect Shared Secret, Play Service CredentialsAmazon Appstore Shared Secret Note that play service credentials can take up to 36 hours to propagate throughout Google’s servers.
__CAPGO_KEEP_0__
3. 商品設定
▶️ 店舗設定
RevenueCatを使用して製品を取得する前に、製品をそれぞれの店舗で設定する必要があります。以下のガイドを参照してください。 App Store Connect, Google Play Console, Amazon Appstore、および Stripe iOS製品を販売している場合、'有料アプリケーション契約'に署名し、App Store Connect > 契約、税金、銀行口座 > で銀行口座と税金情報を入力することを確認してください。
App Store Connect > 契約、税金、銀行口座 このプロセスを完了する必要があります。購入テストを行う前に. __CAPGO_KEEP_0__.
📘
ストアのセットアップをスキップしたい場合は?
iOSでは、App Store Connectで製品を設定するのを遅らせることができます。StoreKit Configurationファイルを使ってテストするのです。これらの設定ファイルは、Xcodeを直接使って設定するだけで済みます。
RevenueCatでStoreKit Configurationファイルの設定方法についてもっと読む サンドボックステスト ガイド。
▶️ RevenueCatで製品と特典を設定する
あなたのインアプリ製品が App Store Connect, Google Play Console, Amazon Appstore、または Stripe、RevenueCat ダッシュボードにその設定をコピーする必要があります。RevenueCat は、プレミアム機能へのアクセスを制御する Entitlements システムと、顧客に提供する製品のセットを管理する Offerings を使用します。
Entitlements は、特定の製品を購入した顧客が「有資格」であるレベルです。 Offerings は、Paywall に表示するインアプリ製品を簡単に組織化し、リモートで設定する方法です。RevenueCat は、 これらの機能を利用して、__CAPGO_KEEP_0__ を簡素化し、製品を変更することなくアプリの更新をリリースしなくても済むようにすることをお勧めします。 utilizing these features to simplify your code and enable you to change products without releasing an app update.
製品を設定し、Offerings または Entitlements に組織化する方法を参照してください。 RevenueCat のステップ 4 4. RevenueCat の Purchases __CAPGO_KEEP_0__ を使用します。

問題が発生した場合は、SDK を参照してください。
RevenueCat SDK seamlessly implements purchases and subscriptions across platforms while syncing tokens with the RevenueCat server.
If you run into issues with the SDK, see Troubleshooting the SDKs ガイドラインの参照に。
📘
購入設定の際は、パブリック SDK キーのみを使用してください。
SDK キーは、ダッシュボードの "プロジェクト設定" の下にある "SDK キー" から取得できます。 API キー ダッシュボードの "プロジェクト設定" の下にある "__CAPGO_KEEP_0__ キー" プロジェクト設定 ダッシュボード
購入設定の際は、共有インスタンスの "Purchases" を一度だけ、通常はアプリ起動時に設定してください。アプリ内で、インスタンスを取得することで、同じインスタンスをアプリ全体で共有できます。 Purchases instance .shared instance in the SDK.
RevenueCat のガイドラインを参照してください。 Configuring SDK 詳細情報とベストプラクティスについてはこちらを参照してください。
開発環境では、RevenueCatが推奨するより詳細なデバッグログを有効にしてください。デバッグログについての詳細はこちらを参照してください。 購入 with your public SDK key only. You can read more about the different API keys available in RevenueCat 購入.
import { CapacitorPurchases } from '@capgo/capacitor-purchases'
import { isPlatform } from '@ionic/vue' // use the right one for your framework
CapacitorPurchases.setDebugLogsEnabled({ enabled: import.meta.env.DEV }) // Enable to get debug logs in dev mode
if (isPlatform('ios')) {
CapacitorPurchases.setup({ apiKey:'appl_******'})
} else if (isPlatform('android')) {
CapacitorPurchases.setup({ apiKey:'goog_******'})
}
RevenueCatの「Observer Mode」ガイドを参照してください。 購入 購入
If you’re planning to use RevenueCat alongside your existing purchase code, refer to their guide on 購入.
📘
購入
アプリ内でユーザー認証システムがある場合、設定時または後日、
.logIn()を呼び出すことでユーザーIDを提供できます。 詳細は、.
The SDK will automatically fetch the ユーザーを識別する Capgoは自動的に
に設定されたオファリングを取得し、Apple、Google、またはAmazonから製品情報を取得します。 したがって、顧客が購入画面を起動するときに利用可能な製品はすでにロードされています。 オファリングを取得する例は以下のとおりです。オファリングを利用して、支払い壁画面を整理することができます。詳細とベストプラクティスについては、 のガイドを参照してください。
▶️ 利用可能な製品を取得して表示する
📘
ユーザーIDを使用した購入の設定
アプリ内でユーザー認証システムがある場合、設定時または後日、
.logIn(). Apple, Google, Amazon の提供するオファリングを自動で取得し、Apple, Google, Amazon から製品情報を取得します。 したがって、顧客が購入画面を起動すると既に利用可能な製品がロードされます。 ユーザーを識別する.
SDK は、Apple, Google, Amazon の設定されたオファリングを自動で取得し、製品情報を Apple, Google, Amazon から取得します。 設定されたオファリング Apple, Google, Amazon から製品情報を取得します。
以下はオファリングを取得する例です。オファリングを利用して、支払い壁画面を整理できます。詳細とベストプラクティスについては、 製品を表示する オファリング
const { offerings } = await CapacitorPurchases.getOfferings()
if (offerings.current !== null) {
// Display current offering with offerings.current
}
製品 オファリング, 製品オファリング パッケージ は空です。これは、各ストアの設定問題によるものです。
App Store Connect の場合、このような問題の最も一般的な原因は、更新されていない '有料アプリケーション契約' または、少なくとも '送信可能' である 'Ready To Submit' の状態にない製品です。Google Play の場合、通常、クローズド トラックにアプリが公開されていないか、有効なテストユーザーが追加されていない場合に発生します。
RevenueCat のヘルプセンターで、この問題をトラブルシューティングする方法についての詳細情報を参照してください。 購入を行う.
The __CAPGO_KEEP_0__ は、購入を容易にするためのシンプルなメソッドを含みます。
The SDK includes a simple method for facilitating purchases. The purchase:package 以下の __CAPGO_KEEP_0__ のサンプルは、パッケージを購入し、「your_entitlement_id」コンテンツがアンロックされることを確認するプロセスを示しています。購入方法の詳細については、RevenueCat の "Making Purchases" のガイドを参照してください。
The code sample below shows the process of purchasing a package and confirming it unlocks the “your_entitlement_id” content. More details about the purchase:package ▶️ ▶️.
const purchase = async (p: Package): Promise<PurchaserInfo | null> => {
try {
// console.log('purchase', p)
const data = await CapacitorPurchases.purchasePackage({
identifier: p.identifier,
offeringIdentifier: p.offeringIdentifier,
})
const purchaserInfo = data.purchaserInfo
// console.log('listenBuy', purchaserInfo)
if (purchaserInfo.activeSubscriptions.includes(p.identifier)) {
// set the user as paid
}
return purchaserInfo
}
catch (e) {
console.error('listenBuy error', e)
}
return null
}
▶️
このメソッドを使用して、最新の状態を取得する必要がある場合、またはアプリのライフサイクル全体で繰り返し呼び出すことが安全な場合は、いつでも呼び出すことができます。 購入 自動的に最新のデータをキャッシュし、更新されるたびにキャッシュから取得するため、ほとんどの場合、このメソッドはキャッシュから取得し、非常に高速に実行されます。 CustomerInfo ユーザーに表示するUIを決定する際や、特定の特典レベルが必要なアクションを実行したときに、このメソッドを呼び出すことが一般的です。
💡 ここにヒントがあります。
📘
サブスクリプションのステータスについては、ただ有効か無効かの情報だけではなく、サブスクリプションが更新されるように設定されているか、ユーザーのクレジットカードに問題が発生しているかなど、さらに多くの情報を取得できます。詳細は
サブスクリプションステータス を参照してください。 RevenueCatは、ユーザーが以前購入したコンテンツを再活性化できるように、同一のストアアカウント (Apple、Google、またはAmazonアカウント) から購入したものを含む、インアプリ購入を復元する機能を提供します。すべてのアプリには、ユーザーが復元メソッドをトリガーできる方法が必要です。ただし、Appleは、ユーザーが購入アクセスを失う場合 (例: アプリをアンインストール/再インストール、ユーザー情報を失うなど) に復元メカニズムが必要であることを要求しています。
RevenueCatは、ユーザーが以前購入したコンテンツを再活性化できるように、同一のストアアカウント (Apple、Google、またはAmazonアカウント) から購入したものを含む、インアプリ購入を復元する機能を提供します。 すべてのアプリには、ユーザーが復元メソッドをトリガーできる方法が必要です。ただし、Appleは、ユーザーが購入アクセスを失う場合 (例: アプリをアンインストール/再インストール、ユーザー情報を失うなど) に復元メカニズムが必要であることを要求しています。 すべてのアプリには、ユーザーが復元メソッドをトリガーできる方法が必要です。ただし、Appleは、ユーザーが購入アクセスを失う場合 (例: アプリをアンインストール/再インストール、ユーザー情報を失うなど) に復元メカニズムが必要であることを要求しています。
const res = await CapacitorPurchases.restoreTransactions()
const purchaserInfo = res.purchaserInfo
const ids: string[] = [] // extract active subscriptions ids
purchaserInfo.activeSubscriptions.forEach((id) => {
ids.push(id)
})
異なる App ユーザー ID __CAPGO_KEEP_0__ から同じ基盤ストアアカウント (Apple、Google、またはAmazon アカウント) からトランザクションを復元します。 RevenueCat は、2 つの App ユーザー ID 間にエイリアスを作成し、以降は両方を同じユーザーとしてカウントする可能性があります。RevenueCat のガイド "Restoring Purchases" を参照してください。 Restoring Purchases 異なる構成可能な復元動作についての詳細情報については、
Since the SDK works seamlessly on any platform, changes to a user’s purchase info may come from a variety of sources. You can respond to any changes in a customer’s CustomerInfo __CAPGO_KEEP_0__ は、どのプラットフォームでも平滑に動作するため、ユーザーの購入情報の変更は、さまざまなソースから来る可能性があります。ユーザーの購入情報の変更に応じて、 purchases:receivedUpdated:.
This method will fire whenever the SDK receives an updated CustomerInfo メソッドが実行されます。このメソッドは、 getCustomerInfo(), purchase(package:), purchase(product:)の呼び出し、または restorePurchases().
から更新された オブジェクトを受信したときに発火します。 RevenueCatのバックエンドからアプリにプッシュされた更新は、上記で説明されているように、RevenueCatへのアウトバウンドネットワークリクエストのみで行うことができます。
あなたのアプリによっては、デリゲートを無視し、次回アプリが起動したときやSDKメソッドの完了ブロックで顧客情報の変更をハンドルするだけで十分かもしれません。
CapacitorPurchases.addListener('purchasesUpdate', (data) => {
console.log('purchasesUpdate', data)
})
👍
おめでとう!
あなたは、サーバーcodeを1か月間書くことなく、完全機能するサブスクリプション購入システムを実装したことになります。
サンプルアプリ
RevenueCatサンプルアプリのリソースにアクセスして、SDKを完全に統合したサンプルアプリをダウンロードしてください。
CapacitorとVue.jsを使用したサンプルアプリをすぐに公開する予定です。
Capacitorの深い使用を実施する場合は、SDKを確認してください。 ここ.
次のステップ
\
- あなたの製品が正しく設定されていることを確認するには、RevenueCatを確認してください。 特権に関するガイド.
- あなた自身のユーザーIDを使用したい場合は、 アプリのユーザーIDを設定する方法について .
- RevenueCatから他のシステムに移行する場合は、 既存のサブスクリプションを移行する方法についてのRevenueCatガイド.
- インテグレーションをテストする準備ができたら、 RevenueCatガイド.
- App Store Small Business Programの資格がある場合は、 RevenueCatガイド
アプリにライブ更新が必要な場合は
ここから参加してください 👇