首页指南参考教程

EAS 元数据架构

EAS 元数据中存储配置的参考。


EAS 元数据处于测试阶段,可能会发生重大变化。

EAS 元数据中的存储配置包含原本通过应用商店仪表板手动提供的信息。本文档概述了存储配置中对象的结构。

¥The store config in EAS Metadata contains information that otherwise would be provided manually through the app store dashboards. This document outlines the structure of the object in your store config.

如果你使用 VS Code Expo 工具扩展,你可以通过编辑器中的自动补齐、建议和警告获得所有这些信息。

¥If you use the VS Code Expo Tools extension, you get all this information through auto-complete, suggestions, and warnings in your editor.

配置模式

¥Config schema

存储配置对象中的一个重要属性是 configVersion 属性。应用商店可能需要更多信息或更改现有信息结构才能发布你的应用。此属性有助于对不向后兼容的更改进行版本控制。

¥An essential property in the store config object is the configVersion property. App stores might require more or change existing information structures to publish your app. This property helps versioning changes that are not backward compatible.

EAS 元数据目前仅支持 Apple App Store。

¥EAS Metadata currently only supports the Apple App Store.

PropertyTypeDescription

configVersion

number

enum: 0

EAS 元数据存储配置架构版本。

apple

object

App Store 的所有可配置属性。

version

string

The app version to use when syncing all metadata defined in the store config.

EAS Metadata selects the latest available version in the app stores by default.

copyright

string

拥有应用专有权的个人或实体的名称,前面加上获得权利的年份。 (例如,"2008 埃克米公司")

advisory

AppleAdvisory

The App Store questionnaire to determine the app's age rating.

categories

AppleCategories

应用的应用商店类别。 你可以添加主要、次要和可能的子类别。

info

Map<AppleLanguage, AppleInfo>

你的应用的本地化 App Store 展示情况。

release

AppleRelease

所选版本的应用发布策略。

review

AppleReview

App Store 审核团队审核应用所需的所有信息,包括联系信息和凭据。 (如适用)

苹果咨询

¥Apple advisory

Apple 使用复杂的调查问卷来确定应用的 年龄分级。App Store 上的家长控制使用此计算出的年龄分级。默认情况下,EAS 元数据对每个问题使用限制最少的答案。

¥Apple uses a complex questionnaire to determine the app's age rating. Parental controls on the App Store use this calculated age rating. EAS Metadata uses the least restrictive answer for each of these questions by default.

Complete advisory with the least restrictive answers
store.config.json
{
  "configVersion": 0,
  "apple": {
    "advisory": {
      "alcoholTobaccoOrDrugUseOrReferences": "NONE",
      "contests": "NONE",
      "gamblingSimulated": "NONE",
      "horrorOrFearThemes": "NONE",
      "matureOrSuggestiveThemes": "NONE",
      "medicalOrTreatmentInformation": "NONE",
      "profanityOrCrudeHumor": "NONE",
      "sexualContentGraphicAndNudity": "NONE",
      "sexualContentOrNudity": "NONE",
      "violenceCartoonOrFantasy": "NONE",
      "violenceRealistic": "NONE",
      "violenceRealisticProlongedGraphicOrSadistic": "NONE",
      "gambling": false,
      "unrestrictedWebAccess": false,
      "kidsAgeBand": null,
      "seventeenPlus": false
    }
  }
}
PropertyTypeDescription

alcoholTobaccoOrDrugUseOrReferences

AppleAgeRating

该应用是否包含酒精、烟草或药物使用或参考内容?

contests

AppleAgeRating

该应用是否包含竞赛?

gambling

boolean

你的应用是否包含赌博内容?

gamblingSimulated

AppleAgeRating

该应用是否包含模拟赌博?

horrorOrFearThemes

AppleAgeRating

该应用是否包含恐怖或恐惧主题?

kidsAgeBand

AppleKidsAge

When parents visit the Kids category on the App Store, they expect the apps they find will protect their children's data, provide only age-appropriate content, and require a parental gate to link out of the app, request permissions, or present purchasing opportunities.

