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

この記事では、アカウント(アプリ、アクセスレベル、プロダクト、ペイウォール、プレースメント、セグメント)を設定する Adapty CLI コマンドを、引数・フラグ・使用可能な値とともに説明します。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はいサブスクリプション期間: weeklymonthlytwo_monthstrimonthlysemiannualannuallifetime
--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)

ペイウォールを切り替える前に、このコマンドで影響を受けるプレースメントを確認してください。

プレースメント

adapty placements list

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

adapty placements list --app <app-id>
フラグ必須説明
--appはいアプリID(UUID)

ページネーションフラグを使用できます。

adapty placements get

特定のプレースメントの詳細を取得します。

adapty placements get --app <app-id> <placement-id>
引数説明
placement-idプレースメントID(UUID)
フラグ必須説明
--appはいアプリID(UUID)

レスポンスには audiences 配列が含まれます。各エントリは {segment_ids, paywall_id, priority} の形式です。デフォルトのオーディエンスは segment_ids: [] を持ち、最も高いpriorityの値(最後に評価される)を持ちます。フォーマット済みの人間向け出力には、便宜上デフォルトオーディエンスから導出したトップレベルの Paywall ID も表示されます。--json を使用すると、加工されていないAPIレスポンスがそのまま返されます。

adapty placements create

新しいプレースメントを作成します。

adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
フラグ必須説明
--appはいアプリID(UUID)
--titleはいプレースメントタイトル
--developer-idはいアプリコード内でこのプレースメントをリクエストする際に使用する文字列識別子
--audiencesどちらか一方{segment_ids, paywall_id, priority} エントリのJSON配列。オーディエンスの形式を参照
--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 '[{"segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'

このコマンドはオーディエンスリスト全体を含む、プレースメントのすべてのフィールドを置き換えます。

引数説明
placement-idプレースメントID(UUID)
フラグ必須説明
--appはいアプリID(UUID)
--titleはいプレースメントタイトル
--developer-idはいアプリコード内でこのプレースメントをリクエストする際に使用する文字列識別子
--audiencesどちらか一方{segment_ids, paywall_id, priority} エントリのJSON配列。オーディエンスの形式を参照
--paywall-idどちらか一方非推奨。 ペイウォールID(UUID)。すべてのオーディエンスを単一のデフォルトオーディエンスで置き換えます
Warning

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

オーディエンスの形式

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

フィールド説明
segment_idsstring[]このオーディエンスが対象とするセグメントIDの配列。要素数は0または1。空配列はデフォルトオーディエンス(他のセグメントにマッチしないユーザーへのフォールバック)を表します
paywall_idstringこのオーディエンスのユーザーに表示されるペイウォールID(UUID)
prioritynumber0始まりで、プレースメント内で一意。オーディエンスは値の小さい順に評価され、デフォルトオーディエンスは最も高い値を持つ必要があります

プレースメントには必ずデフォルトオーディエンスが1つ必要です。

1つのターゲットオーディエンスと1つのデフォルトオーディエンスを持つ例:

adapty placements update <placement-id> --app <app-id> --title "Main" --developer-id "main" \
  --audiences '[{"segment_ids":["<vip-segment-id>"],"paywall_id":"<vip-paywall-id>","priority":0},{"segment_ids":[],"paywall_id":"<default-paywall-id>","priority":1}]'

セグメント固有のルーティングを維持しながら複数のプレースメントでペイウォールを切り替えるには:

  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>'

セグメント

セグメントはCLI経由では読み取り専用です。作成・編集はAdaptyダッシュボードで行ってください。プレースメントのオーディエンスを構成する際にセグメントIDを調べるためにこれらのコマンドを使用します。

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はいアプリID(UUID)

レスポンスには idtitledescription が含まれます。フィルタールールはこのAPIでは公開されていません。

認証

コマンド説明
adapty auth loginデバイスフローを使用してブラウザ経由で認証する
adapty auth logoutローカルに保存された認証情報を削除する
adapty auth whoamiサーバーでトークンを検証してユーザー情報を表示する
adapty auth statusサーバーへの問い合わせなしにローカルの認証状態を表示する
adapty auth revokeサーバー側でトークンを失効させ、ローカルからも削除する

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