使用現有的 asc setup、pricing summary、price import 與 price schedule 指令,為訂閱和應用程式內購買(IAP)設定特定地區的價格。適用於按國家/地區調整價格,或實施在地化的購買力平價(PPP)定價策略。
PPP 定價(按地區定價)
使用此 Skill,根據購買力平價(PPP)或您自己的區域定價策略,在各個地區建立或更新在地化價格。
建議優先使用現有的高階流程:
- 使用
asc subscriptions setup與asc iap setup進行上層項目建立與定價,隨後執行版本層級的元資料(metadata)指令 - 使用
asc subscriptions pricing ...進行訂閱定價變更 - 使用
asc iap pricing summary與asc iap pricing schedules ...進行 IAP 定價變更
前置條件
- 確保已設定憑證(
asc auth login或ASC_*環境變數)。 - 建議設定
ASC_APP_ID或明確傳入--app。 - 決定您的基準地區(通常為
USA)與基準價格。 - 若需要支援的地區 ID,請使用
asc pricing territories list --paginate。
訂閱 PPP 工作流程
新增訂閱:使用 setup 進行上層項目初始建立與定價
使用 setup 建立群組與訂閱、上傳 App Review 螢幕截圖、生成完整的均等價格矩陣,並設定銷售可用性。之後再建立 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 在地化設定時,上層項目可保持為 MISSING_METADATA 狀態,直到 v2 步驟完成為止。
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 points),但不會實際建立價格。--continue-on-error=false提供快速失敗(fail-fast)模式。- CSV 必填欄位:
territory、price - CSV 選填欄位:
currency_code、start_date、preserved、preserve_current_price、price_point_id - 省略
price_point_id時,CLI 會自動解析該列地區與價格對應的價格點。 - 匯入時的地區輸入可以是 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 Points)
當您想直接檢視 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
使用 equalizations 查看 Apple 的標準在地化階梯。當需要 API 4.4.1 的訂閱特定調整時,請使用 adjusted-equalizations。發起全新的 adjusted-equalizations 請求時,須同時帶入 --upfront-price-point-id 與 --plan-type;--subscription-id 與 --territory 為選填篩選條件。請將 --next 視為不透明的分頁續行 URL(continuation URL)。在恢復執行的 equalizations 或 adjusted-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,以重新檢查上層項目、定價、螢幕截圖與銷售可用性狀態。
訂閱銷售可用性(Subscription 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"
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 時才建立在地化資料,僅在數值不同時更新其解析後的 ID,否則不採取任何動作。
注意事項:
setup預設會驗證建立的 IAP 與價格排程;版本在地化資料請透過其版本層級的 list 指令進行驗證。- 排程定價請使用
--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"
這會回傳指定地區的基準地區、目前價格、預估收益以及已排定的變更。
尋找候選的 IAP 價格點
當您想檢視或鎖定特定的價格點 ID 時,請使用價格點查詢功能。
asc iap pricing price-points list --iap-id "IAP_ID" --territory "USA" --paginate --price "9.99"
asc iap pricing price-point






