asc-ppp-pricing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PPP pricing (per-territory pricing)

PPP定价(按区域定价)

Use this skill to create or update localized pricing across territories based on purchasing power parity (PPP) or your own regional pricing strategy.
Prefer the current high-level flows:
  • asc subscriptions setup
    and
    asc iap setup
    when you are creating a new product
  • asc subscriptions pricing ...
    for subscription pricing changes
  • asc iap pricing summary
    and
    asc iap pricing schedules ...
    for IAP pricing changes
使用本技能可基于购买力平价(PPP)或自定义区域定价策略,创建或更新跨区域的本地化定价。
优先使用以下高阶流程:
  • 创建新产品时,使用
    asc subscriptions setup
    asc iap setup
  • 调整订阅定价时,使用
    asc subscriptions pricing ...
  • 调整应用内购买(IAP)定价时,使用
    asc iap pricing summary
    asc iap pricing schedules ...

Preconditions

前置条件

  • Ensure credentials are set (
    asc auth login
    or
    ASC_*
    env vars).
  • Prefer
    ASC_APP_ID
    or pass
    --app
    explicitly.
  • Decide your base territory (usually
    USA
    ) and baseline price.
  • Use
    asc pricing territories list --paginate
    if you need supported territory IDs.
  • 确保已设置凭据(
    asc auth login
    ASC_*
    环境变量)。
  • 优先使用
    ASC_APP_ID
    环境变量,或显式传递
    --app
    参数。
  • 确定基准区域(通常为
    USA
    )和基准价格。
  • 如需获取支持的区域ID,可使用
    asc pricing territories list --paginate

Subscription PPP workflow

订阅PPP工作流

New subscription: bootstrap with
setup

新订阅:通过
setup
快速初始化

Use
setup
when you are creating a new subscription and want to create the group, subscription, first localization, initial price, and availability in one verified flow.
bash
asc subscriptions setup \
  --app "APP_ID" \
  --group-reference-name "Pro" \
  --reference-name "Pro Monthly" \
  --product-id "com.example.pro.monthly" \
  --subscription-period ONE_MONTH \
  --locale "en-US" \
  --display-name "Pro Monthly" \
  --description "Unlock everything" \
  --price "9.99" \
  --price-territory "USA" \
  --territories "USA,CAN,GBR" \
  --output json
Notes:
  • setup
    verifies the created state by default.
  • Use
    --no-verify
    only when you explicitly want speed over readback verification.
  • Use
    --tier
    or
    --price-point-id
    instead of
    --price
    when your workflow is tier-driven.
创建新订阅时,可使用
setup
命令在一个已验证的流程中完成订阅组、订阅产品、初始本地化、初始价格及区域可用性的创建。
bash
asc subscriptions setup \
  --app "APP_ID" \
  --group-reference-name "Pro" \
  --reference-name "Pro Monthly" \
  --product-id "com.example.pro.monthly" \
  --subscription-period ONE_MONTH \
  --locale "en-US" \
  --display-name "Pro Monthly" \
  --description "Unlock everything" \
  --price "9.99" \
  --price-territory "USA" \
  --territories "USA,CAN,GBR" \
  --output json
注意事项:
  • 默认情况下,
    setup
    会验证创建状态。
  • 仅当明确追求速度而非回读验证时,才使用
    --no-verify
    参数。
  • 若工作流基于价格层级,可使用
    --tier
    --price-point-id
    替代
    --price
    参数。

Inspect current subscription pricing before changes

修改前查看当前订阅定价

Use the summary view first when you want a compact current-state snapshot.
bash
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
Use
summary
for quick before/after spot checks and
prices list
when you need raw price records.
如需快速了解当前状态快照,先使用概览视图。
bash
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

Preferred bulk PPP update: import a CSV with dry run

批量PPP更新首选:导入CSV并先执行试运行

For broad PPP rollouts, prefer the subscription pricing import command instead of manually adding territory prices one by one.
Example CSV:
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 first:
bash
asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --dry-run \
  --output table
Apply for real:
bash
asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --output table
Notes:
  • --dry-run
    validates rows and resolves price points without creating prices.
  • --continue-on-error=false
    gives you a fail-fast mode.
  • CSV required columns:
    territory
    ,
    price
  • CSV optional columns:
    currency_code
    ,
    start_date
    ,
    preserved
    ,
    preserve_current_price
    ,
    price_point_id
  • When
    price_point_id
    is omitted, the CLI resolves the matching price point for the row's territory and price automatically.
  • Territory inputs in import can be 3-letter IDs, 2-letter codes, or common territory names that map cleanly.
