mcpField
A
asc-app-infos

asc-app-infos

github.com/tddworksマーケティング・グロース587 回インストール5 週間前に更新
リポジトリ

asc-app-infos について

asc-app-infosは、`asc`コマンドラインでアプリの継続的なメタデータとローカライズを管理するスキルです。カテゴリ、名前、サブタイトル、プライバシー情報を扱い、リリースごとの情報とは区別します。

主な機能

  1. 01アプリ情報レコードの一覧表示
  2. 02メイン・サブカテゴリの設定
  3. 03App Storeカテゴリの参照
  4. 04ローカライズの作成・更新・削除
  5. 05言語別プライバシー情報の管理

活用シーン

  1. 01アプリカテゴリの更新
  2. 02ローカライズされた名前とサブタイトルの管理
  3. 03言語別プライバシーポリシー情報の変更

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-app-infos

インストール後、Claude Code で/asc-app-infosを入力して読み込まれたか確認します。

詳細

asc アプリ情報とローカライズ

asc CLI を使用して、アプリレベルのメタデータ(名前、副題、プライバシーポリシーの URL、カテゴリ)を管理します。

注:これは、バージョンレベルのメタデータ(asc version-localizations)とは異なります。バージョンレベルのメタデータでは、「新機能」、説明、キーワードを扱います。アプリ情報のローカライズには、アプリ名と副題が永続的に保持されます。

アプリ情報を一覧表示する

各アプリには、1 件の AppInfo レコードがあります(複数あることはまれです)。後続のコマンドで必要となる AppInfo ID を取得します。

asc app-infos list --app-id <APP_ID> [--pretty]

JSON 出力:

{
  "data": [
    {
      "id": "info-abc123",
      "appId": "6746148194",
      "affordances": {
        "getAgeRating":      "asc age-rating get --app-info-id info-abc123",
        "listAppInfos":      "asc app-infos list --app-id 6746148194",
        "listLocalizations": "asc app-info-localizations list --app-info-id info-abc123",
        "updateCategories":  "asc app-infos update --app-info-id info-abc123"
      }
    }
  ]
}

アプリ情報を更新する(カテゴリ)

プライマリカテゴリ、セカンダリカテゴリ、またはその両方を設定します。すべてのフラグは省略可能です(PATCH セマンティクス)。

asc app-infos update --app-info-id <APP_INFO_ID> \
  [--primary-category GAMES] \
  [--primary-subcategory-one GAMES_ACTION] \
  [--secondary-category UTILITIES]

アプリカテゴリを一覧表示する

すべての App Store カテゴリ ID を参照します(app-infos update に必要です)。

asc app-categories list [--platform IOS|MAC_OS|TV_OS] [--output table]

ID の例: GAMES、GAMES_ACTION、GAMES_PUZZLE、GAMES_ADVENTURE、BUSINESS、UTILITIES、EDUCATION、HEALTH_AND_FITNESS、ENTERTAINMENT、SOCIAL_NETWORKING、PRODUCTIVITY、FINANCE、MUSIC、TRAVEL、SPORTS

サブカテゴリは PARENT_SUBTYPE のパターンに従います(例:GAMES_ACTION は GAMES の配下です)。API は parentId フィールドを返しません。

ローカライズを一覧表示する

asc app-info-localizations list --app-info-id <APP_INFO_ID> [--output table]

テーブル出力:

ID        Locale    Name            Subtitle
--------  --------  --------------  --------------------
loc-001   en-US     My App          Do things faster
loc-002   zh-Hans   我的应用         更快地完成任务

ローカライズを作成する

新しいロケールエントリを作成します。--name は必須です(最大 30 文字)。

asc app-info-localizations create \
  --app-info-id <APP_INFO_ID> \
  --locale zh-Hans \
  --name "我的应用"

一般的なロケール:en-US、zh-Hans、zh-Hant、ja、ko、de、fr

ローカライズを更新する

すべてのフィールドは省略可能です。指定したフィールドのみが変更されます(PATCH セマンティクス)。

asc app-info-localizations update \
  --localization-id <LOCALIZATION_ID> \
  [--name "New App Name"] \
  [--subtitle "Do things faster"] \
  [--privacy-policy-url "https://example.com/privacy"] \
  [--privacy-choices-url "https://example.com/choices"] \
  [--privacy-policy-text "Our privacy policy text"]
フラグ説明
--nameアプリ名(最大 30 文字)
--subtitle副題(最大 30 文字)
--privacy-policy-urlメインのプライバシーポリシー URL
--privacy-choices-urlプライバシーに関する選択/オプトアウトの URL
--privacy-policy-textインラインのプライバシーポリシー本文

ローカライズを削除する

ロケールエントリを完全に削除します。

asc app-info-localizations delete --localization-id <LOCALIZATION_ID>

CAEOAS の付加機能

すべてのレスポンスには、すぐに実行できる後続コマンドが含まれます。

AppInfo:

{
  "affordances": {
    "getAgeRating":      "asc age-rating get --app-info-id <ID>",
    "listAppInfos":      "asc app-infos list --app-id <APP_ID>",
    "listLocalizations": "asc app-info-localizations list --app-info-id <ID>",
    "updateCategories":  "asc app-infos update --app-info-id <ID>"
  }
}

AppInfoLocalization:

{
  "affordances": {
    "delete":             "asc app-info-localizations delete --localization-id <ID>",
    "listLocalizations":  "asc app-info-localizations list --app-info-id <APP_INFO_ID>",
    "updateLocalization": "asc app-info-localizations update --localization-id <ID>"
  }
}

AppCategory:

{
  "affordances": {
    "listCategories": "asc app-categories list"
  }
}

アプリ ID を解決する

project-context.md を参照してください。ユーザーに尋ねたり asc apps list を実行したりする前に、.asc/project.json を確認します。

一般的なワークフロー

APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')
# If empty: ask user or run `asc apps list | jq -r '.data[0].id'`

# 1. Get the AppInfo ID
APP_INFO_ID=$(asc app-infos list --app-id "$APP_ID" | jq -r '.data[0].id')

# 2. See existing localizations
asc app-info-localizations list --app-info-id "$APP_INFO_ID" --output table

# 3a. Update an existing locale
LOC_ID=$(asc app-info-localizations list --app-info-id "$APP_INFO_ID" \
  | jq -r '.data[] | select(.locale == "en-US") | .id')
asc app-info-localizations update \
  --localization-id "$LOC_ID" \
  --name "My App" \
  --subtitle "Do things faster" \
  --privacy-policy-url "https://example.com/privacy"

# 3b. Add a new locale
asc app-info-localizations create \
  --app-info-id "$APP_INFO_ID" \
  --locale zh-Hans \
  --name "我的应用"

# 3c. Remove an unwanted locale
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>

# 4. Set app category
asc app-categories list --platform IOS --output table
asc app-infos update \
  --app-info-id "$APP_INFO_ID" \
  --primary-category GAMES \
  --primary-subcategory-one GAMES_ACTION

# 5. Check age rating (navigate via affordance)
asc age-rating get --app-info-id "$APP_INFO_ID"

2 種類のローカライズ

種類コマンドフィールド
AppInfoLocalizationasc app-info-localizations *name、subtitle、privacyPolicyUrl、privacyChoicesUrl、privacyPolicyText
AppStoreVersionLocalizationasc version-localizations *whatsNew、description、keywords、screenshots

アプリ情報のローカライズは、アプリのバージョンをまたいで保持されます。バージョンのローカライズはリリースごとに設定されます。

コメント