After developing, debugging, and testing an atomic service, you can submit a release request in AppGallery Connect. After the request is approved, users can search for your atomic service on AppGallery.
NOTE
- This guide applies only to the release of existing atomic services running on HarmonyOS 4.X or earlier versions. By default, a newly created atomic service runs on HarmonyOS 5.0 or later. For details about how to release such an atomic service, please refer to Releasing an Atomic Service.
- Currently, atomic services can be released only in the Chinese mainland.
Before You Start
- Configure the project signing information in DevEco Studio using the release certificate and release profile, and build an APP package that carries the release signing information. The APP package must meet the requirements listed in the following table.
Specification | Description |
APP package size | 10 MB or less. |
Size of each module in the APP package | - For an atomic service adopting the stage model:
- The size of each module of any type in your atomic service must not exceed 2 MB.
- The total size of a module and the Harmony Shared Packages (HSPs) it depends on via the dependency mechanism is 2 MB at most.
NOTE If an HSP is required by both an entry package and subpackages, it is only counted in the size of the entry package and not again in the subpackages. For example, if an atomic service contains an entry package and subpackage 1, the entry package depends on HSP 1 and HSP 2, and subpackage 1 depends on HSP 1 and HSP 3, then the size of the entry package = entry package itself + HSP 1 + HSP 2, and the size of subpackage 1 = subpackage 1 itself + HSP 3. - The total size of all modules for a device type of an atomic service is 10 MB at most.
- For an atomic service adopting the FA model: The size of each HAP is 10 MB at most.
|
Number of modules in the APP package | - For an atomic service adopting the stage model: For a device type, there can be only one entry package and 0 to N feature packages or HSPs.
- For an atomic service adopting the FA model: For a device type, there can be only one entry package and no feature package or HSP.
|
HAP type | All HAPs in an atomic service package must be installation-free. Specifically speaking: - For an atomic service adopting the stage model, ensure that the bundleType field in AppScope/app.json5 is set to atomicService.
- For an atomic service adopting the FA model, ensure that the installationFree field in src/main/config.json of every HAP is set to true.
|
APP package name | Ensure that the APP package name is the same as the package name automatically generated during atomic service creation in AppGallery Connect. |
- Properly prepare the following items.
Item | Description | Needed for Apps Released in the Chinese Mainland | Needed for Apps Released Outside the Chinese Mainland |
App icon | Prepare the app icon according to the specifications for app visual assets. | Yes | No |
For open testing | If you want to release an open testing version, create a test user list for open testing. | Yes | No |
Privacy permission description | Check whether your atomic service needs to obtain user privacy information. If so, prepare a description of the permissions, the range of devices where the permissions are used, a video of the usage scenario, and the reasons for using the permissions. | Yes | No |
Privacy statement | - Privacy statement URL: If your app collects or processes user information, provide a valid URL to your privacy statement, and ensure that the URL is accessible from the Internet.
- Data subject right URL: Provide a URL for users to exercise their privacy rights, including deleting, modifying, and exporting their personal data.
| Yes | No |
Electronic copyright certificate | Prepare an electronic copyright certificate in PDF format. | Yes | No |
App copyright certificate or agency certificate | Prepare the copyright certificate or agency certificate for your atomic service. | Yes | No |
Configuring App Information
Configure basic information about your app, which includes the compatible devices as well as the app name, app icon, and app category displayed on the app details page on AppGallery.
Accessing the App information Page
- Sign in to AppGallery Connect and click the One-stop platform for atomic services card below Getting started.

- Select the atomic service to be released from the drop-down list in the upper left corner.

- In the navigation tree on the left, choose App information below Atomic service release and configure app information.
NOTE
When configuring app information, click Save at any time you want to save your modifications.

Configuring Supported Devices
The device types selected when you created an atomic service are automatically selected by default in the Devices supported parameter in the Basic information area. You can change the device types as needed.
Select the supported device types in AppGallery Connect based on the device types declared in your package (that is, the enumerated values of deviceTypes in the module.json5 configuration file). Ensure that the device types declared in your package cover all the supported device types selected here.

Before configuring supported device types, pay attention to the following:
- If you select Router during atomic service creation, you cannot select other device types.
- Before releasing an atomic service, you can change the supported device types, including adding and deleting device types. However, once the atomic service is released, you can only add but cannot delete device types during an update of the atomic service.
- For Vision devices, you can also select Remote control as the input device.

- The compatibility configuration displayed after Mobile phone or Tablet is selected for Devices supported only takes effect for HarmonyOS NEXT apps and atomic services.
Configuring Basic Localization Information (App Languages, Name, and Icon)
In the Localization area, you can configure the atomic service languages and name, and upload an atomic service icon.
- Configure atomic service languages.
The default language selected for your atomic service during atomic service creation is displayed here by default. To add another language for the atomic service, click Manage languages next to Language in the Localization area.