针对大规模PPP部署,优先使用订阅定价导入命令,而非手动逐个添加区域价格。
示例CSV:
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
先执行试运行:
bash
asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --dry-run \
  --output table
正式执行:
bash
asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --output table
注意事项:
  • --dry-run
    会验证行数据并解析价格点,但不会创建实际价格。
  • --continue-on-error=false
    可启用快速失败模式。
  • CSV必填列:
    territory
    price
  • CSV可选列:
    currency_code
    start_date
    preserved
    preserve_current_price
    price_point_id
  • 若省略
    price_point_id
    ,CLI会自动为该行的区域和价格匹配对应的价格点。
  • 导入中的区域输入可以是3位ID、2位代码或可清晰映射的通用区域名称。

One-off subscription territory changes

单次订阅区域价格修改

For a small number of manual overrides, use the canonical
set
command.
bash
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"
Notes:
  • Add
    --start-date "YYYY-MM-DD"
    to schedule a future change.
  • Add
    --preserved
    when you want to preserve the current price relationship.
  • The command handles both initial pricing and later price changes.
如需少量手动覆盖,使用标准的
set
命令。
bash
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
    参数。
  • 该命令可用于初始定价和后续价格变更。

Discover raw price points only when you need them

仅在需要时查看原始价格点

Use price-point lookup and equalizations when you want to inspect Apple's localized ladder directly or pin exact price point IDs.
bash
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
如需直接查看Apple的本地化价格阶梯或固定精确价格点ID,可使用价格点查询和对等价格查询。
bash
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

Verify after apply

修改后验证

Re-run the summary and raw list views after changes.
bash
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
If the subscription was newly created, you can also use
asc subscriptions setup
with verification enabled instead of stitching together separate create and pricing steps.
变更完成后,重新运行概览和原始列表视图。
bash
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
,替代单独的创建和定价步骤。

Subscription availability

订阅区域可用性

If you need to explicitly enable territories for an existing subscription, use the pricing availability family.
bash
asc subscriptions pricing availability edit --subscription-id "SUB_ID" --territories "USA,CAN,IND,BRA"
asc subscriptions pricing availability view --subscription-id "SUB_ID"
如需为现有订阅明确启用特定区域,使用定价可用性相关命令。
bash
asc subscriptions pricing availability edit --subscription-id "SUB_ID" --territories "USA,CAN,IND,BRA"
asc subscriptions pricing availability view --subscription-id "SUB_ID"

IAP PPP workflow

IAP PPP工作流

New IAP: bootstrap with
setup

新IAP:通过
setup
快速初始化

Use
setup
when you are creating a new IAP and want to create the product, first localization, and initial price schedule in one verified flow.
bash
asc iap setup \
  --app "APP_ID" \
  --type NON_CONSUMABLE \
  --reference-name "Pro Lifetime" \
  --product-id "com.example.pro.lifetime" \
  --locale "en-US" \
  --display-name "Pro Lifetime" \
  --description "Unlock everything forever" \
  --price "9.99" \
  --base-territory "USA" \
  --output json
Notes:
  • setup
    verifies the created IAP, localization, and price schedule by default.
  • Use
    --start-date
    for scheduled pricing.
  • Use
    --tier
    or
    --price-point-id
    when you want deterministic tier- or ID-based setup.
创建新应用内购买(IAP)时,可使用
setup
命令在一个已验证的流程中完成产品、初始本地化及初始价格计划的创建。
bash
asc iap setup \
  --app "APP_ID" \
  --type NON_CONSUMABLE \
  --reference-name "Pro Lifetime" \
  --product-id "com.example.pro.lifetime" \
  --locale "en-US" \
  --display-name "Pro Lifetime" \
  --description "Unlock everything forever" \
  --price "9.99" \
  --base-territory "USA" \
  --output json
注意事项:
  • 默认情况下,
    setup
    会验证创建的IAP、本地化及价格计划。
  • 使用
    --start-date
    可设置定时生效的定价。
  • 若需基于价格层级或ID进行确定性设置,使用
    --tier
    --price-point-id
    参数。

Inspect current IAP pricing before changes

修改前查看当前IAP定价

Use
asc iap pricing summary
as the main current-state summary for PPP work.
bash
asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"
This returns the base territory, current price, estimated proceeds, and scheduled changes for the requested territory.
PPP工作中,使用
asc iap pricing summary
作为主要的当前状态概览工具。
bash
asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"
该命令会返回请求区域的基准区域、当前价格、预估收入及已安排的变更。

