asc-ppp-pricing

asc-ppp-pricing

熱門

使用現有的 asc setup、pricing summary、price import 與 price schedule 指令,為訂閱和應用程式內購買(IAP)設定特定地區的價格。適用於按國家/地區調整價格,或實施在地化的購買力平價(PPP)定價策略。

946星標
50分支
更新於 2026/7/31
SKILL.md
唯讀
名稱
asc-ppp-pricing
描述

使用現有的 asc setup、pricing summary、price import 與 price schedule 指令,為訂閱和應用程式內購買(IAP)設定特定地區的價格。適用於按國家/地區調整價格,或實施在地化的購買力平價(PPP)定價策略。

PPP 定價(按地區定價)

使用此 Skill,根據購買力平價(PPP)或您自己的區域定價策略,在各個地區建立或更新在地化價格。

建議優先使用現有的高階流程:

  • 使用 asc subscriptions setupasc iap setup 進行上層項目建立與定價,隨後執行版本層級的元資料(metadata)指令
  • 使用 asc subscriptions pricing ... 進行訂閱定價變更
  • 使用 asc iap pricing summaryasc iap pricing schedules ... 進行 IAP 定價變更

前置條件

  • 確保已設定憑證(asc auth loginASC_* 環境變數)。
  • 建議設定 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 必填欄位:territoryprice
  • CSV 選填欄位:currency_codestart_datepreservedpreserve_current_priceprice_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)。在恢復執行的 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,以重新檢查上層項目、定價、螢幕截圖與銷售可用性狀態。

訂閱銷售可用性(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