asc-availability について
`asc` コマンドラインツールで、App、アプリ内課金、サブスクリプションの地域別提供状況を確認・管理するスキルです。地域制限の調査や販売市場の設定に役立ちます。
主な機能
- 01Appの提供状況と制限理由の確認
- 02地域ごとのApp提供設定
- 03アプリ内課金とサブスクリプションの地域管理
- 04地域IDと通貨の一覧表示
- 05新規追加地域の自動対象化
活用シーン
- 01特定地域でAppを販売できない理由の調査
- 02アプリ内課金やサブスクリプションの市場制限
- 03新規地域での製品販売開始
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tddworks/ asc-cli-skills --skill asc-availabilityインストール後、Claude Code で/asc-availabilityを入力して読み込まれたか確認します。
詳細
アプリ、IAP、サブスクリプションの提供地域
アプリ、アプリ内課金、またはサブスクリプションを利用できる App Store の地域(国/地域)を管理します。これは地域ごとの配信を制御するうえで重要です。たとえば、特定の国でアプリがブロックされている理由を確認したり、サブスクリプションを特定の市場に限定したり、IAP を世界中で利用可能にしたりできます。
アプリの提供状況(地域ごとのステータス)
最も詳細な提供状況を確認できます。すべての地域について、isAvailable(true/false)、contentStatuses によるブロック理由、releaseDate、isPreOrderEnabled が表示されます。
asc app-availability get --app-id <APP_ID> [--pretty]
アプリの提供状況が設定されていない場合(App Store Connect に 提供状況を設定 と表示されている場合)、{"data":[]} が返され、ヒントが表示されます。次の手順で設定します。
asc app-availability create --app-id <APP_ID> --all-territories --available-in-new-territories
asc app-availability create --app-id <APP_ID> --territory USA --territory JPN [--available-in-new-territories]
--territory(繰り返し指定可能)または --all-territories(asc territories list にあるすべての地域)を指定します。REST では、{"territory": [...]} または {"all-territories": true} を指定して POST /api/v1/apps/:appId/availability を実行します。未リリースのアプリでは、すべての地域で CANNOT_SELL と AVAILABLE_FOR_SALE_UNRELEASED_APP が表示されます。リリース前であれば、これは想定どおりです。
約175の地域すべてと、そのステータスが返されます。主な contentStatuses の値は次のとおりです。
AVAILABLE— 通常どおり販売可能CANNOT_SELL_RESTRICTED_RATING— 年齢レーティングにより、この地域での販売が制限されていますMISSING_RATING— 年齢レーティングが設定されていませんICP_NUMBER_MISSING— 中国では ICP 番号が必要ですBRAZIL_REQUIRED_TAX_ID— ブラジルでは納税者番号が必要ですCANNOT_SELL_GAMBLING/CANNOT_SELL_CASINO— ギャンブルに関する制限- その他、30種類以上の具体的なブロック理由
すべての地域を一覧表示する
提供状況を設定する前に、有効な地域 ID を確認します。Apple には約175の地域があり、それぞれに ISO 形式の ID(例:USA、CHN、JPN)と通貨コードがあります。
asc territories list [--output table] [--pretty]
出力例:
ID Currency
USA USD
CHN CNY
JPN JPY
GBR GBP
DEU EUR
...
IAP の提供状況
現在の IAP の提供状況を取得する
IAP を現在利用できる地域を確認します。レスポンスには各地域の通貨コードも含まれます。
asc iap-availability get --iap-id <IAP_ID> [--pretty]
JSON レスポンスの例:
{
"data": [
{
"id": "avail-1",
"iapId": "iap-42",
"isAvailableInNewTerritories": true,
"territories": [
{ "id": "USA", "currency": "USD" },
{ "id": "CHN", "currency": "CNY" }
],
"affordances": {
"getAvailability": "asc iap-availability get --iap-id iap-42",
"createAvailability": "asc iap-availability create --iap-id iap-42 ...",
"listTerritories": "asc territories list"
}
}
]
}
IAP の提供状況を作成する
IAP を利用可能にする地域を設定します。各地域 ID を指定するには --territory(繰り返し指定可能)を使用し、Apple が将来追加する新しい地域を自動的に含めるには --available-in-new-territories を指定します。
asc iap-availability create \
--iap-id <IAP_ID> \
--available-in-new-territories \
--territory USA \
--territory CHN \
--territory JPN
| フラグ | 必須 | 説明 |
|---|---|---|
--iap-id | はい | 提供状況を設定する IAP ID |
--available-in-new-territories | いいえ | Apple が追加する新しい地域を自動的に含めます |
--territory | いいえ | 地域 ID(繰り返し指定可能)。有効な ID は asc territories list で確認できます |
サブスクリプションの提供状況
現在のサブスクリプションの提供状況を取得する
asc subscription-availability get --subscription-id <SUB_ID> [--pretty]
サブスクリプションの提供状況を作成する
asc subscription-availability create \
--subscription-id <SUB_ID> \
--available-in-new-territories \
--territory USA \
--territory GBR
| フラグ | 必須 | 説明 |
|---|---|---|
--subscription-id | はい | 提供状況を設定するサブスクリプション ID |
--available-in-new-territories | いいえ | Apple が追加する新しい地域を自動的に含めます |
--territory | いいえ | 地域 ID(繰り返し指定可能) |
CAEOAS の利便機能
すべての提供状況レスポンスには、そのまま実行できる後続コマンドが含まれます。
{
"affordances": {
"getAvailability": "asc iap-availability get --iap-id <ID>",
"createAvailability": "asc iap-availability create --iap-id <ID> ...",
"listTerritories": "asc territories list"
}
}
InAppPurchase モデルと Subscription モデルには、親リソースから移動するための getAvailability 利便機能も含まれます。
アプリ ID を解決する
project-context.md を参照してください。ユーザーに尋ねたり asc apps list を実行したりする前に、.asc/project.json を確認します。
一般的なワークフロー
APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')
# 1. Discover territories
asc territories list --output table
# 2. List IAPs for the app
asc iap list --app-id "$APP_ID"
# 3. Check current availability
asc iap-availability get --iap-id "$IAP_ID" --pretty
# 4. Set availability to specific territories with auto-include for future ones
asc iap-availability create --iap-id "$IAP_ID" \
--available-in-new-territories \
--territory USA --territory GBR --territory DEU --territory JPN
# Same flow for subscriptions:
asc subscriptions list --group-id "$GROUP_ID"
asc subscription-availability get --subscription-id "$SUB_ID"
asc subscription-availability create --subscription-id "$SUB_ID" \
--available-in-new-territories \
--territory USA --territory CHN
重要な概念
- 地域 ID:App Store Connect で使用される ISO 形式の国コード(例:
USA、CHN、JPN、GBR)。有効な ID はasc territories listで確認できます。 isAvailableInNewTerritories:trueの場合、Apple が新しい地域を追加すると、IAP/サブスクリプションが自動的にその地域で利用可能になります。地域を厳密に制御する必要がない限り、ほとんどのアプリで推奨されます。- 通貨:各地域には対応する通貨(例:
USD、CNY)があります。価格の基準を確認できるよう、提供状況のレスポンスでは地域 ID とともに表示されます。