asc-app-infos

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

asc App Info & Localizations

asc 应用信息与多语言本地化

Manage app-level metadata (name, subtitle, privacy policy URLs, categories) via the
asc
CLI.
Note: This is distinct from version-level metadata (
asc version-localizations
) which handles "What's New", description, and keywords. App info localizations hold the persistent app name and subtitle.
通过
asc
CLI管理应用级元数据(名称、副标题、隐私政策URL、分类)。
注意:这与版本级元数据(
asc version-localizations
)不同,后者负责管理“更新说明”、描述和关键词。应用信息多语言本地化存储的是持久化的应用名称和副标题。

List App Infos

列出应用信息

Each app has one AppInfo record (rarely more). Get the AppInfo ID needed for subsequent commands.
bash
asc app-infos list --app-id <APP_ID> [--pretty]
JSON output:
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"
      }
    }
  ]
}
每个应用对应一条AppInfo记录(极少出现多条)。获取后续命令所需的AppInfo ID。
bash
asc app-infos list --app-id <APP_ID> [--pretty]
JSON输出:
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"
      }
    }
  ]
}

Update App Info (Categories)

更新应用信息(分类)

Set primary and/or secondary category. All flags are optional (PATCH semantics).
bash
asc app-infos update --app-info-id <APP_INFO_ID> \
  [--primary-category GAMES] \
  [--primary-subcategory-one GAMES_ACTION] \
  [--secondary-category UTILITIES]
设置主分类和/或子分类。所有参数为可选(采用PATCH语义)。
bash
asc app-infos update --app-info-id <APP_INFO_ID> \
  [--primary-category GAMES] \
  [--primary-subcategory-one GAMES_ACTION] \
  [--secondary-category UTILITIES]

List App Categories

列出应用分类

Browse all App Store category IDs (required for
app-infos update
).
bash
asc app-categories list [--platform IOS|MAC_OS|TV_OS] [--output table]
Sample IDs:
GAMES
,
GAMES_ACTION
,
GAMES_PUZZLE
,
GAMES_ADVENTURE
,
BUSINESS
,
UTILITIES
,
EDUCATION
,
HEALTH_AND_FITNESS
,
ENTERTAINMENT
,
SOCIAL_NETWORKING
,
PRODUCTIVITY
,
FINANCE
,
MUSIC
,
TRAVEL
,
SPORTS
Subcategories follow the pattern
PARENT_SUBTYPE
(e.g.
GAMES_ACTION
is under
GAMES
). The API does not return a
parentId
field.
浏览所有App Store分类ID(
app-infos update
命令所需)。
bash
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
字段。

List Localizations

列出多语言本地化信息

bash
asc app-info-localizations list --app-info-id <APP_INFO_ID> [--output table]
Table output:
ID        Locale    Name            Subtitle
--------  --------  --------------  --------------------
loc-001   en-US     My App          Do things faster
loc-002   zh-Hans   我的应用         更快地完成任务
bash
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   我的应用         更快地完成任务

Create Localization

创建多语言本地化条目

Create a new locale entry.
--name
is required (up to 30 characters).
bash
asc app-info-localizations create \
  --app-info-id <APP_INFO_ID> \
  --locale zh-Hans \
  --name "我的应用"
Common locales:
en-US
,
zh-Hans
,
zh-Hant
,
ja
,
ko
,
de
,
fr
创建新的区域本地化条目。
--name
为必填参数(最多30个字符)。
bash
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

Update Localization

更新多语言本地化信息

All fields are optional — only provided fields are changed (PATCH semantics).
bash
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"]
FlagDescription
--name
App name (up to 30 characters)
--subtitle
Subtitle (up to 30 characters)
--privacy-policy-url
Main privacy policy URL
--privacy-choices-url
Privacy choices/opt-out URL
--privacy-policy-text
Inline privacy policy text
所有字段均为可选——仅修改提供的字段(采用PATCH语义)。
bash
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
内嵌隐私政策文本

Delete Localization

删除多语言本地化条目

Remove a locale entry permanently.
bash
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>
永久删除区域本地化条目。
bash
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>

CAEOAS Affordances

CAEOAS功能选项

Every response includes ready-to-run follow-up commands:
AppInfo:
json
{
  "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:
json
{
  "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:
json
{
  "affordances": {
    "listCategories": "asc app-categories list"
  }
}
每个响应都包含可直接运行的后续命令:
AppInfo:
json
{
  "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:
json
{
  "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:
json
{
  "affordances": {
    "listCategories": "asc app-categories list"
  }
}

Resolve App ID

解析App ID

See project-context.md — check
.asc/project.json
before asking the user or running
asc apps list
.
参见project-context.md — 在询问用户或运行
asc apps list
之前,请先检查
.asc/project.json
文件。

Typical Workflow

典型工作流程

bash
APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')
bash
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'

如果为空:询问用户或运行
asc apps list | jq -r '.data[0].id'

1. Get the AppInfo ID

1. 获取AppInfo ID

APP_INFO_ID=$(asc app-infos list --app-id "$APP_ID" | jq -r '.data[0].id')
APP_INFO_ID=$(asc app-infos list --app-id "$APP_ID" | jq -r '.data[0].id')

2. See existing localizations

2. 查看现有本地化信息

asc app-info-localizations list --app-info-id "$APP_INFO_ID" --output table
asc app-info-localizations list --app-info-id "$APP_INFO_ID" --output table

3a. Update an existing locale

3a. 更新现有区域本地化

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"
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

3b. 添加新区域本地化

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

3c. Remove an unwanted locale

3c. 删除不需要的区域本地化

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

4. Set app category

4. 设置应用分类

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
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)

5. 检查年龄分级(通过功能选项跳转)

asc age-rating get --app-info-id "$APP_INFO_ID"
undefined
asc age-rating get --app-info-id "$APP_INFO_ID"
undefined

Two Localization Types

两种本地化类型

TypeCommandsFields
AppInfoLocalization
asc app-info-localizations *
name, subtitle, privacyPolicyUrl, privacyChoicesUrl, privacyPolicyText
AppStoreVersionLocalization
asc version-localizations *
whatsNew, description, keywords, screenshots
App info localizations are persistent across app versions. Version localizations are per-release.
类型命令字段
AppInfoLocalization
asc app-info-localizations *
名称、副标题、privacyPolicyUrl、privacyChoicesUrl、privacyPolicyText
AppStoreVersionLocalization
asc version-localizations *
更新说明、描述、关键词、截图
应用信息本地化在各应用版本间持久保留。版本本地化则针对单个版本发布。