It's critical that no personally identifiable information or device information be transmitted to third parties, and that advertisements are human-reviewed for age appropriateness to be displayed.

Learn more

matureOrSuggestiveThemes

AppleAgeRating

该应用是否包含成熟或暗示性的主题?

medicalOrTreatmentInformation

AppleAgeRating

该应用是否包含医疗或治疗信息?

profanityOrCrudeHumor

AppleAgeRating

该应用是否包含脏话或粗俗幽默?

seventeenPlus

boolean

If your app rates 12+ or lower, and you believe its content may not be suitable for children under 17, you can manually set the age rating to 17+.

Learn more

sexualContentGraphicAndNudity

AppleAgeRating

该应用是否包含色情内容和裸体内容?

sexualContentOrNudity

AppleAgeRating

该应用是否包含色情内容或裸露内容?

unrestrictedWebAccess

boolean

你的应用是否包含不受限制的网络访问,例如使用嵌入式浏览器?

violenceCartoonOrFantasy

AppleAgeRating

该应用是否包含卡通或奇幻暴力内容?

violenceRealistic

AppleAgeRating

该应用是否包含现实暴力内容?

violenceRealisticProlongedGraphicOrSadistic

AppleAgeRating

该应用是否包含长时间的图形或残酷的现实暴力?

Apple 咨询年龄分级

¥Apple advisory age rating

NameDescription

NONE

对于不使用该主题的应用。

INFREQUENT_OR_MILD

对于提及主题或使用主题作为非主要功能的应用。

FREQUENT_OR_INTENSE

适用于使用主题作为主要功能的应用。

苹果咨询儿童年龄

¥Apple advisory kids age

NameDescription

FIVE_AND_UNDER

适合 5 岁及以下儿童。

SIX_TO_EIGHT

适合 6 至 8 岁的子级。

NINE_TO_ELEVEN

适合 9 至 11 岁的子级。

苹果类别

¥Apple categories

App Store 可帮助用户通过 将应用分类 使用主要类别、次要类别和可能的子类别发现新应用。

¥The App Store helps users discover new apps by categorizing apps into categories, using primary, secondary, and possible subcategories.

Primary and secondary category
store.config.json
{
  "configVersion": 0,
  "apple": {
    "categories": ["FINANCE", "NEWS"]
  }
}
Primary, subcategories, and secondary category
store.config.json
{
  "configVersion": 0,
  "apple": {
    "categories": [["GAMES", "GAMES_CARD", "GAMES_BOARD"], "ENTERTAINMENT"]
  }
}
NameDescription

BOOKS

应用的内容传统上以印刷形式提供,并提供额外的交互性。

BUSINESS

协助运营业务或提供协作、编辑或共享业务相关内容的方式的应用。

DEVELOPER_TOOLS

帮助用户开发、维护或共享软件的应用。

EDUCATION

提供特定技能或主题的交互式学习体验的应用。

ENTERTAINMENT

交互式应用旨在通过音频、视频或其他内容来娱乐用户。

FINANCE

提供金融服务或信息以帮助用户处理业务或个人财务的应用。

FOOD_AND_DRINK

提供与准备、消费或评论食品或饮料相关的建议、说明或评论的应用。

GAMES

Apps that provide single or multiplayer interactive experiences for entertainment purposes.

This category can have up to 2 subcategories.

GAMES_ACTION GAMES_ADVENTURE GAMES_BOARD GAMES_CARD GAMES_CASINO GAMES_CASUAL GAMES_FAMILY GAMES_MUSIC GAMES_PUZZLE GAMES_RACING GAMES_ROLE_PLAYING GAMES_SIMULATION GAMES_SPORTS GAMES_STRATEGY GAMES_TRIVIA GAMES_WORD

GRAPHICS_AND_DESIGN

提供用于创建、编辑或共享视觉内容的工具或提示的应用。

HEALTH_AND_FITNESS

与健康生活相关的应用,包括压力管理、健身和娱乐活动。

LIFESTYLE

与普遍感兴趣的主题或服务相关的应用。

MAGAZINES_AND_NEWSPAPERS