Discover candidate IAP price points

查找候选IAP价格点

Use price-point lookup when you want to inspect or pin exact price point IDs.
bash
asc iap pricing price-points list --iap-id "IAP_ID" --territory "USA" --paginate --price "9.99"
asc iap pricing price-points equalizations --id "PRICE_POINT_ID"
如需查看或固定精确价格点ID,使用价格点查询。
bash
asc iap pricing price-points list --iap-id "IAP_ID" --territory "USA" --paginate --price "9.99"
asc iap pricing price-points equalizations --id "PRICE_POINT_ID"

Create or update an IAP price schedule

创建或更新IAP价格计划

For manual PPP updates, create a price schedule directly.
bash
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --price "4.99" --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --tier 5 --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --prices "PRICE_POINT_ID:2026-04-01"
Use these when you are intentionally creating or replacing schedule entries. For deeper inspection:
bash
asc iap pricing schedules view --iap-id "IAP_ID"
asc iap pricing schedules manual-prices --schedule-id "SCHEDULE_ID" --paginate
asc iap pricing schedules automatic-prices --schedule-id "SCHEDULE_ID" --paginate
手动更新PPP时,直接创建价格计划。
bash
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --price "4.99" --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --tier 5 --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --prices "PRICE_POINT_ID:2026-04-01"
以上命令适用于有意创建或替换计划条目的场景。如需深入查看:
bash
asc iap pricing schedules view --iap-id "IAP_ID"
asc iap pricing schedules manual-prices --schedule-id "SCHEDULE_ID" --paginate
asc iap pricing schedules automatic-prices --schedule-id "SCHEDULE_ID" --paginate

Verify after apply

修改后验证

Use the summary command again after scheduling or applying pricing changes.
bash
asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"
For future-dated schedules, expect scheduled changes rather than an immediately updated current price.
安排或应用定价变更后,再次使用概览命令。
bash
asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"
对于未来生效的计划,返回结果会显示已安排的变更,而非即时更新的当前价格。

Common PPP strategy patterns

常见PPP策略模式

Base territory first

先设置基准区域

  • Pick one baseline territory, usually
    USA
    .
  • Set the baseline price there first.
  • Derive lower or higher territory targets from that baseline.
  • 选择一个基准区域,通常为
    USA
  • 先在该区域设置基准价格。
  • 基于此基准推导其他区域的目标价格(可高于或低于基准)。

Tiered regional pricing

分层区域定价

  • High-income markets stay close to baseline.
  • Mid-income markets get moderate discounts.
  • Lower-income markets get stronger PPP adjustments.
  • 高收入市场价格接近基准。
  • 中等收入市场给予适度折扣。
  • 低收入市场进行更大幅度的PPP调整。

Spreadsheet-driven rollout

表格驱动部署

  • Build the target territory list in a CSV.
  • Dry-run the import.
  • Fix any resolution failures.
  • Apply the import.
  • Re-run summary checks for the most important territories.
  • 在CSV中构建目标区域列表。
  • 执行导入试运行。
  • 修复解析失败的问题。
  • 正式执行导入。
  • 对重点区域重新运行概览检查。

Notes

注意事项

  • Prefer canonical commands in docs and automation:
    asc subscriptions pricing ...
  • Older
    asc subscriptions prices ...
    paths still exist, but the canonical pricing family is clearer.
  • Prefer canonical IAP commands in docs and automation:
    asc iap pricing ...
  • asc subscriptions pricing prices import --dry-run
    is the safest subscription batch PPP path today.
  • asc subscriptions setup
    and
    asc iap setup
    already provide built-in post-create verification.
  • There is not yet a single first-class before/after PPP diff command; use the current summary commands before and after apply.
  • Price changes may take time to propagate in App Store Connect and storefronts.
  • 文档和自动化中优先使用标准命令:
    asc subscriptions pricing ...
  • 旧版
    asc subscriptions prices ...
    路径仍可用,但标准pricing系列命令更清晰。
  • 文档和自动化中优先使用标准IAP命令:
    asc iap pricing ...
  • asc subscriptions pricing prices import --dry-run
    是目前最安全的订阅批量PPP操作方式。
  • asc subscriptions setup
    asc iap setup
    已内置创建后验证功能。
  • 目前尚无专门的PPP变更前后对比命令;可在应用变更前后使用当前的概览命令进行对比。
  • 价格变更可能需要一定时间才能在App Store Connect和店面生效。