If you have configured multiple languages, select the languages from the
Language drop-down list box and complete basic localization settings in each language. You can upload visual assets for each language. If no visual assets are uploaded for a language, the visual assets in the default language will be used.
- If a language has a green check mark displayed on the right, basic localized settings have been completed for it.

- If the basic localized settings are not completed for a language, a message in red is displayed.

- Enter an atomic service name.
The default name is the one set for your atomic service during atomic service creation. The name can be modified but must meet the following requirements:
- The atomic service name must be the same as that in the package and comply with rules in Atomic Service Information.
- The atomic service name must not be identical to any atomic service that meets the following conditions: it is under the same account, uses the same language, targets the same device type, and is in one of the following states: publicly available, under release review (submitted within the past month), or removed (with approval completed within the past 180 days).
- The atomic service name must not be identical to any HarmonyOS app or atomic service under other developers' accounts that meets the following conditions: it uses the same language and is in one of the following states: publicly available, under release review (submitted within the past month), or removed (with approval completed within the past 180 days).
If the system displays a message indicating that the atomic service name already exists, use another name. If you find any infringement or piracy, file an appeal through the interaction center.

- Upload an atomic service icon for each type of device on the corresponding tab page. The atomic service icon must be the same as that in the package and comply with rules in Atomic Service Information and Specifications for App Visual Assets.
The device tab pages displayed depend on the supported device types you have selected. The figure below is just an example.
NOTE
- For an atomic service designed for mobile phones, tablets, or watches, use the atomic service icon generation tool to automatically generate a standard icon. Otherwise, the atomic service may be rejected due to a non-standard icon.
- Mobile phones and tablets share the same visual asset, which can be uploaded on the Mobile phone/Tablet tab page.
- Sports watches and smart watches share the same visual asset, which can be uploaded on the Watch tab page.
- For visual assets to be displayed on Vision devices, upload them on the Vision tab page.


Setting an App Category, Tags, and Qualifications
Select the category to which your atomic service belongs and atomic service tags in the Categorization area based on the functions and content provided by your atomic service. Then submit the required qualification documents. Click here to learn more about the requirements for qualification documents.
NOTE
For apps running on watches, only categories can be set, while tags cannot.
- Click Set to access the Category tags and qualifications page.

- Select a level-2 category from the App category drop-down list box.

- Click Add tag next to App tag and select tags.
You can select up to five tags, and filter them by level-2 category during selection.

- After you select a category and tags, the UI will display all qualification documents that you need to upload. The qualification documents are associated with the selected category and tags.

- Click Upload next to each qualification document, upload the qualification document according to the instruction, and select the validity period of the qualification document.

- Click Submit in the upper right corner of the page to submit your qualification documents. Huawei operations personnel will review your qualification documents within 1 to 3 working days. While the review is pending, you can click the refresh icon next to Pending review to check the review status or click View in the Operation column to view the uploaded qualification documents.
NOTICE
The configured tags can take effect only after the qualification documents are approved.

- After your qualification documents and tags have been approved, click Add tag and select tags that have taken effect. If you have selected multiple tags, click Set as primary tag to set one of them as the primary tag. The primary tag must be associated with the app category you have selected.

Note that if the Category tags and qualifications menu is not displayed for your atomic service, you can directly select a category and tags in the Categorization area on the App information page.

You can apply to Huawei operations personnel for access to the Category tags and qualifications menu if needed. After receiving your email, Huawei operations personnel will arrange a support specialist for you within 1 to 3 working days. Send a request email according the following requirements:
- Email address: agconnect@huawei.com
- Email subject: [Request for atomic service qualification review]-[Company name]-[Developer ID]. For details about how to query information such as the developer ID, please refer to Viewing App Basic Information.
- Email body: Please specify the reason of your request.
Configuring Service Information
You can also configure your service information, which will be available to users in regions where your atomic service is accessible. We may also provide your customer service contact details for atomic service inquiries. Please ensure all information is accurate. Your service information includes:
- Read-only parameters: Provider name, Provider name in English, Developer name, and Developer name in English
- Optional
- Website: Enter a valid URL starting with http:// or https://. This parameter is available only for app-type atomic services of enterprise/individual developers in the Chinese mainland and enterprise developers outside the Chinese mainland.
- Customer service phone number: Please use the format of International calling code/National calling code-Phone number, for example, 0086-137xxxxxxxx and 0755-xxxxxxxx.
- Email: Enter a valid email address.
- Customer service QQ: Enter a valid QQ number.
- App issue feedback path: Enter a path for atomic service issue feedback, for example, AppGallery > Me > Help.