包含新闻内容的应用传统上以印刷形式提供,并提供额外的交互性。

MEDICAL

应用专注于为患者或医疗保健专业人员提供医学教育、信息或健康参考。

MUSIC

用于发现、聆听、录制、表演或创作音乐的应用。

NAVIGATION

提供信息以帮助用户到达物理位置的应用。

NEWS

提供有关政治、娱乐、商业、科学、技术和其他字段等感兴趣字段的时事和/或发展信息的应用。

PHOTO_AND_VIDEO

帮助捕获、编辑、管理、存储或共享照片和视频的应用。

PRODUCTIVITY

使特定流程或任务更有组织或更高效的应用。

REFERENCE

帮助用户访问或检索一般信息的应用。

SHOPPING

提供购买商品或服务方式的应用。

SOCIAL_NETWORKING

通过文本、语音、照片或视频将人们联系起来的应用。

SPORTS

与专业、业余、大学或休闲体育活动相关的应用。

STICKERS

Apps that provide extended visual functionality to messaging apps.

This category can have up to 2 subcategories.

STICKERS_ANIMALS STICKERS_ART STICKERS_CELEBRATIONS STICKERS_CELEBRITIES STICKERS_CHARACTERS STICKERS_EATING_AND_DRINKING STICKERS_EMOJI_AND_EXPRESSIONS STICKERS_FASHION STICKERS_GAMING STICKERS_KIDS_AND_FAMILY STICKERS_MOVIES_AND_TV STICKERS_MUSIC STICKERS_PEOPLE STICKERS_PLACES_AND_OBJECTS STICKERS_SPORTS_AND_ACTIVITIES

TRAVEL

帮助用户处理旅行各个方面的应用,例如计划、购买或跟踪。

UTILITIES

使用户能够解决问题或完成特定任务的应用。

WEATHER

具有特定天气相关信息的应用。

苹果信息

¥Apple info

App Store 是一项全球服务,许多人使用不同的语言使用。你可以在 多种语言 中本地化你的 App Store 存在。

¥The App Store is a global service used by many people in different languages. You can localize your App Store presence in multiple languages.

Minimal localized info in English (U.S.)
store.config.json
{
  "configVersion": 0,
  "apple": {
    "info": {
      "en-US": {
        "title": "Awesome app",
        "privacyPolicyUrl": "https://example.com/en/privacy"
      }
    }
  }
}
Complete localized info written in English (U.S.)
store.config.json
{
  "configVersion": 0,
  "apple": {
    "info": {
      "en-US": {
        "title": "App title",
        "subtitle": "Subtitle for your app",
        "description": "A longer description of what your app does",
        "keywords": ["keyword", "other-keyword"],
        "releaseNotes": "Bug fixes and improved stability",
        "promoText": "Short tagline for your app",
        "marketingUrl": "https://example.com/en",
        "supportUrl": "https://example.com/en/help",
        "privacyPolicyUrl": "https://example.com/en/privacy",
        "privacyChoicesUrl": "https://example.com/en/privacy/choices"
      }
    }
  }
}
PropertyTypeDescription

title

string

length: 2..30

Name of the app in the store. This name should be similar to the installed app name.

The name will be reviewed before it is made available on the App Store.

subtitle

string

length: 30

Subtext for the app in the store. For example, "A Fun Game For Friends".

The subtitle will be reviewed before it is made available on the App Store.

description

string

length: 10..4000

应用功能的主要描述

keywords

string[]

unique itemsmax length item: 100

帮助用户在 App Store 中找到应用的关键字列表

releaseNotes

string

max length: 4000

自上次公开版本以来的更改

promoText

string

max length: 170

该应用的简短标语

marketingUrl

string

max length: 255

应用营销页面的 URL

supportUrl

string

max length: 255

应用支持页面的 URL

privacyPolicyText

string

Apple TV 隐私政策

privacyPolicyUrl

string

max length: 255

URL that links to your privacy policy.

A privacy policy is required for all apps.

privacyChoicesUrl

string

max length: 255

