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. 03浏览 App 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)不同,后者用于管理“最新动态”、描述和关键词。应用信息本地化包含持久化的应用名称和副标题。

列出应用信息

每个应用都有一条 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"

两种本地化类型

类型命令字段
AppInfoLocalizationasc app-info-localizations *name、subtitle、privacyPolicyUrl、privacyChoicesUrl、privacyPolicyText
AppStoreVersionLocalizationasc version-localizations *whatsNew、description、keywords、screenshots

应用信息本地化内容会在不同应用版本间保留。版本本地化内容则针对单个版本发布。

评论

支持 Markdown