Uploading Your Package
After entering the atomic service information, you can upload the package. AppGallery Connect performs a basic validity check on the uploaded package. Only the package that passes the check can be selected during version release.
NOTICE
- Ensure that the API version of the package matches the HarmonyOS version on which the atomic service runs. For atomic services running on HarmonyOS 3.1, 4.0, or earlier, only packages with API version earlier than 10 can be uploaded.
- The package for sports watches contains JavaScript source code required for the standard JavaScript runtime of sports watches. Please keep the code asset safe.
- The device scope declared in the package must include all devices selected as supported in AppGallery Connect. Compatible devices do not need to be included.
- In the navigation tree on the left, choose Package management below Atomic service release and click Upload in the upper right corner of the page.

- In the Upload package window, select a usage scenario, specify whether your package will be available in the Chinese mainland, and click the plus sign (+) to upload the atomic service package.
If the uploaded package needs to be released only for testing, you can select Only testing. If the package needs to be released officially on the entire network, select Testing and official release.

- After the upload is complete, a record is generated on the package management page, displaying the basic information about the package.
- File name: file name of the package.
- Package name: name of the atomic service package, which corresponds to the bundleName field in the package.
- Version(Version code): version name and version number, which correspond to the versionNumber and versionCode fields in the package, respectively.
- Build version: build version number, which is used to distinguish different test sub-versions of the same major version. It corresponds to the buildVersion field in the package. If the package does not contain the buildVersion field, -- is displayed.
- Device type: supported device types, which corresponds to the deviceTypes field in the package.
- Usage scenario: package usage scenario selected during package upload.
- Uploaded: time when the package was uploaded.
- Status: validity check result.
- Passed: The package fully complies with HarmonyOS ecosystem specifications and can be submitted for release. You can click View report to view the details.

- To be optimized: The package can be submitted for release, but there are some issues that may lead to rejection during review or negatively impact user experience. You are advised to click View report to view the detailed check result and further optimize your package.

- Failed: The package does not meet the basic release requirements and cannot be released.
- If a result code is displayed next to Failed, for example, 993, as shown in the following figure, you can click the result code link to view the FAQs and make modifications based on the causes and suggestions provided in the FAQs.

- If View report is displayed next to Failed, click View report to access the check result details page.

Configuring Version Information
Now, you can select the package to be released, configure the release countries/regions and copyright information, and submit your atomic service to AppGallery Connect for review.
Selecting the Package to Be Released
- In the navigation tree on the left, click Draft under Version information. In the App version area, click Select version.

- Select the package uploaded on the Package management page and click Select.
When selecting a package, you can click
in front of the file name to view the package details, such as the package name, SHA-256, size, and API version. Ensure that the package information is the same as that of your version to be released.

If the message "No version available" is displayed, the possible causes are as follows:
- You have not uploaded a package for the atomic service. In this case, click Upload to go to Package management to upload your package.
- The uploaded package failed to be parsed. In this case, click Upload to go to Package management, resolve the problem based on the error information in the Status column, and upload the package again.
- You have set Usage scenario to Only testing when uploading the package. In this case, click Upload to go to Package management, upload the package again, and make sure that Testing and official release is selected for Usage scenario.

Managing Release Countries/Regions
In the Country/Region for release area, select countries/regions in which your atomic service will be released based on your needs. Currently, atomic services can be released only in the Chinese mainland.

Configuring Basic Localization Information (Full Introduction and Brief Introduction)
In the Localization area, configure the full introduction and brief introduction for your atomic service.
NOTE
- The Language drop-down list box displays all languages you have set on the app information page. If you have configured multiple languages on the app information page, select the languages from the Language drop-down list box and complete basic localization settings for each language. You can upload visual assets for each language. If no visual assets are uploaded for a language, the visual assets in the default language will be used.
- In the Language drop-down list box, you can only switch between available languages; adding or deleting languages is not supported.

Parameter | Description |
Full introduction | This parameter is mandatory. Describe the functions and positioning of your atomic service, with up to 8000 characters. |
Brief introduction | This parameter is mandatory. Briefly describe the features of your atomic service. A good brief introduction can help acquire more taps. A maximum of 17 characters are allowed. |
Deciding Whether the Version Is for Open Testing
Open testing allows specified users to test your atomic service. Only invited test users can access your atomic service for testing, while others cannot view it.
NOTICE
Currently, open testing of atomic services is supported only in the Chinese mainland and is limited to mobile phones, tablets, and smart watches.

Configuring In-App Purchases
Select one or more types of in-app purchases supported in your atomic service, such as payments for virtual items or subscribing to memberships.

Configuring Content Rating
Age rating information is mandatory for you to describe the intended audience of your app. Age ratings displayed on AppGallery help users find apps suitable for their ages, especially for minors.
Fill out the questionnaire, and you will get the age rating result.
- Click Set.

- Click Start questionnaire as prompted.

