Adapty 开发者 CLI 完整参考
正在使用 AI 助手?可以使用 Adapty CLI skill 帮助大语言模型操作 CLI。
本文列出了所有 Adapty CLI 命令及其参数、标志和可接受的值。
有关身份验证设置和令牌管理,请参阅身份验证。
全局标志
这些标志适用于所有命令。
| 标志 | 描述 |
|---|---|
--json | 以 JSON 格式输出,而非格式化文本 |
--help | 显示命令帮助 |
所有 list 命令还接受分页标志:
| 标志 | 默认值 | 描述 |
|---|---|---|
--page | 1 | 页码 |
--page-size | 20 | 每页条目数(最大: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 bundle ID |
--google-bundle-id | 与 --platform android 一起使用时必填 | Google bundle ID |
adapty apps update
更新现有应用。
adapty apps update <app-id> --title "New Name"
| 参数 | 描述 |
|---|---|
app-id | 应用 ID(UUID) |
| 标志 | 描述 |
|---|---|
--title | 新的应用标题 |
--apple-bundle-id | 新的 Apple bundle ID |
--google-bundle-id | 新的 Google bundle ID |
至少需要一个标志。--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(--ios-product-id、--android-product-id、--android-base-plan-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 | 是 | App ID(UUID) |
--title | 是 | 产品标题 |
--access-level-id | 是 | 该产品解锁的访问等级 ID(UUID) |
--period | 是 | 订阅周期:weekly、monthly、2_months、3_months、6_months、yearly、lifetime |
--ios-product-id | 至少需要填写一个平台 | App Store Connect 中的产品 ID |
--android-product-id | 至少需要填写一个平台 | Google Play Console 中的产品 ID |
--android-base-plan-id | 使用 --android-product-id 时必填,除非 --period lifetime | Google Play Console 中的基础方案 ID |
adapty products update
更新现有产品。
商店产品 ID(--ios-product-id、--android-product-id)在创建后不可更改,因此此命令不支持修改这些字段。如需使用不同的商店产品 ID,请创建新产品。
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
| 参数 | 描述 |
|---|---|
product-id | 产品 ID(UUID) |
| 参数 | 是否必填 |
| --- | --- |
--app | 是 |
--title | 否 |
--access-level-id | 否 |
付费墙
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 | 是 |
--title | 是 |
--product-id | 是 |
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: [],优先级值最高(最后评估)。格式化的人类可读输出还会在顶层显示一个 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 | 是 | App ID(UUID) |
--title | 是 | 版位标题 |
--developer-id | 是 | 用于在应用代码中请求该版位的字符串标识符 |
--audiences | 二选一 | 由 {segment_ids, paywall_id, priority} 条目组成的 JSON 数组。参见目标受众格式 |
--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 '[{"segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
此命令会替换版位的所有字段,包括完整的目标受众列表。
| 参数 | 说明 |
|---|---|
placement-id | 版位 ID(UUID) |
| 参数 | 是否必填 |
| --- | --- |
--app | 是 |
--title | 是 |
--developer-id | 是 |
--audiences | 二选一 |
--paywall-id | 二选一 |
传入 --paywall-id 会覆盖版位上的所有目标受众,特定市场细分的目标受众将被删除。若要保留它们,请使用 --audiences 并将所有需要保留的条目一并传入。
目标受众结构
--audiences 标志接受一个 JSON 数组,每个条目包含:
| 字段 | 类型 | 描述 |
|---|---|---|
segment_ids | string[] | 此目标受众所针对的市场细分 ID,长度为 0 或 1。空数组表示默认目标受众——作为不匹配任何其他市场细分的用户的兜底选项 |
paywall_id | string | 向此目标受众中的用户展示的付费墙 ID(UUID) |
priority | number | 从 0 开始,在版位内唯一。目标受众按从低到高的顺序依次评估;默认目标受众的优先级值必须最高 |
每个版位必须有且仅有一个默认目标受众。
示例包含一个定向目标受众和一个默认目标受众:
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}]'
要在多个版位之间替换付费墙而不丢失细分受众路由配置:
-
找到受影响的版位:
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>'
市场细分
市场细分通过 CLI 只读访问。请在 Adapty 看板中创建和编辑它们。使用以下命令在配置版位目标受众时查找市场细分 ID。
adapty 市场细分列表
列出某个应用的所有市场细分。
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) |
响应包含 id、title 和 description。过滤规则不通过此 API 暴露。
身份验证
| 命令 | 描述 |
|---|---|
adapty auth login | 通过浏览器使用设备流进行身份验证 |
adapty auth logout | 清除本地存储的凭据 |
adapty auth whoami | 向服务器验证令牌并显示用户信息 |
adapty auth status | 不发起服务器调用,显示本地身份验证状态 |
adapty auth revoke | 在服务器端撤销令牌并在本地清除 |
有关每个命令的完整详情,请参阅身份验证。