用户可以在其中修改和删除从应用收集的数据或决定如何使用和共享其数据的 URL。

Apple 信息语言

¥Apple info languages

LanguageLanguage Code

Arabic

ar-SA

Catalan

ca

Chinese

zh-Hans (Simplified)

zh-Hant (Traditional)

Croatian

hr

Czech

cs

Danish

da

Dutch

NL-NL

English

en-AU (Australia)

en-CA (Canada)

en-GB (U.K.)

en-US (U.S.)

Finnish

fi

French

fr-CA (Canada)

fr-FR (France)

German

去 DE

Greek

el

Hebrew

he

Hindi

hi

Hungarian

hu

Indonesian

id

Italian

it

Japanese

ja

Korean

ko

Malay

ms

Norwegian

no

Polish

pl

Portuguese

pt-BR (Brazil)

pt-PT (Portugal)

Romanian

ro

Russian

ru

Slovak

sk

Spanish

es-MX (Mexico)

es-ES (Spain)

Swedish

sv

Thai

th

Turkish

tr

Ukrainian

uk

Vietnamese

vi

苹果发布

¥Apple release

有多种策略可以将应用交付给用户。你可以在商店批准后自动发布应用,也可以逐步向用户发布更新。

¥There are multiple strategies to put the app in the hands of your users. You can release the app automatically after store approval or gradually release an update to your users.

Automatic release after 25th of December, 2022 (UTC)
store.config.json
{
  "configVersion": 0,
  "apple": {
    "release": {
      "automaticRelease": "2022-12-25T00:00:00+00:00"
    }
  }
}
PropertyTypeDescription

automaticRelease

boolean|Date

If and how the app should automatically be released after approval from the App Store.

  • false - Manually release the app after store approval. (default behavior)
  • true - Automatically release after store approval.
  • Date - Automatically schedule release on this date after store approval (using the RFC 3339 format).

Apple does not guarantee that your app is available at the chosen scheduled release date.

phasedRelease

boolean

Phased release for automatic updates lets you gradually release this update over a 7-day period to users who have turned on automatic updates.

Keep in mind that this version will still be available to all users as a manual update from the App Store.

You can pause the phased release for up to 30 days or release this update to all users at any time.

Learn more

苹果评测

¥Apple review

在 App Store 上发布应用之前,需要获得商店批准。App Store 审核团队必须拥有测试你的应用的所有信息,否则你将面临应用被拒绝的风险。

¥Before publishing the app on the App Store, store approval is required. The App Store review team must have all the information to test your app, or you risk an app rejection.

Minimal review information
store.config.json
{
  "configVersion": 0,
  "apple": {
    "review": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john@example.com",
      "phone": "+1 123 456 7890"
    }
  }
}
Complete review information
store.config.json
{
  "configVersion": 0,
  "apple": {
    "review": {
      "firstName": "John",
      "lastName": "Doe",
      "email": "john@example.com",
      "phone": "+1 123 456 7890",
      "demoUsername": "john",
      "demoPassword": "applereview",
      "demoRequired": false,
      "notes": "This is an example app primarily used for educational purposes."
    }
  }
}
PropertyTypeDescription

firstName

string

min length: 1

The app contact's first name in case communication is needed with the App Store review team is needed.

lastName

string

min length: 1

The app contact's last name in case communication is needed with the App Store review team is needed.

email

string

email

电子邮件联系地址,以便需要与 App Store 审核团队进行沟通。

phone

string

Contact phone number in case communication is needed with the App Store review team.

Preface the phone number with "+" followed by the country code. (for example, +44 844 209 0611)

demoUsername

string

用于登录你的应用以查看其功能的用户名。

demoPassword

string

用于登录你的应用以查看其功能的密码。

demoRequired

boolean

A Boolean value indicates if sign-in information is required to review your app's features.

If users sign in using social media, provide information for an account for review.

Credentials must be valid and active for the duration of the review.

notes

string

length: 2..4000

Additional information about your app that can help during the review process.

Do not include demo account details in the notes. Use the demoUsername and demoPassword properties instead.

Expo 中文网 - 粤ICP备13048890号