asc-ppp-pricing

asc-ppp-pricing

热门

使用最新的 asc setup、pricing summary、price import 和 price schedule 命令,为订阅项目及 App 内购(IAP)配置特定国家/地区的差异化定价。适用于跨国价格微调或实施本地化 PPP(购买力平价)定价策略。

946Star
50Fork
更新于 2026/7/31
SKILL.md
只读
名称
asc-ppp-pricing
描述

使用最新的 asc setup、pricing summary、price import 和 price schedule 命令,为订阅项目及 App 内购(IAP)配置特定国家/地区的差异化定价。适用于跨国价格微调或实施本地化 PPP(购买力平价)定价策略。

PPP 定价(分国家/地区定价)

使用此 Skill,基于购买力平价(PPP)或你自定义的区域定价策略,创建或更新跨国家/地区的本地化价格。

推荐使用当前的高阶工作流:

  • 使用 asc subscriptions setupasc iap setup 创建父级资源并配置初始定价,随后再调用版本作用域的元数据命令
  • 使用 asc subscriptions pricing ... 变更订阅定价
  • 使用 asc iap pricing summaryasc iap pricing schedules ... 变更 IAP 定价

前置条件

  • 确保已配置凭证(执行 asc auth login 或设置 ASC_* 环境变量)。
  • 推荐设置环境变量 ASC_APP_ID,或显式传入 --app 参数。
  • 确定基准国家/地区(通常为 USA)及基准价格。
  • 如需获取支持的国家/地区 ID 列表,可运行 asc pricing territories list --paginate

订阅项目的 PPP 定价工作流

新建订阅:使用 setup 初始化父级资源并配置定价

使用 setup 创建订阅组和具体订阅项、上传 App 审核截图、自动生成完整的等价价格矩阵,并设置可售状态。随后再创建符合 API 4.4.1 规范的订阅组和订阅版本;setup 命令中的本地化标志使用的是已废弃的 v1 资源,切勿在新工作流中使用。

asc subscriptions setup \
  --app "APP_ID" \
  --group-reference-name "Pro" \
  --reference-name "Pro Monthly" \
  --product-id "com.example.pro.monthly" \
  --subscription-period ONE_MONTH \
  --review-screenshot "./review.png" \
  --price "9.99" \
  --price-territory "USA" \
  --territories "USA,CAN,GBR" \
  --no-verify \
  --output json

从 setup 返回的 JSON 中提取 .groupId.subscriptionId,随后添加版本作用域的元数据。此处使用 --no-verify 是故意为之:在没有使用废弃 v1 本地化的情况下,父级资源在完成 v2 步骤前会保持 MISSING_METADATA 状态。

asc subscriptions groups versions list --group-id "GROUP_ID" --state PREPARE_FOR_SUBMISSION --paginate --output json
# 当且仅当列表结果为空时:
asc subscriptions groups versions create --group-id "GROUP_ID" --output json
# 如果只有一条匹配记录,直接复用 .data[0].id。如果有等多条匹配,请停止操作并要求显式提供 GROUP_VERSION_ID。
asc subscriptions groups versions localizations list --version-id "GROUP_VERSION_ID" --paginate --output json
# 当且仅当缺失 en-US 时:
asc subscriptions groups versions localizations create --version-id "GROUP_VERSION_ID" --locale "en-US" --name "Pro"
# 否则,当且仅当解析出的 en-US 名称不一致时:
asc subscriptions groups versions localizations update --id "GROUP_LOC_ID" --name "Pro"
# 否则,不执行任何操作。

asc subscriptions versions list --subscription-id "SUB_ID" --state PREPARE_FOR_SUBMISSION --paginate --output json
# 当且仅当列表结果为空时:
asc subscriptions versions create --subscription-id "SUB_ID" --output json
# 如果只有一条匹配记录,直接复用 .data[0].id。如果有等多条匹配,请停止操作并要求显式提供 SUBSCRIPTION_VERSION_ID。
asc subscriptions versions localizations list --version-id "SUBSCRIPTION_VERSION_ID" --paginate --output json
# 当且仅当缺失 en-US 时:
asc subscriptions versions localizations create --version-id "SUBSCRIPTION_VERSION_ID" --locale "en-US" --name "Pro Monthly" --description "Unlock everything"
# 否则,当且仅当解析出的 en-US 字段值不一致时:
asc subscriptions versions localizations update --id "SUBSCRIPTION_LOC_ID" --name "Pro Monthly" --description "Unlock everything"
# 否则,不执行任何操作。
asc subscriptions groups versions localizations list --version-id "GROUP_VERSION_ID" --paginate --output table
asc subscriptions versions localizations list --version-id "SUBSCRIPTION_VERSION_ID" --paginate --output table
asc validate subscriptions --app "APP_ID" --output table

