Adapty Developer CLI コマンドリファレンス
この記事では、Adapty CLI のコマンド一覧を紹介します。アカウントの設定(アプリ、アクセスレベル、プロダクト、ペイウォール、フロー、プレースメント、セグメント)を行うコマンド、RevenueCat プロジェクトを移行するコマンド、Adapty スキルをインストールするコマンドと、それぞれの引数・フラグ・使用可能な値について説明します。Apple Ads キャンペーンについては、Ads Manager コマンドを参照してください。
認証のセットアップとトークン管理については、認証を参照してください。
グローバルフラグ
これらのフラグはすべてのコマンドで使用できます。
| フラグ | 説明 |
|---|---|
--json | フォーマットテキストの代わりにJSONで出力する |
--help | コマンドのヘルプを表示する |
すべての list コマンドではページネーションフラグも使用できます:
| フラグ | デフォルト | 説明 |
|---|---|---|
--page | 1 | ページ番号 |
--page-size | 20 | 1ページあたりのアイテム数(最大:100) |
アプリ
Adaptyアカウント内のアプリを管理します。ダッシュボードベースの設定については、App settingsを参照してください。
adapty apps list
Adaptyアカウント内のすべてのアプリを一覧表示します。
adapty apps list
ページネーションフラグを使用できます。
adapty apps get
特定のアプリの詳細を取得します。
adapty apps get <app-id>
| 引数 | 説明 |
|---|---|
app-id | アプリID(UUID) |
adapty apps create
新しいアプリを作成します。
adapty apps create --title "My App" --platform ios --apple-bundle-id com.example.app
| フラグ | 必須 | 説明 |
|---|---|---|
--title | はい | アプリのタイトル |
--platform | はい | プラットフォーム:ios または android。両方指定する場合は繰り返す:--platform ios --platform android |
--apple-bundle-id | --platform ios 指定時に必須 | AppleバンドルID |
--google-bundle-id | --platform android 指定時に必須 | GoogleバンドルID |
adapty apps update
既存のアプリを更新します。
adapty apps update <app-id> --title "New Name"
| 引数 | 説明 |
|---|---|
app-id | アプリID(UUID) |
| フラグ | 説明 |
|---|---|
--title | 新しいアプリタイトル |
--apple-bundle-id | 新しいAppleバンドルID |
--google-bundle-id | 新しいGoogleバンドルID |
少なくとも1つのフラグが必要です。--platform は作成後に変更できません。
アクセスレベル
adapty access-levels list
アプリのすべてのアクセスレベルを一覧表示します。
adapty access-levels list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
ページネーションフラグを使用できます。
adapty access-levels get
特定のアクセスレベルの詳細を取得します。
adapty access-levels get --app <app-id> <access-level-id>
| 引数 | 説明 |
|---|---|
access-level-id | アクセスレベルID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
adapty access-levels create
新しいアクセスレベルを作成します。
adapty access-levels create --app <app-id> --sdk-id "pro" --title "Pro"
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--sdk-id | はい | アプリコード内でアクセス確認に使用する識別子(例:"pro" や "premium") |
--title | はい | Adaptyダッシュボードに表示されるラベル |
adapty access-levels update
既存のアクセスレベルを更新します。
adapty access-levels update --app <app-id> <access-level-id> --title "Pro Access"
| 引数 | 説明 |
|---|---|
access-level-id | アクセスレベルID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--title | はい | 新しい表示ラベル |
--sdk-id は作成後に変更できません。
プロダクト
adapty products list
アプリのすべてのプロダクトを一覧表示します。
adapty products list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
ページネーションフラグを使用できます。
adapty products get
特定のプロダクトの詳細を取得します。
adapty products get --app <app-id> <product-id>
| 引数 | 説明 |
|---|---|
product-id | プロダクトID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
adapty products create
新しいプロダクトを作成します。
ストアのプロダクトIDと価格IDは作成後に変更できません。別のストアIDを使用するには、新しいプロダクトを作成してください。
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
--title | はい | プロダクトのタイトル |
--access-level-id | はい | このプロダクトがアンロックするアクセスレベル ID(UUID) |
--period | はい | サブスクリプション期間: weekly、monthly、two_months、trimonthly、semiannual、annual、lifetime |
--ios-product-id | 少なくとも1つのストアが必要 | App Store Connect のプロダクト ID |
--android-product-id | 少なくとも1つのストアが必要 | Google Play Console のプロダクト ID |
--android-base-plan-id | --period lifetime でない場合、--android-product-id と併用時に必須 | Google Play Console のベースプラン ID |
--stripe-product-id | 少なくとも1つのストアが必要 | Stripe のプロダクト ID |
--stripe-price-id | --stripe-product-id と併用時に必須 | Stripe の価格 ID |
--paddle-product-id | 少なくとも1つのストアが必要 | Paddle のプロダクト ID |
--paddle-price-id | --paddle-product-id と併用時に必須 | Paddle の価格 ID |
すべてのプロダクトには、--ios-product-id、--android-product-id、--stripe-product-id、--paddle-product-id のいずれか少なくとも1つのストアが必要です。1つのプロダクトに複数のストアのIDを同時に設定することもできます。
Stripe または Paddle を通じてウェブでプロダクトを販売するには、まず決済プロバイダーを Adapty に連携してください。詳しくは Stripe および Paddle を参照してください。これらのストアでは、プロダクトIDと価格IDをセットで指定する必要があります。どちらか一方のみを指定した場合、コマンドは失敗します。
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --stripe-product-id prod_xxx --stripe-price-id price_xxx
ウェブ専用のプロダクトも有効です。App Store や Google Play の ID を指定せず、Stripe または Paddle の ID だけでプロダクトを作成できます。
adapty products update
既存のプロダクトを更新します。
ストアのプロダクトIDおよび価格IDは作成後に変更できず、このコマンドでは利用できません。異なるストアIDを使用するには、新しいプロダクトを作成してください。
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
| 引数 | 説明 |
|---|---|
product-id | プロダクトID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--title | いいえ | プロダクトタイトル |
--access-level-id | いいえ | このプロダクトがアンロックするアクセスレベルID(UUID) |
ペイウォール
adapty paywalls list
アプリのすべてのペイウォールを一覧表示します。
adapty paywalls list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
ページネーションフラグを使用できます。
adapty paywalls get
特定のペイウォールの詳細を取得します。
adapty paywalls get --app <app-id> <paywall-id>
| 引数 | 説明 |
|---|---|
paywall-id | ペイウォールID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
adapty paywalls create
新しいペイウォールを作成します。
adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--title | はい | ペイウォールタイトル |
--product-id | はい | プロダクトID(UUID)。複数指定する場合は繰り返す:--product-id <id1> --product-id <id2> |
adapty paywalls update
既存のペイウォールのすべてのフィールドを置き換えます。
ペイウォールがプレースメントに紐付けられると、そのプロダクトは変更できません。本番稼働中のペイウォールで異なるプロダクトを使用したい場合は、新しいペイウォールを作成し、プレースメントがそちらを参照するよう更新してください。
adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>
このコマンドはプロダクトリスト全体を含む、ペイウォールのすべてのフィールドを置き換えます。
| 引数 | 説明 |
|---|---|
paywall-id | ペイウォールID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--title | はい | ペイウォールタイトル |
--product-id | はい | プロダクトID(UUID)。複数指定する場合は繰り返す:--product-id <id1> --product-id <id2> |
adapty paywalls placements
指定したペイウォールを現在使用しているすべてのプレースメントを一覧表示します。
adapty paywalls placements --app <app-id> <paywall-id>
| 引数 | 説明 |
|---|---|
paywall-id | ペイウォール ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
ペイウォールを差し替える前にこのコマンドを使用すると、影響を受けるプレースメントを確認できます。
このリストの各アイテムには is_active フィールドが含まれていません。プレースメントのアクティベーション状態を確認するには、placements list または placements get を使用してください。
フロー
フローは、フロー&ペイウォールビルダーで作成したペイウォールやオンボーディングです。CLIはフローレコード、そのビルダーコンフィグ、および公開を管理します。ビルダーコンフィグはフロー&ペイウォールビルダーが通常生成する大きなJSONドキュメントで、CLIでは生成できません。ターミナルからコンフィグを作成・編集するには、これらのコマンドを実行するflow-generatorスキルを使用してください。公開前に、flow-auditスキルがフローが本番環境に対応しているか確認します。コマンドはここにリファレンスとして記載されています。
adapty flows list
アプリのすべてのフローを一覧表示します。
adapty flows list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
ページネーションフラグを使用できます。
adapty flows get
特定のフローの詳細を取得します。
adapty flows get --app <app-id> <flow-id>
| 引数 | 説明 |
|---|---|
flow-id | フロー ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | アプリ ID(UUID) |
レスポンスには id、name、status、updated_at が含まれます。ステータスは次のいずれかです:
| ステータス | 意味 |
|---|---|
draft | フローが一度も公開されていない |
published | 現在のバージョンが公開中 |
dirty | フローは以前に公開されており、現在のバージョンに未公開の変更がある。ユーザーには最後に公開されたバージョンが表示され続ける |
publishing | 公開処理中 |
publication_failed | 最後の公開が失敗した。設定を修正して再度公開する |
archived | フローがアーカイブされている |
adapty flows create
フローを作成します。新しいフローにはフロー名があり、設定はありません。設定を追加するには、flows config update を使用してください。
adapty flows create --app <app-id> --name "Onboarding"
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
--name | はい | フロー名 |
adapty flows update
フローの名前を変更します。
adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
| 引数 | 説明 |
|---|---|
flow-id | フロー ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | アプリ ID(UUID) |
--name | Yes | 新しいフロー名 |
adapty flows publish
フローの現在のバージョンをユーザーに公開します。
adapty flows publish --app <app-id> <flow-id>
| 引数 | 説明 |
|---|---|
flow-id | フロー ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | アプリ ID(UUID) |
--yes, -y | No | 確認なしで公開します。出力がパイプされている場合や --json を使用している場合に必要です |
変更を公開するとユーザーへの表示が変わるため、コマンドはフロー名を表示して確認を求めます。y 以外の回答はすべてコマンドをキャンセルし、終了コード 1 を返します。--json オプション使用時またはパイプ経由では、回答待ちの代わりに終了コード 2 で拒否されます。スクリプトやエージェントセッションでは --yes を指定してください。
パブリッシュは非同期で行われます。レスポンスには status: publishing が返され、フローはまだライブ状態ではありません。flows get をポーリングして、ステータスが published または publication_failed になるまで待ちます。publication_failed の場合は、flows config get で原因を確認できます。
フローにコンフィグがない場合、コンフィグがパブリッシュ可能な状態でない場合、または現在のバージョンがすでにライブ状態の場合、パブリッシュは HTTP 400 で失敗します。パブリッシュ前にコンフィグを確認するには、flows config validate を使用してください。
adapty flows config get
フローのビルダー設定を読み取ります。
adapty flows config get --app <app-id> <flow-id>
| 引数 | 説明 |
|---|---|
flow-id | フロー ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
レスポンスには config、remote_configs、status、updated_at が含まれます。updated_at は最後にコンフィグが変更されたミリ秒単位のタイムスタンプです。同時編集による上書きを防ぐため、flows config update の --expected-updated-at に渡してください。コンフィグが一度も書き込まれていないフローは 404 を返します。
公開を試みた後、レスポンスにはその結果を示す 3 つのフィールドも含まれます。flows get が publication_failed を返した場合はこれらを確認してください。
| フィールド | 説明 |
|---|---|
publication_status | このフローバージョンの公開がどの段階まで進んだか:transforming、transformed、uploading、uploaded、published、または failed |
transform_error | 変換失敗の詳細 — 問題をリストアップした JSON ペイロード、またはサマリー文字列 |
publication_error | 公開失敗時の読みやすいメッセージ |
adapty flows config update
フローのビルダーコンフィグを書き込みます。
adapty flows config update --app <app-id> <flow-id> --config-file config.json
| 引数 | 説明 |
|---|---|
flow-id | フロー ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--config | どちらか一方 | JSON文字列形式のビルダーコンフィグ |
--config-file | どちらか一方 | ビルダーコンフィグが記載されたJSONファイルへのパス。-を指定するとstdinから読み込む |
--remote-configs | いいえ | {locale, data}エントリのJSON配列。dataはリモートコンフィグを文字列で指定する |
--expected-updated-at | いいえ | 事前にflows config getで取得したupdated_atの値。その読み取り後にコンフィグが変更されていた場合、上書きせずにコマンドが失敗する。無条件に上書きする場合は省略する |
コンフィグの書き込みはドラフトを保存するだけで、公開はされません。公開済みのフローに対して書き込みを行うと、新しいバージョンが作成されます。フローのステータスは dirty になり、flows publish を実行するまで、ユーザーには公開済みのバージョンが表示され続けます。
adapty flows config validate
ビルダーコンフィグが公開可能かどうかを、保存せずに確認します。
adapty flows config validate --app <app-id> <flow-id> --config-file config.json
| 引数 | 説明 |
|---|---|
flow-id | フロー ID (UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID (UUID) |
--config | どちらか一方 | JSON 文字列としてのビルダーコンフィグ |
--config-file | どちらか一方 | ビルダーコンフィグが記述された JSON ファイルのパス。- を指定すると stdin から読み込みます |
valid フィールドと issues のリストが返されます。設定が公開できない状態の場合、コマンドはコード 1 で終了するため、スクリプトでゲート処理を行えます。
adapty flows config preview
ローカルの設定ファイルをブラウザでレンダリングします。このコマンドはAPIコールを行わず、--app フラグも使用しません。
adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
| 引数 | 説明 |
|---|---|
config-file | ローカルのビルダー設定JSONファイルへのパス |
| フラグ | デフォルト | 説明 |
|---|---|---|
--screen | フローの最初の画面 | レンダリングする画面ID |
--device | iphone-14 | レンダリングするデバイスフレーム |
--orientation | portrait | portrait または landscape |
ターミナルでは、コマンドがブラウザでプレビューを開きます。パイプまたは --json を使用すると、代わりにURLを出力します。URLには設定全体が含まれるため長くなります。画面に出力するのではなく、スクリーンショットツールにパイプして使用してください。約32 KBを超える設定はレンダリングが遅くなります。
adapty flows media upload
フローのコンフィグで使用する画像をアップロードします。
adapty flows media upload --app <app-id> ./hero.png
| 引数 | 説明 |
|---|---|
file | 画像ファイルのパス |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | App ID(UUID) |
対応フォーマット:GIF、HEIC、JPEG、PNG、SVG、WebP。レスポンスには画像の id、name、およびコンフィグから参照するための CDN url が含まれます。
プレースメント
プレースメントは、フロー、ペイウォール、オンボーディングをユーザーに届ける場所です。プレースメントのコンテンツタイプは作成時に固定されるため、アプリをペイウォールからフローへ移行する場合は既存のプレースメントを更新するのではなく、新しいプレースメントを作成する必要があります。migrate-placements スキルはこれらのコマンドを使って一括で処理します。
adapty placements list
アプリのすべてのプレースメントを一覧表示します。
adapty placements list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | App ID(UUID) |
ページネーションフラグを使用できます。
各アイテムには id、developer_id、title、is_active が含まれます。is_active は有効なプレースメントの場合は true、無効の場合は false になります。
adapty placements get
特定のプレースメントの詳細を取得します。
adapty placements get --app <app-id> <placement-id>
| 引数 | 説明 |
|---|---|
placement-id | プレースメントID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
レスポンスには id、developer_id、title、is_active、および audiences 配列が含まれます。is_active はライブ中のプレースメントでは true、非アクティブな場合は false になります。各オーディエンスエントリには content_type(paywall または flow)、segment_ids、priority、および paywall_id または flow_id のいずれかが含まれます。デフォルトオーディエンスは segment_ids: [] を持ち、優先度の値が最も高く(最後に評価されます)。オーディエンスの構造を参照してください。
adapty placements create
新しいプレースメントを作成します。
adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
--title | はい | プレースメントのタイトル |
--developer-id | はい | アプリコード内でこのプレースメントをリクエストする際に使用する文字列識別子 |
--audiences | どちらか一方 | オーディエンスエントリの JSON 配列。各エントリには明示的な content_type が必要です。オーディエンスの形式を参照 |
--paywall-id | どちらか一方 | 非推奨。 ペイウォール ID(UUID)。クライアント側で単一のデフォルトオーディエンスにラップされます |
--audiences または --paywall-id のいずれか一方のみを指定してください。両方または両方とも指定しない場合はエラーになります。
--paywall-id は非推奨であり、今後削除される予定です。指定した場合、CLIはstderrに警告を出力し、値をデフォルトオーディエンスに変換します。新しい自動化処理では --audiences を使用してください。
adapty placements update
既存のプレースメントのすべてのフィールドを置き換えます。
adapty placements update --app <app-id> <placement-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
このコマンドはオーディエンスリスト全体を含む、プレースメントのすべてのフィールドを置き換えます。
| 引数 | 説明 |
|---|---|
placement-id | プレースメントID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | アプリID(UUID) |
--title | Yes | プレースメントのタイトル |
--developer-id | Yes | アプリコードでこのプレースメントをリクエストする際に使用する文字列識別子 |
--audiences | どちらか一方 | オーディエンスエントリーのJSON配列。各エントリーには明示的なcontent_typeが必要です。オーディエンスの形式を参照 |
--paywall-id | どちらか一方 | 非推奨。 ペイウォールID(UUID)。すべてのオーディエンスを単一のデフォルトオーディエンスに置き換えます |
--paywall-id を指定すると、プレースメントのすべてのオーディエンスが上書きされます。セグメント固有のオーディエンスは削除されます。それらを保持したい場合は --audiences を使用し、維持したいすべてのエントリを含めてください。
オーディエンスの形式
--audiences フラグはJSON配列を受け取ります。各エントリには以下のフィールドがあります:
| フィールド | 型 | 説明 |
|---|---|---|
content_type | string | "paywall" または "flow"。すべてのエントリで必須。1つのプレースメント内のすべてのエントリは同じ値を持つ必要があります |
segment_ids | string[] | このオーディエンスが対象とするセグメント ID。長さは0または1。空の配列はデフォルトオーディエンス(他のセグメントにマッチしないユーザーのフォールバック)を示します |
paywall_id | string | このオーディエンスのユーザーに表示されるペイウォール ID(UUID)。content_type が "paywall" の場合に必須 |
flow_id | string | このオーディエンスのユーザーに表示されるフロー ID(UUID)。content_type が "flow" の場合に必須 |
priority | number | 0始まりで、プレースメント内で一意。オーディエンスは値の低い順に評価され、デフォルトオーディエンスは最も高い値を持つ必要があります |
プレースメントには、デフォルトのオーディエンスが必ず1つ必要です。
プレースメントのコンテンツタイプは作成時に固定されるため、placements update でペイウォールのプレースメントをフローに切り替えたり、その逆を行うことはできません。フロー専用のプレースメントを作成してください。詳しくはフロー用の新しいプレースメントを作成するをご覧ください。
CLIはリクエストを送信する前にすべてのエントリを検証します。content_type が不明または未設定のエントリ、あるいは content_type に必要なIDが指定されていないエントリがある場合は、コード2で終了し、何も送信されません。
フローをアタッチできるのは、公開済みの場合のみです。draft 状態のフロー、または初回公開がまだ進行中のフローはサーバーに拒否されます。CLIはその拒否を認識し、コード2で終了し、該当フローの flows publish コマンドを表示します。フローを公開するには、flows publish または フロー & ペイウォールビルダー を使用し、ステータスが published になるまで待ちます。
ターゲットオーディエンス1つとデフォルト1つを指定した例:
adapty placements update <placement-id> --app <app-id> --title "Main" --developer-id "main" \
--audiences '[{"content_type":"paywall","segment_ids":["<vip-segment-id>"],"paywall_id":"<vip-paywall-id>","priority":0},{"content_type":"paywall","segment_ids":[],"paywall_id":"<default-paywall-id>","priority":1}]'
公開済みフローをすべてのユーザーに配信するプレースメントの例:
adapty placements create --app <app-id> --title "Onboarding" --developer-id "onboarding" \
--audiences '[{"content_type":"flow","segment_ids":[],"flow_id":"<flow-id>","priority":0}]'
複数のプレースメントにわたってペイウォールをセグメント別ルーティングを維持しながら入れ替えるには:
-
影響を受けるプレースメントを探す:
adapty paywalls placements --app <app-id> <old-paywall-id> -
それぞれについて、
audiences配列全体を取得する:adapty placements get --app <app-id> <placement-id> --json -
対象の
paywall_idの値をクライアント側で置き換える。 -
変更したペイロードを書き戻す:
adapty placements update --app <app-id> <placement-id> --title "<title>" --developer-id "<developer-id>" --audiences '<modified-payload>'
セグメント
セグメントは、プロファイルの属性によってユーザーをグループ化します。以下のコマンドを使用して、セグメントを作成したり、プレースメントオーディエンスを設定する際にセグメントIDを検索したりできます。Apple Ads のキャンペーン、広告グループ、またはキーワードからセグメントを作成するには、代わりに adapty asa segments create を使用してください。このコマンドは Apple ID を自動で検索し、Ads Manager と同じ命名規則でセグメントに名前を付けます。
adapty segments list
アプリのすべてのセグメントを一覧表示します。
adapty segments list --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
ページネーションフラグを使用できます。
adapty segments get
特定のセグメントの詳細を取得します。
adapty segments get --app <app-id> <segment-id>
| 引数 | 説明 |
|---|---|
segment-id | セグメント ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | Yes | アプリ ID(UUID) |
レスポンスには id、title、description、filters、profile_count、refresh_in_progress、created_at、updated_at が含まれます。list は id、title、description のみを返します。
adapty segments create
セグメントを1つ以上のフィルターから作成します。
adapty segments create --app <app-id> --title "US installs" --filter ip_country:IN:US --filter install_date:>=:2026-01-01
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリID(UUID) |
--title | はい | セグメントのタイトル |
--filter | はい | フィルタールール。繰り返し指定可能。フィルター構文を参照 |
--description | いいえ | セグメントの説明 |
ユーザーがセグメントに一致するのは、すべてのフィルターに一致する場合のみです。レスポンスのフィールドは segments get と同じです。profile_count は 0 から始まり、セグメント作成後にAdaptyが再計算します。
adapty segments update
既存のセグメントのタイトル、説明、フィルターを置き換えます。
adapty segments update --app <app-id> <segment-id> --title "US installs" --filter ip_country:IN:US,CA
| 引数 | 説明 |
|---|---|
segment-id | セグメント ID(UUID) |
| フラグ | 必須 | 説明 |
|---|---|---|
--app | はい | アプリ ID(UUID) |
--title | はい | セグメントのタイトル |
--filter | はい | フィルタールール。繰り返し指定可能。フィルター構文を参照 |
--description | いいえ | セグメントの説明 |
segments update はセグメント全体を置き換えます。変更するフィルターだけでなく、保持したいすべてのフィルターを渡してください。現在のフィルターを確認するには、adapty segments get --app <app-id> <segment-id> --json を実行してください。
フィルター構文
各 --filter は field:OPERATOR:value の形式で記述します。複数の値のいずれかに一致させるには、値をカンマで区切ります: ip_country:IN:US,CA。
| 演算子 | 値 | 例 |
|---|---|---|
IN, NOT IN | 1つ以上 | ip_country:NOT IN:US,CA |
>, >=, <, <= | 1つ | age:>:18 |
BETWEEN | 2つ | total_revenue_usd:BETWEEN:10,100 |
IS NULL, IS NOT NULL | なし | age:IS NULL |
数値はそのまま渡してください(例: age:>:18)。Adapty は age、total_revenue_usd、float 型のカスタム属性などの数値フィールドに対して自動的に変換します。
この短縮形で表現できない値については、フィルターを JSON オブジェクトとして渡してください:
adapty segments create --app <app-id> --title "Adults" --filter '{"field_name":"age","operator":">","value_list":[18]}'
Adapty はフィールド名、演算子、値の型を検証し、無効なフィルターごとにエラーを報告します。既存のフィルターのフィールド名と値のフォーマットを確認するには、ダッシュボードで作成したセグメントに対して adapty segments get --app <app-id> <segment-id> --json を実行してください。
マイグレーション
RevenueCat プロジェクトを Adapty に移行します。まずカタログを移行し、必要に応じてストアイベントとトランザクション履歴も移行できます。Adapty は各マイグレーションをステップの連続として実行し、次に実行できるアクションを通知するため、各アクションの前に status を確認してください。手順全体については、RevenueCat からの移行を参照してください。
list、create、use、current、unuse を除くすべてのコマンドは、マイグレーションフラグを受け付けます:
| フラグ | 必須 | 説明 |
|---|---|---|
-m, --migration | いいえ | マイグレーション ID。指定しない場合、CLI は ADAPTY_MIGRATION 環境変数を使用し、次に create または use で保存されたマイグレーションを使用します。 |
adapty migrations list
アプリごとにグループ化された、マイグレーション一覧と開始可能なマイグレーションフローを表示します。
adapty migrations list
adapty migrations create
マイグレーションを開始し、現在のマイグレーションとして保存します。
adapty migrations create --name <app-name>
adapty migrations create --flow <flow> --app <app-id>
| フラグ | 必須 | 説明 |
|---|---|---|
--name | --name または --flow のいずれか | 新しい Adapty アプリの名前。カタログのマイグレーションを開始します。--flow や --app と組み合わせることはできません。 |
--flow | --name または --flow のいずれか | 既存アプリで開始するフロー(adapty migrations list に表示される形式)。--app が必要です。 |
--app | --flow と共に使用 | アプリ ID(UUID) |
--no-select | いいえ | 現在のマイグレーションとして保存せずに作成します |
既存アプリのカタログマイグレーション後に利用できるフロー:
| フロー | 説明 |
|---|---|
transactions | RevenueCat のデイリークラウドエクスポートからトランザクション履歴をインポートする |
transactions_support | クラウドエクスポートが利用できない RevenueCat プランの場合、RevenueCat サポートと Adapty サポートを通じてトランザクション履歴をインポートする |
apple_events | RevenueCat が引き続き App Store 通知を受信しながら、Adapty にも転送する |
google_events | RevenueCat が Google Play 通知に使用している Pub/Sub トピックに Adapty をサブスクライブする |
code | コーディングエージェントにアプリの 1 つのコードベース内の RevenueCat SDK を置き換えさせる |
integrations | コーディングエージェントにアプリコード内のアナリティクス・アトリビューション・メッセージングツールを見つけさせ、Adapty でセットアップする |
paywall_design | コーディングエージェントに、カタログ移行で作成されたフローに合わせて RevenueCat のペイウォールデザインを再構築させる |
adapty migrations use
マイグレーションを現在のものとして保存し、他のコマンドで -m を指定しなくて済むようにします。
adapty migrations use <migration-id>
| 引数 | 説明 |
|---|---|
migration-id | adapty migrations list で確認できるマイグレーション ID |
CLI は ID を保存する前に、そのマイグレーションにアクセスできるかどうかを確認します。保存されたマイグレーションは現在のトークンに紐づき、すべてのターミナルで有効になります。
adapty migrations current
現在のマイグレーションとその参照元(ADAPTY_MIGRATION 環境変数または保存された選択)を表示します。
adapty migrations current
adapty migrations unuse
保存済みのマイグレーションをクリアします。シェルで設定した ADAPTY_MIGRATION の値は、解除するまで有効です。
adapty migrations unuse
adapty migrations status
マイグレーションの状態、問題点、および次に実行できるアクションを表示します。
adapty migrations status
| フラグ | 必須 | 説明 |
|---|---|---|
--wait | いいえ | マイグレーションに変化があるまでポーリングし、最新の状態を返します |
--timeout | いいえ | --wait のポーリング時間: 1〜600秒、デフォルトは120秒。300、300s、5m の形式で指定できます。--wait が必要です。 |
--json を使用すると、next_actions と available_actions に各アクションの ID、読み取るリソース、input_schema、および confirm テキストが含まれます。
終了コード 0 はリクエストの成功を意味するものであり、マイグレーションの成功を意味するものではありません。レスポンスの migration.state を確認してください。
adapty migrations steps
マイグレーションのチェックリストと各ステップのステータスを表示します。
adapty migrations steps
adapty migrations show
現在読み取れるリソースの一覧を表示するか、特定のリソースを読み取ります。
adapty migrations show [resource]
| 引数 | 説明 |
|---|---|
resource | リソース名。例: apps、mapping、report、export-config。省略すると、現在のステップで利用可能なリソースの一覧が表示されます。 |
adapty migrations run
adapty migrations status のアクションを実行します。
adapty migrations run <action-id>
| 引数 | 説明 |
|---|---|
action-id | adapty migrations status の next_actions または available_actions に表示されるアクション ID |
| フラグ | 必須 | 説明 |
|---|---|---|
--input | いいえ | アクションの input_schema に一致する JSON オブジェクトとしてのアクション入力。入力がない場合、CLI は {} を送信します。 |
--input-file | いいえ | アクション入力が含まれるファイルへのパス、または標準入力から読み込む場合は -。--input と組み合わせることはできません。 |
-y, --yes | confirm テキストを持つアクションの場合 | confirm テキストを確認した後にアクションを承認します。インタラクティブなプロンプトはありません。 |
--open | いいえ | パイプや --json を使用している場合でも、アクションのリンクを開きます |
--no-browser | いいえ | ブラウザを開かずにアクションのリンクを表示します |
アクションには3種類あります:
- 入力アクションは、移行するRevenueCatアプリやマッピングの設定など、データをAdaptyに送信します。
- 外部アクションは、Adapty ダッシュボードのページを開きます。たとえば、RevenueCatのシークレットAPIキーを貼り付けるページです。ページの操作が完了したら、
statusを確認してください。 - エージェントアクション(例:
migrate_code)は、コーディングエージェントが実行する作業です。アプリのGitリポジトリから実行してください。CLIは移行データを.git/adapty/<migration-id>/以下に保存し、エージェントへの指示を出力します。エージェントは--inputオプションを付けて同じアクションを再実行することで結果を報告します。
adapty migrations close
マイグレーションを完了またはキャンセルします。一度閉じると再度開くことはできません。
adapty migrations close --outcome finish --yes
| フラグ | 必須 | 説明 |
|---|---|---|
--outcome | はい | finish でマイグレーションを完了としてマーク。cancel で中断 |
-y, --yes | はい | 終了を確認する |
スキル
adapty skills install
このマシン上のコーディングエージェントに Adapty スキルをインストールします。
adapty skills install
| フラグ | 必須 | 説明 |
|---|---|---|
--agent | いいえ | インストール先のエージェント: claude-code、codex、gemini-cli。複数のエージェントを指定するにはフラグを繰り返します。 |
-y, --yes | いいえ | 見つかったすべてのエージェントに確認なしでインストールします。CLI が複数のエージェントを検出し、確認できない場合(例: --json 使用時)に必須です。 |
The CLI looks for Claude Code, Codex, and Gemini CLI on PATH. If it finds none, it asks whether to run npx skills@1.7.0 add adaptyteam/adapty-skills --all --global, which covers other agents. Restart the agent to load the skills.
認証
| コマンド | 説明 |
|---|---|
adapty auth login | デバイスフローを使用してブラウザ経由で認証する |
adapty auth logout | 保存された認証情報とローカルに保存されたマイグレーションを削除する |
adapty auth whoami | サーバーでトークンを検証し、ユーザー情報を表示する |
adapty auth status | サーバーへの問い合わせなしにローカルの認証状態を表示する |
adapty auth revoke | サーバー側でトークンを無効化し、トークンおよび保存されたマイグレーションをローカルから削除する |
各コマンドの詳細については、認証を参照してください。