アプリ内にRevenueeCat ペイウォール(アプリ内での購入画面)を表示するには、RevenueCatUI SDK を使用します。 **次のような場合に使用:** - ユーザーがペイウォールの追加をリクエストした - RevenueCat ペイウォールを表示したい - PaywallView を表示したい - RevenueCatUI を統合したい - プレミアム機能の画面をペイウォールで保護したい - PaywallActivity を起動したい - presentPaywall または presentPaywallIfNeeded を呼び出したい - ダッシュボードで設定したペイウォール UI をiOS、Android、Kotlin Multiplatform、Flutter、React Native で表示したい
Display a RevenueCat paywall inside an app using the RevenueCatUI SDK. Use when the user asks to add a paywall, show a RevenueCat paywall, present PaywallView, integrate RevenueCatUI, gate a premium screen with a paywall, launch PaywallActivity, call presentPaywall or presentPaywallIfNeeded, or show the dashboard configured paywall UI on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.
次のような場合に使用:
ユーザーが RevenueCat ダッシュボードで構築・設定されたペイウォールを、ネイティブの RevenueCatUI コンポーネントを使って表示したい場合。
このスキルはカスタムペイウォールをゼロから構築することはカバーしていません。
その場合は revenuecat-purchase-flow(利用可能な場合)と Purchases.getOfferings(…) を直接使用してください。
前提条件: integrate-revenuecat が既に実行済みであること。
ペイウォールをロードする前に Purchases.configure(…) が正常に完了している必要があります。
作業ディレクトリを確認し、上から順に最初に一致したものを選択してください:
package.json に react-native-purchases のエントリがあるか、react-native が依存関係に含まれている。ペイウォールパッケージは react-native-purchases-ui。platforms/react-native.md を参照。expo も依存関係にある場合は、Expo プロジェクトとして記録してください。pubspec.yaml が存在する。ペイウォールパッケージは purchases_ui_flutter。platforms/flutter.md を参照。build.gradle.kts に kotlin { … } マルチプラットフォームソースセットブロックが含まれているか、com.revenuecat.purchases:purchases-kmp* に依存している。ペイウォールモジュールは purchases-kmp-ui。platforms/kmp.md を参照。build.gradle(.kts) が com.android.application を適用している(かつ KMP ではない)。ペイウォールの依存関係は com.revenuecat.purchases:purchases-ui。platforms/android.md を参照。Package.swift、*.xcodeproj、*.xcworkspace、または Podfile が存在する。ペイウォールのプロダクトは RevenueCatUI。platforms/ios.md を参照。複数が一致する場合(例: Flutter プロジェクト内の ios/ フォルダ)は、ビルドを管理している最も外側のプロジェクトを選択してください。
それでも判断できない場合は、どのプラットフォームを設定するかユーザーに確認してください。
ペイウォールを表示するには、RevenueCat ダッシュボードでペイウォールが紐づけられた Offering が必要です。
SDK は getOfferings() を通じて Offering を取得します。
ペイウォールが設定されていない Offering しか存在しない場合、RevenueCatUI はデフォルトのペイウォールレイアウトにフォールバックしますが、これは本番環境では望ましくありません。
Offering とエンタイトルメントの違い。
ユーザーは Offering 内のパッケージを通じてプロダクトを購入します。
アクセス権はエンタイトルメント(通常は "premium" または "pro")によって付与されます。
プレミアム機能のゲートはエンタイトルメントに基づいて行い、Offering には基づかないでください。
3 つの表示パターン:
RevenueCatUI が購入フローを管理します。
RevenueCatUI のペイウォールと並行して Purchases.purchase(…) を手動で呼び出さないでください。
ペイウォールが内部で呼び出します。
アプリコード側では、dismissコールバックまたは購入完了コールバックを待ち受けて処理を行ってください。
閉じるボタンはほとんどのプラットフォームでオプトイン方式です。
ペイウォールをモーダルで表示し、ユーザーが閉じられるようにする場合は、
displayCloseButton = true(iOS / Flutter / RN)または setShouldDisplayDismissButton(true)(Android / KMP)を渡してください。
シートのグラバーが別途ある場合や、ナビゲーションコントローラーでペイウォールをラップしている場合は省略してください。
アプリが完全なカスタム UI を必要とする場合は、このスキルを使用しないでください。
Purchases.getOfferings() を呼び出し、独自のコンポーネントをレンダリングしてください。
RevenueCatUI はダッシュボードのテンプレートを使用したペイウォール専用です。
検出結果に対応するプラットフォームファイルを参照してください:
platforms/ios.mdplatforms/android.mdplatforms/kmp.mdplatforms/flutter.mdplatforms/react-native.md各プラットフォームファイルは自己完結しています: インストールコマンド、ペイウォールを表示するための正確なスニペット、および待ち受けるコールバックの形式が記載されています。
以下がすべて確認できるまで、インテグレーションが完了したと宣言しないでください:
PURCHASED 結果で解決されること)。テンプレートではなくデフォルトのフォールバックレイアウトが表示された場合、その Offering にはダッシュボードでペイウォールが紐づけられていません。 ダッシュボードで修正してから再試行してください。
Use this skill when the user wants to show a paywall that is built and configured in the RevenueCat dashboard, using the native RevenueCatUI components. This skill does not cover building a custom paywall from scratch. For that, use revenuecat-purchase-flow (when available) and Purchases.getOfferings(…) directly.
Prerequisite: integrate-revenuecat has already run. Purchases.configure(…) must succeed before a paywall can load.
Inspect the working directory and pick the first match, from top to bottom:
package.json has a react-native-purchases entry, or react-native as a dependency. react-native-purchases-ui is the paywall package. Read platforms/react-native.md. If expo is also a dependency, note it as an Expo project.pubspec.yaml exists at the project root. The paywall package is purchases_ui_flutter. Read platforms/flutter.md.build.gradle.kts contains a kotlin { … } multiplatform source sets block, or depends on com.revenuecat.purchases:purchases-kmp*. The paywall module is purchases-kmp-ui. Read platforms/kmp.md.build.gradle(.kts) applies com.android.application (and is not KMP). The paywall dependency is com.revenuecat.purchases:purchases-ui. Read platforms/android.md.Package.swift, *.xcodeproj, *.xcworkspace, or Podfile at the project root. The paywall product is RevenueCatUI. Read platforms/ios.md.If several match (e.g. an ios/ folder inside a Flutter project), pick the outermost project, the one that owns the build. If still ambiguous, ask the user which platform they want to configure.
getOfferings(). If no offering has a paywall configured, RevenueCatUI falls back to a default paywall layout, which is not what you want in production."premium" or "pro"). Gate premium features on the entitlement, not on the offering.Purchases.purchase(…) manually alongside a RevenueCatUI paywall. The paywall calls it internally. Listen for the dismiss or purchase completed callback to react in app code.displayCloseButton = true (iOS / Flutter / RN) or setShouldDisplayDismissButton(true) (Android / KMP) when the paywall is presented modally and the user needs a way out. Skip it when presenting behind a sheet with its own grabber, or when wrapping the paywall in a navigation controller.Purchases.getOfferings() and render your own components. RevenueCatUI is only for dashboard templated paywalls.Read the platform file that matches detection:
platforms/ios.mdplatforms/android.mdplatforms/kmp.mdplatforms/flutter.mdplatforms/react-native.mdEach platform file is self contained: install command, exact snippet to present the paywall, and the callback shape you listen to.
Do not claim the integration is complete until:
PURCHASED result).If the paywall shows the default fallback layout instead of your template, the offering does not have a paywall attached in the dashboard. Fix this in the dashboard, then retry.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。