对于每个版本列表,直接复用其中唯一的 PREPARE_FOR_SUBMISSION 查询结果。仅在结果为空时才执行创建;如果返回了多条记录,请立即停止并要求提供显式的版本 ID,避免误建无法删除的冗余版本。本地化的“创建/更新”逻辑同样是有条件的:缺少该语言环境时创建,内容不同时更新已解析的本地化记录,若已完全匹配则不作变更。

注意要点:

  • setup 会根据选定的基准价格,自动生成 Apple 完整的等价价格矩阵。这种分步工作流会将最终的校验步骤推迟到 v2 本地化创建完成后进行。
  • 若不在此类分步 v2 初始化流程中,请移除 --no-verify,以便 setup 执行正常的读取校验。
  • 如果你的定价逻辑基于价格等级(Tier),请使用 --tier--price-point-id 替代 --price
  • 如果已有订阅项目在基准价格相同的情况下仍停留在 MISSING_METADATA 状态,请携带 --repair 参数重新运行 setup 输入,以便原子化地重建并重新保存价格矩阵。

在变更前检查当前的订阅定价

若想快速获取当前状态的简明快照,请优先使用 summary 视图。

asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "USA"
asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "IND"
asc subscriptions pricing prices list --subscription-id "SUB_ID" --paginate

使用 summary 进行变更前后的快速对比抽查;需要获取底层原始价格记录时,请使用 prices list

推荐的大批量 PPP 更新方案:先预演(Dry Run)再导入 CSV

在全面推行 PPP 定价时,推荐使用订阅定价导入命令,而非手动逐个添加不同国家/地区的价格。

示例 CSV:

territory,price,start_date,preserved
IND,2.99,2026-04-01,false
BRA,4.99,2026-04-01,false
MEX,4.99,2026-04-01,false
DEU,8.99,2026-04-01,false

先进行预演(Dry-run):

asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --dry-run \
  --output table

正式应用变更:

asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --confirm \
  --output table

注意要点:

  • --dry-run 会校验数据行并解析价格点(Price Point),但不会真正创建价格记录。
  • --continue-on-error=false 提供“快速失败(Fail-Fast)”模式。
  • CSV 必填列:territoryprice
  • CSV 可选列:currency_codestart_datepreservedpreserve_current_priceprice_point_id
  • 若未提供 price_point_id,CLI 会自动解析出该行国家/地区及价格所匹配的价格点。
  • 导入时的国家/地区(Territory)可填入 3 字母 ID、2 字母代码,或能明确映射的标准名称。

单个/少量国家或地区的订阅价格调整

如果只需要手动覆盖少量国家/地区的价格,请使用标准的 set 命令。

asc subscriptions pricing prices set --subscription-id "SUB_ID" --price "2.99" --territory "IND"
asc subscriptions pricing prices set --subscription-id "SUB_ID" --tier 5 --territory "BRA"
asc subscriptions pricing prices set --subscription-id "SUB_ID" --price-point "PRICE_POINT_ID" --territory "DEU"

注意要点:

  • 加上 --start-date "YYYY-MM-DD" 可预约未来的价格变更。
  • 加上 --preserved 可保留当前的价格继承绑定关系。
  • 该命令同时支持初始定价设置与后续的价格调整。

仅在必要时查询原始价格点(Price Point)

当你需要直接查看 Apple 的本地化阶梯价格或锁定精确的价格点 ID 时,请使用价格点查询与等价计算(Equalizations)命令。

asc subscriptions pricing price-points list --subscription-id "SUB_ID" --territory "USA" --paginate --price "9.99"
asc subscriptions pricing price-points equalizations --price-point-id "PRICE_POINT_ID" --paginate
asc subscriptions pricing price-points adjusted-equalizations --price-point-id "PRICE_POINT_ID" --upfront-price-point-id "UPFRONT_PRICE_POINT_ID" --plan-type MONTHLY --subscription-id "SUB_ID" --paginate

