AIアシスタントを使ってAdaptyをFlutterアプリに統合する
このガイドでは、AIコーディングツールを使ってAdaptyをFlutterアプリにステップバイステップで統合する方法を説明します。適切なAdaptyドキュメントを正しい順序でAIに渡していきます。
始める前に:ダッシュボードの設定
AdaptyはSDKのコードを書く前に、ダッシュボードでいくつかの設定が必要です。インタラクティブなLLMスキルを使うか、ダッシュボードで手動設定するかを選べます。
スキルを使う方法(推奨)
Adapty CLIスキルを使うと、LLMがダッシュボードを開かずに直接アプリ、プロダクト、アクセスレベル、ペイウォール、プレースメントを設定できます。必要なのは、ダッシュボードでストアを接続することだけです。
npx skills add adaptyteam/adapty-cli --skill adapty-cli
スキルを追加したら、エージェントで /adapty-cli を実行します。ダッシュボードでストアを接続するタイミングも含め、各ステップをガイドしてくれます。
ダッシュボードを使う方法
手動で設定したい場合は、コードを書く前に以下の手順を完了させてください。ダッシュボードの値はLLMが調べることはできないため、自分で用意する必要があります。
-
ストアを接続する: Adapty ダッシュボードで App settings → General に移動します。FlutterアプリがiOSとAndroidの両方を対象としている場合は、App StoreとGoogle Playの両方を接続してください。購入機能を動作させるために必要です。 ストアを接続する
-
Public SDKキーをコピーする: Adapty ダッシュボードで App settings → General に移動し、API keys セクションを確認します。コードでは、このキーをAdapty設定に渡します。
-
プロダクトを1つ以上作成する: Adapty ダッシュボードで Products ページに移動します。コードでプロダクトを直接参照することはなく、Adaptyはペイウォールごしにプロダクトをデリバリーします。 プロダクトを追加する
-
ペイウォールとプレースメントを作成する: Adapty ダッシュボードで Paywalls ページにペイウォールを作成し、Placements ページでプレースメントに割り当てます。コードでは、プレースメントIDを
Adapty().getPaywall()に渡す文字列として使います。 ペイウォールを作成する -
アクセスレベルを設定する: Adapty ダッシュボードの Products ページでプロダクトごとに設定します。コードでは
profile.accessLevels['premium']?.isActiveでチェックする文字列です。デフォルトのpremiumアクセスレベルはほとんどのアプリで使えます。プロダクトによって利用できる機能が異なる場合(たとえばbasicプランとproプラン)は、コーディングを始める前に追加のアクセスレベルを作成してください。
この5つが揃えばコードを書く準備は完了です。LLMに「Public SDKキーはX、プレースメントIDはY」と伝えることで、正確な初期化とペイウォール取得コードを生成してもらえます。
準備ができたら設定するもの
これらはコーディングを始めるために必須ではありませんが、統合が進むにつれて必要になります。
- A/Bテスト: Placements ページで設定します。コードの変更は不要です。 A/Bテスト
- 追加のペイウォールとプレースメント: 異なるプレースメントIDで
getPaywallの呼び出しを追加します。 - アナリティクス統合: Integrations ページで設定します。統合によって手順が異なります。アナリティクス統合およびアトリビューション統合を参照してください。
AdaptyドキュメントをLLMに渡す
Context7を使う(推奨)
Context7は、LLMに最新のAdaptyドキュメントへの直接アクセスを提供するMCPサーバーです。質問内容に応じて適切なドキュメントをLLMが自動的に取得するため、URLを手動でペーストする必要はありません。
Context7はCursor、Claude Code、Windsurf、その他のMCP対応ツールで動作します。セットアップするには次を実行します。
npx ctx7 setup
これにより、エディタを自動検出してContext7サーバーを設定します。手動でのセットアップはContext7 GitHubリポジトリを参照してください。
設定が完了したら、プロンプトでAdaptyライブラリを参照します。
Use the adaptyteam/adapty-docs library to look up how to install the Flutter SDK
Context7を使えばドキュメントリンクを手動でペーストする必要はなくなりますが、実装の順序は重要です。すべてが正しく動作するよう、以下の実装ウォークスルーをステップごとに進めてください。
プレーンテキストのドキュメントを使う
AdaptyのドキュメントはプレーンテキストのMarkdownとして取得できます。URLの末尾に .md を追加するか、記事タイトルの下にある Copy for LLM をクリックしてください。例: adapty-cursor-flutter.md
以下の実装ウォークスルーの各ステージには「LLMに送る」ブロックがあり、ペーストできる .md リンクが含まれています。
まとめて多くのドキュメントが必要な場合は、以下のインデックスファイルとプラットフォーム別サブセットを参照してください。
実装ウォークスルー
このガイドの残りの部分では、実装の順序でAdaptyの統合を進めます。各ステージには、LLMに送るドキュメント、完了時に確認できること、よくある問題が含まれています。
統合の計画を立てる
コードを書き始める前に、LLMにプロジェクトを分析させて実装計画を作成してもらいましょう。AIツールに計画モード(CursorやClaude Codeのプランモードなど)がある場合は活用してください。コードを書く前にLLMがプロジェクト構造とAdaptyドキュメントの両方を読めます。
購入に使うアプローチをLLMに伝えてください。これにより、参照するガイドが変わります。
- Adapty ペイウォールビルダー: Adaptyのノーコードビルダーでペイウォールを作成し、SDKが自動的にレンダリングします。
- 手動作成のペイウォール: 独自のペイウォールUIをコードで構築しつつ、プロダクトの取得と購入処理にAdaptyを使います。
- オブザーバーモード: 既存の購入インフラをそのまま使い、アナリティクスと統合にのみAdaptyを使います。
どれを選べばよいかわからない場合は、クイックスタートの比較表を参照してください。
SDKのインストールと設定
flutter pub add でAdapty SDKの依存関係を追加し、Public SDKキーで有効化します。これが基盤となり、ここなしには何も動きません。
ガイド: Adapty SDKのインストールと設定
LLMに送る内容:
Read these Adapty docs before writing code:
- https://adapty.io/docs/ja/sdk-installation-flutter.md
チェックポイント
- 期待される結果: アプリがiOSとAndroidの両方でビルド・起動する。デバッグコンソールにAdaptyのアクティベーションログが表示される。
- 注意点: 「Public API key is missing」→ プレースホルダーをApp settingsの実際のキーに置き換えたか確認する。
ペイウォールの表示と購入の処理
プレースメントIDでペイウォールを取得し、表示して、購入イベントを処理します。必要なガイドは購入の処理方法によって異なります。
進める中でサンドボックスでの購入テストを都度行ってください。最後まで待たないようにしましょう。設定手順はサンドボックスで購入テストするを参照してください。
サブスクリプションステータスを確認する
購入後、ユーザープロファイルのアクティブなアクセスレベルを確認してプレミアムコンテンツを制限します。
ガイド: サブスクリプションステータスを確認する
LLMに送る内容:
Read these Adapty docs before writing code:
- https://adapty.io/docs/ja/flutter-check-subscription-status.md
チェックポイント
- 期待される結果: サンドボックス購入後、
profile.accessLevels['premium']?.isActiveがtrueを返す。 - 注意点: 購入後に
accessLevelsが空 → ダッシュボードでプロダクトにアクセスレベルが割り当てられているか確認する。
ユーザーを識別する
アプリのユーザーアカウントをAdaptyプロファイルに紐付けて、デバイスをまたいで購入が維持されるようにします。
アプリに認証機能がない場合はこのステップをスキップしてください。
ガイド: ユーザーを識別する
LLMに送る内容:
Read these Adapty docs before writing code:
- https://adapty.io/docs/ja/flutter-quickstart-identify.md
チェックポイント
- 期待される結果:
Adapty().identify()を呼び出した後、ダッシュボードの Profiles セクションにカスタムユーザーIDが表示される。 - 注意点: 匿名プロファイルへのアトリビューションを防ぐため、アクティベーション後かつペイウォール取得前に
identifyを呼び出すこと。
リリースの準備をする
サンドボックスでの統合が動作したら、リリースチェックリストを確認してすべてが本番環境で問題ないことを確かめます。
ガイド: リリースチェックリスト
LLMに送る内容:
Read these Adapty docs before releasing:
- https://adapty.io/docs/ja/release-checklist.md
チェックポイント
- 期待される結果: すべてのチェックリスト項目が確認済み:ストア接続、サーバー通知、購入フロー、アクセスレベルの確認、プライバシー要件。
- 注意点: サーバー通知が未設定 → App settings → iOS SDK でApp Store Server Notificationsを設定し、App settings → Android SDK でGoogle Play Real-Time Developer Notificationsを設定する。
プレーンテキストのドキュメントインデックスファイル
個別ページを超えてLLMに広いコンテキストを提供したい場合は、すべてのAdaptyドキュメントを一覧化または統合したインデックスファイルを用意しています。
llms.txt:.mdリンクつきで全ページを一覧表示します。LLMがウェブサイトにアクセスしやすくするための新興標準です。一部のAIエージェント(ChatGPTなど)ではllms.txtをダウンロードしてチャットにファイルとしてアップロードする必要があります。llms-full.txt: Adaptyドキュメントサイト全体を1つのファイルに統合したものです。非常に大きいため、全体像が必要な場合のみ使用してください。- Flutter専用の
flutter-llms.txtとflutter-llms-full.txt: サイト全体よりもトークンを節約できるプラットフォーム別サブセットです。