Adapty Developer CLI コマンドリファレンス

この記事では、Adapty CLI のコマンド一覧を紹介します。アカウントの設定(アプリ、アクセスレベル、プロダクト、ペイウォール、フロー、プレースメント、セグメント)を行うコマンド、RevenueCat プロジェクトを移行するコマンド、Adapty スキルをインストールするコマンドと、それぞれの引数・フラグ・使用可能な値について説明します。Apple Ads キャンペーンについては、Ads Manager コマンドを参照してください。

グローバルフラグ

これらのフラグはすべてのコマンドで使用できます。

フラグ説明
--jsonフォーマットテキストの代わりにJSONで出力する
--helpコマンドのヘルプを表示する

すべての list コマンドではページネーションフラグも使用できます:

フラグデフォルト説明
--page1ページ番号
--page-size201ページあたりのアイテム数(最大: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

新しいプロダクトを作成します。

Important

ストアのプロダクト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

既存のペイウォールのすべてのフィールドを置き換えます。

Important

ペイウォールがプレースメントに紐付けられると、そのプロダクトは変更できません。本番稼働中のペイウォールで異なるプロダクトを使用したい場合は、新しいペイウォールを作成し、プレースメントがそちらを参照するよう更新してください。

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)
フラグ必須説明
--appYesアプリ 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)
フラグ必須説明
--appYesアプリ ID(UUID)
--nameYes新しいフロー名

adapty flows publish

フローの現在のバージョンをユーザーに公開します。

adapty flows publish --app <app-id> <flow-id>
引数説明
flow-idフロー ID(UUID)
フラグ必須説明
--appYesアプリ ID(UUID)
--yes, -yNo確認なしで公開します。出力がパイプされている場合や --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
--deviceiphone-14レンダリングするデバイスフレーム
--orientationportraitportrait または landscape

ターミナルでは、コマンドがブラウザでプレビューを開きます。パイプまたは --json を使用すると、代わりにURLを出力します。URLには設定全体が含まれるため長くなります。画面に出力するのではなく、スクリーンショットツールにパイプして使用してください。約32 KBを超える設定はレンダリングが遅くなります。

adapty flows media upload

フローのコンフィグで使用する画像をアップロードします。

adapty flows media upload --app <app-id> ./hero.png
引数説明
file画像ファイルのパス
フラグ必須説明
--appYesApp ID(UUID)

対応フォーマット:GIF、HEIC、JPEG、PNG、SVG、WebP。レスポンスには画像の id、name、およびコンフィグから参照するための CDN url が含まれます。

プレースメント

プレースメントは、フロー、ペイウォール、オンボーディングをユーザーに届ける場所です。プレースメントのコンテンツタイプは作成時に固定されるため、アプリをペイウォールからフローへ移行する場合は既存のプレースメントを更新するのではなく、新しいプレースメントを作成する必要があります。migrate-placements スキルはこれらのコマンドを使って一括で処理します。

adapty placements list

アプリのすべてのプレースメントを一覧表示します。

adapty placements list --app <app-id>
フラグ必須説明
--appYesApp 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 のいずれか一方のみを指定してください。両方または両方とも指定しない場合はエラーになります。

Warning

--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)
フラグ必須説明
--appYesアプリID(UUID)
--titleYesプレースメントのタイトル
--developer-idYesアプリコードでこのプレースメントをリクエストする際に使用する文字列識別子
--audiencesどちらか一方オーディエンスエントリーのJSON配列。各エントリーには明示的なcontent_typeが必要です。オーディエンスの形式を参照
--paywall-idどちらか一方非推奨。 ペイウォールID(UUID)。すべてのオーディエンスを単一のデフォルトオーディエンスに置き換えます
Warning

--paywall-id を指定すると、プレースメントのすべてのオーディエンスが上書きされます。セグメント固有のオーディエンスは削除されます。それらを保持したい場合は --audiences を使用し、維持したいすべてのエントリを含めてください。