查询 Apple 标准本地化阶梯价格时使用 equalizations。需要使用符合 API 4.4.1 规范的订阅专属调整时,请使用 adjusted-equalizations。发起全新的 adjusted-equalizations 请求时,必须同时传入 --upfront-price-point-id--plan-type--subscription-id--territory 为可选过滤条件。请将 --next 视为不透明的分页续传 URL。在恢复执行 equalizationsadjusted-equalizations 请求时,仅需传入 --next,无需再附带原本的 --price-point-id、过滤条件、稀疏字段(sparse fields)、包含项(includes)或数量限制(limit),因为续传 URL 中已包含了这些查询状态。--paginate 以及显式的输出标志仍可继续保留使用。

变更生效后的结果校验

完成变更后,重新运行 summary 与原始列表视图进行核验。

asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "IND"
asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "BRA"
asc subscriptions pricing prices list --subscription-id "SUB_ID" --paginate

当版本元数据创建完毕后,你可以开启校验机制重新运行 asc subscriptions setup,以重新核对父级资源、定价、截图及可售状态。

订阅项的可售状态(Availability)

如果需要显式地为现有订阅启用特定国家/地区,请使用 pricing availability 系列命令。

asc subscriptions pricing availability edit --subscription-id "SUB_ID" --territories "USA,CAN,IND,BRA"
asc subscriptions pricing availability view --subscription-id "SUB_ID"

App 内购(IAP)PPP 定价工作流

新建 IAP:使用 setup 初始化父级资源与价格计划

使用 setup 创建内购商品与初始价格计划。由于该命令中的本地化标志使用的是已废弃的 v1 资源,因此请在 setup 完成后,通过 API 4.4.1 的 IAP 版本来添加本地化信息。

asc iap setup \
  --app "APP_ID" \
  --type NON_CONSUMABLE \
  --reference-name "Pro Lifetime" \
  --product-id "com.example.pro.lifetime" \
  --price "9.99" \
  --base-territory "USA" \
  --output json

从 setup 返回的 JSON 中提取 .iapId,随后创建版本与元数据:

asc iap versions list --iap-id "IAP_ID" --state PREPARE_FOR_SUBMISSION --paginate --output json
# 当且仅当列表结果为空时:
asc iap versions create --iap-id "IAP_ID" --output json
# 如果只有一条匹配记录,直接复用 .data[0].id。如果有等多条匹配,请停止操作并要求显式提供 IAP_VERSION_ID。
asc iap versions localizations list --version-id "IAP_VERSION_ID" --paginate --output json
# 当且仅当缺失 en-US 时:
asc iap versions localizations create --version-id "IAP_VERSION_ID" --locale "en-US" --name "Pro Lifetime" --description "Unlock everything forever"
# 否则,当且仅当解析出的 en-US 字段值不一致时:
asc iap versions localizations update --localization-id "IAP_LOC_ID" --name "Pro Lifetime" --description "Unlock everything forever"
# 否则,不执行任何操作。

复用唯一的 PREPARE_FOR_SUBMISSION 状态版本。仅当列表为空时才执行创建;若匹配到多个版本,请停止并请求显式提供版本 ID。仅在缺少 en-US 时创建本地化记录,仅在字段值不同时更新已解析的记录,否则不做任何处理。

注意要点:

  • setup 默认会校验创建的 IAP 及价格计划;如需校验版本本地化信息,请使用其版本作用域下的查询列表命令。
  • 使用 --start-date 设置定时生效的价格计划。
  • 需要基于确定的 Tier 或价格点 ID 进行初始化时,可使用 --tier--price-point-id

在变更前检查当前的 IAP 定价

在进行 PPP 相关调整时,推荐将 asc iap pricing summary 作为查看当前状态的主要汇总视图。

asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"

该命令会返回所查询国家/地区的基准地区、当前价格、预估收益(Proceeds)以及已预约的价格变更计划。

探索候选的 IAP 价格点

当你需要排查或锁定精确的价格点 ID 时,请使用价格点查询命令。

asc iap pricing price-points list --iap-id "IAP_ID" --territory "USA" --paginate --price "9.99"
asc iap pricing price-point

<!-- truncated for translation batch; full body continues in source -->