- Answer questions as required. If you want to modify an answer, click the corresponding position to answer again. If you cannot complete the questionnaire now, click Save for later use.
NOTICE
Please answer the questions in the age rating questionnaire based on the actual situation. False statements about your app content may lead to app removal or freezing.

- After answering all the questions in the questionnaire, click Verify to view the youngest age group applicable to your app.
NOTICE
If the content rating result is Rating rejected, view the detailed rejection reason on the page, modify the content, and upload your app again.

- Based on the youngest age group applicable to your app, select the expected age rating based on the app requirements, and click Submit.
NOTE
If the age rating of your app is 16+ or lower, but you think the content is more suitable for users over 18, you can select Rated 18+ under Your expected age rating, and your app's content rating will be 18+ on AppGallery.

If you have categorized your app as a Kids app and you have selected rating 3, 7, or 12 for this app, you will be prompted to confirm whether this app is intended only for kids again.

- If you select Yes and your app's category is Kids, by clicking OK, your content rating configuration will be successfully submitted.
- If you select Yes but your app's category is not Kids, you need to change its category to Kids. You can click the link in the prompt to go to the App information page and change the category.

- If you select No, by clicking OK directly, your content rating configuration will be successfully submitted.
- After the rating is submitted, view the age rating result in the Content rating area.
NOTICE
The age rating questionnaire is subject to changes. When that happens, you will be instructed to fill out the questionnaire again and submit your app for release.

You can click Set in the Content rating area to fill out the new questionnaire.
NOTE
If you want to update your app, and the new version contains content that is no longer in accordance with the answers that you provide earlier in the age rating questionnaire, you need to fill out the questionnaire again in AppGallery Connect by clicking Set to update the answers. Otherwise, your earlier answers will be applied to your new app version.
If you have any other questions, submit a ticket.
Configuring Privacy Permissions
If your package needs to obtain sensitive privacy permissions or restricted permissions from users, configure relevant information in the Privacy description area. Otherwise, go to the next step. The reason for using a permission cannot exceed 500 characters.

Configuring a Privacy Statement
In the
Privacy statement area, provide relevant URLs.
- Privacy policy URL: Users can access this website to understand how your atomic service processes sensitive user data and device data.
- Data subject right URL: Users can access this website to exercise their rights, for example, deleting, modifying, and exporting their personal data.


Configuring AI Function Declaration
According to laws and regulations, when an app is released or submitted for review, the app service provider must specify whether the app provides the generative AI service. For details, please refer to FAQs About Labeling Content Generated by Artificial Intelligence.
- If the package does not contain AI-generated content, select Not involved for Generative AI service.
- If the package contains AI-generated content, select Involved for Generative AI service. Then select the generative AI service type, and proceed to Category tags and qualifications > Add tag to upload AI content identification materials or relevant qualification documents.

(Optional) Setting Copyright Information
For some existing atomic services that do not support independent qualification reviews, you are required to upload the necessary qualification documents for releasing the atomic services in the Copyright information area. If you have submitted the qualification documents through the Category tags and qualifications menu, skip this step.
- App copyright certificates or agency certificates are optional. Upload JPG, PNG, or BMP files. By default, five image upload boxes are displayed. To add more images, click the plus sign (+) in the dotted box. You can add up to 10 images, each not exceeding 15 MB.
NOTE
If the number of copyright proof images exceeds the maximum, you are advised to combine the images before uploading them.

Configuring the Review Information
In the
For reviewer area, enter remarks that you need to leave to Huawei reviewers. The information will be displayed only to reviewers.
- The remarks can be any additional information that may help with the review, including special configurations required during testing.
- If authentication is required during the review of functions such as sign-in, information query, and payment, provide a test account for Huawei reviewers to test these functions.
- If your atomic service needs to interact with devices, you also need to submit your testing records. You may upload up to five files in DOCX format (no larger than 15 MB each) or MP4 format, with a total maximum size of 500 MB for all files. Submitting files that record your own testing process will make your atomic service more likely to be approved.

Scheduling Your Atomic Service Release
You can release the atomic service either immediately after it is approved or at a specified time.
NOTE
The specified time is set in your local time, which will then be automatically converted into the UTC time before being displayed.

Submitting for Review
- Click Submit in the upper right corner. In the displayed dialog box, confirm the version number, and click OK.
- After the atomic service is submitted, you can view its status in Status on the Version information page.

Manually Releasing an Atomic Service
If you have set a specific release time for an approved atomic service, you can manually release it at any time before the set release time. To do so, click Release now in the upper right corner of the Version information page and then click OK in the displayed dialog box. Manual release will take effect in a few minutes.

NOTICE
After your atomic service is successfully released, AppGallery Connect will re-sign the atomic service to ensure that the atomic service source is valid and the atomic service can be properly installed. Re-signing does not change the signature of your atomic service or affect subsequent atomic service updates.