オーディエンスの形式

--audiences フラグはJSON配列を受け取ります。各エントリには以下のフィールドがあります:

フィールド型説明
content_typestring"paywall" または "flow"。すべてのエントリで必須。1つのプレースメント内のすべてのエントリは同じ値を持つ必要があります
segment_idsstring[]このオーディエンスが対象とするセグメント ID。長さは0または1。空の配列はデフォルトオーディエンス(他のセグメントにマッチしないユーザーのフォールバック)を示します
paywall_idstringこのオーディエンスのユーザーに表示されるペイウォール ID(UUID)。content_type が "paywall" の場合に必須
flow_idstringこのオーディエンスのユーザーに表示されるフロー ID(UUID)。content_type が "flow" の場合に必須
prioritynumber0始まりで、プレースメント内で一意。オーディエンスは値の低い順に評価され、デフォルトオーディエンスは最も高い値を持つ必要があります

プレースメントには、デフォルトのオーディエンスが必ず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}]'

複数のプレースメントにわたってペイウォールをセグメント別ルーティングを維持しながら入れ替えるには:

  1. 影響を受けるプレースメントを探す:

    adapty paywalls placements --app <app-id> <old-paywall-id>
  2. それぞれについて、audiences 配列全体を取得する:

    adapty placements get --app <app-id> <placement-id> --json
  3. 対象の paywall_id の値をクライアント側で置き換える。

  4. 変更したペイロードを書き戻す:

    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)
フラグ必須説明
--appYesアプリ 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いいえセグメントの説明
Warning

segments update はセグメント全体を置き換えます。変更するフィルターだけでなく、保持したいすべてのフィルターを渡してください。現在のフィルターを確認するには、adapty segments get --app <app-id> <segment-id> --json を実行してください。

フィルター構文

各 --filter は field:OPERATOR:value の形式で記述します。複数の値のいずれかに一致させるには、値をカンマで区切ります: ip_country:IN:US,CA。

演算子値例
IN, NOT IN1つ以上ip_country:NOT IN:US,CA
>, >=, <, <=1つage:>:18
BETWEEN2つ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いいえ現在のマイグレーションとして保存せずに作成します

既存アプリのカタログマイグレーション後に利用できるフロー:

フロー説明
transactionsRevenueCat のデイリークラウドエクスポートからトランザクション履歴をインポートする
transactions_supportクラウドエクスポートが利用できない RevenueCat プランの場合、RevenueCat サポートと Adapty サポートを通じてトランザクション履歴をインポートする
apple_eventsRevenueCat が引き続き App Store 通知を受信しながら、Adapty にも転送する
google_eventsRevenueCat が Google Play 通知に使用している Pub/Sub トピックに Adapty をサブスクライブする
codeコーディングエージェントにアプリの 1 つのコードベース内の RevenueCat SDK を置き換えさせる
integrationsコーディングエージェントにアプリコード内のアナリティクス・アトリビューション・メッセージングツールを見つけさせ、Adapty でセットアップする
paywall_designコーディングエージェントに、カタログ移行で作成されたフローに合わせて RevenueCat のペイウォールデザインを再構築させる

adapty migrations use

マイグレーションを現在のものとして保存し、他のコマンドで -m を指定しなくて済むようにします。

adapty migrations use <migration-id>
引数説明
migration-idadapty 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-idadapty migrations status の next_actions または available_actions に表示されるアクション ID
フラグ必須説明
--inputいいえアクションの input_schema に一致する JSON オブジェクトとしてのアクション入力。入力がない場合、CLI は {} を送信します。
--input-fileいいえアクション入力が含まれるファイルへのパス、または標準入力から読み込む場合は -。--input と組み合わせることはできません。
-y, --yesconfirm テキストを持つアクションの場合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サーバー側でトークンを無効化し、トークンおよび保存されたマイグレーションをローカルから削除する

各コマンドの詳細については、認証を参照してください。