Skip to main content

App Library

Manage public enterprise apps in the app library for approved organizations. Only published apps can be added by target enterprises.

Updated yesterday

1. Features and Objectives

The App Library module serves as the enterprise app distribution hub on the KiwiCloud platform, designed for SaaS providers, system integrators, and headquarters administrators. It allows the publishing of Enterprise Public Apps, with support for access control based on target organizations. Administrators can upload APK files, configure app details and permissions, manage versions, and submit for platform approval before official release.

Once approved and published, the public app will appear in the target customer's My Apps > Add Enterprise Public App list. Customers can add the app to their own My Apps section and use it for policy distribution and version management.

This mechanism supports cross-enterprise app sharing while ensuring version consistency, transparent permissions, and controlled deployment. It is a key component of KiwiCloud’s multi-tenant architecture for shared and reusable applications.

Notes

  • Only Enterprise Public Apps can be published through the App Library; these apps cannot be used directly in the publisher’s own policy configurations.

  • Apps must go through a submission and approval process; only apps with the "Published" status will be visible to target enterprises.

  • All public app releases must be approved by a KiwiCloud app administrator.

  • The app’s distribution scope can be configured by enterprise to limit visibility to authorized customers.

  • Currently, only Android .apk packages are supported.

  • All version management and release/unrelease operations should be performed with caution, as they affect the strategy execution of all enterprises that have added the app.

Primary Operations

Operation

Description

Publish Enterprise Public App

Upload and configure a new public app to the platform. Initially saved as a draft and requires approval for publishing.

View App Details

View version history, permissions, publishing scope, logs, and switch between versions.

Secondary Operations

Operation

Description

Submit

Submit a draft app to enter the review queue. The app will be reviewed by platform administrators.

Edit

Modify basic app info such as category, description, and compatibility. Changes to permissions, publishing scope, or icons will reset the approval status.

Add New Version

Upload a new APK version under an existing app. The version code must be higher than the current version. Requires approval.

Version List

Manage version details and status. Includes viewing details, activate, deactivate, editing, etc.

Cancel Publishing

Available only for apps in review. Cancels the submission and returns the app to draft state for further edits.

Activate / Deactivate

Control the visibility of the app for customers. Published apps are visible; unpublished ones are hidden and policies may be affected.

Delete

Permanently delete an app in draft or unpublished status. Deletion is irreversible. If other enterprises have already added the app, their access will not be affected.

Typical Use Cases

  • A SaaS provider publishes core apps to the platform for specific enterprise customers;

  • IT administrators at headquarters share standardized business apps with regional branches;

  • Channel integrators distribute utility or service apps to multiple clients;

  • Custom developers use KiwiCloud to distribute proprietary APKs for client-specific needs.

2. Main Operations

2.1 Publish Enterprise Public App

Description

This function allows your organization to publish a public app to the platform, making it available to other organizations. By uploading the APK file, filling in app information, and configuring permissions, you can define the target scope (your organization, sub-organizations, or external organizations) for shared deployment and version control.

  • This feature is suitable when your organization wants to provide a self-developed app to other customers or subsidiaries.

  • All published apps will appear in the “My Apps > Add Enterprise Public App” section of the target enterprise.

  • After publishing, the app enters a “Pending Review” status. It will only become active upon approval.

Notes

  • Target scope includes your own organization, its sub-organizations, and other platform organizations.

  • “Select Enterprise” displays the current org and its sub-orgs;

  • “Import/Input Enterprise ID” allows targeting external orgs – make sure the ID is correct;

  • After publishing, the app enters a “Pending Review” status and must be approved by KiwiCloud admin to go live;

  • Apps in "Pending Review" status support Approve or Cancel Publish actions;

  • To update the app, it’s recommended to cancel and republish.

Steps

  1. Agree to the Public App Publishing Agreement

    • The system will prompt the publishing agreement before proceeding;

    • Check “I have read and agree to the Public App Publishing Agreement” to continue.

  2. Upload App

    • Click Upload File and select the APK;

    • The system automatically parses the package name, app name, and version;

    • Once uploaded, click Next.

  3. Configure App Info

    • Select a category (system-provided);

    • Choose compatibility scope (All / Model / Device Type);

    • Fill in supported devices and app description;

    • Configure permission behavior (Allow / Deny / User Control).

  4. Set Publishing Scope

    • You can choose from the following options:

      • All: Make the app available to all platform organizations;

      • Partial:

        • Select Enterprise: Displays current org and sub-orgs;

        • Import Enterprise ID: Upload a list of Enterprise IDs;

        • Input Enterprise ID: Manually enter Enterprise IDs;

    • Multiple options can be selected.

  5. Submit for Review

    • After completing all configurations, click Submit;

    • App status changes to Pending Review;

    • Only after approval by the KiwiCloud App Admin will the app status become “Published”, allowing other enterprises to view and use it.

2.2 View App Details

Description

This function allows viewing the public app details uploaded by your organization. It applies to apps in Draft, Published, or Unpublished states. The details page provides centralized visibility into the app's basic info, permission settings, publishing scope, and operation logs—helping administrators review and track app configurations before and after publishing.

Notes

  • Only apps in Draft / Published / Unpublished status are supported;

  • Each tab displays information for the currently selected version, which can be switched via the version dropdown at the top;

  • Permissions are parsed by the system and cannot be edited on this page;

  • To edit version content, return to the main list and use Edit or Add New Version.

Steps

  1. Open the Details Page

    • In the App Library module, locate the target app and click Details on the right;

    • The "App Details" window will open.

  2. View Overview Section

    The top section displays the basic information of the current app version:

    • App Name: Display name of the current version

    • Created By: Account that first uploaded the app

    • Created Time: Timestamp when the app was first created

    • Version List: Dropdown showing all versions (supports switching)

    • Publisher: Organization that published the app

    • Devices Installed: Number of devices with the current version installed

Tab Content Descriptions

The detail view includes multiple tabs as follows:

1. App Info

Displays the basic info of the selected version, including:

  • App category (e.g., Tool, Security)

  • Package name

  • Version code

  • Compatibility scope

  • Supported devices

  • description

2. App Permissions

Displays the list of sensitive permissions requested by the app, including:

  • Permission items (e.g., Storage, Camera, Location)

  • Permission control policies (Allow / Deny / User Control)

Note: Permissions are automatically parsed upon upload.

3. Publishing Scope

Displays the configured publishing scope for the current version, including:

  • Scope: All / Part;

  • List of target organizations (Name, ID, Location);

If the scope is set to “All,” the customer list will not be displayed.

4. Operation Logs

Shows all user operations for the current version, including:

  • Operation type (e.g., Publish Public App, Edit App Info)

  • Operator, result, and timestamp

  • Supports pagination and export

5. System Logs

Displays system-executed records such as:

  • System responses (success/failure)

  • Supports time-based filtering

3. Secondary Operations

3.1 Submit

Description

This function is used to submit a Draft public app for platform approval. Once submitted, the app status will change to Pending Review. The app must be approved by a KiwiCloud App Administrator before it can be officially published and used.

Notes

  • Only apps in Draft status can be submitted;

  • After submission, a Cancel Publishing button becomes available;

  • If the submission is rejected, the app will revert to Draft status and must be modified before re-submission;

  • Once submitted, the app enters the publishing workflow and cannot be edited—ensure all configurations are correct before submission.

Additional Notes

  • Submitted apps cannot be edited; to make changes, cancel the submission first;

  • Before approval, the app will not be visible to other organizations or appear in the "Enterprise Public Apps" list;

  • All submission and approval actions are logged for auditing purposes;

  • There is no confirmation popup—review version and configuration details carefully before submitting.

Steps

  1. Open the App List

    • Go to the My Apps page;

    • Locate a public app in Draft status (e.g., Easy Dialer).

  2. Click [Action] > [Submit]

    • The system will execute the submission immediately without a confirmation popup;

    • Once submitted, the app status changes to Pending Review, and the action item updates to Cancel Publishing.

  3. Check Submission Status

    • After successful submission, you may choose Cancel Publishing to withdraw the release if needed.

3.2 Edit

Description

This function allows editing of a public app version that has already been created. It applies to apps in Draft, Published, or Unpublished status. Administrators can modify app details, permission settings, adaptation range, and more. Whether the changes require re-approval depends on the type of fields modified.

Notes

  • All fields are editable. Changes to description and category do not require approval and take effect immediately upon saving. Modifications involving the icon, APK file, permissions, or release scope require re-submission for approval;

  • Edits will not impact devices that already have the current version installed;

  • If you need to publish a brand-new version, it is recommended to use Version Management > Add Version;

  • Apps that are currently under review cannot be edited again until the review is completed or canceled;

  • All edit actions are recorded in the operation logs for audit purposes.

Steps

  1. Click [Action] > [Edit]

    • Go to the App Library;

    • Locate the public app you want to modify, then click [Action] > [Edit] on the right;

    • You will be redirected to the app edit page.

  2. Edit App Information

    • All fields can be updated.

  3. Submit Changes

    • If you only change the description or category, click [Save] and the changes will take effect immediately;

    • If you modify permissions, release scope, icon, or upload a new APK file, the system will enter the Pending Review flow after saving;

    • Once submitted, the app status will be updated to Pending Review, and it will be officially published after KiwiCloud administrator approval.

  4. Check Edit Status

    • Return to the App Library main list to see the status updated to Pending Review;

    • The Cancel Publishing option remains available—click to withdraw the submission if needed.

3.3 Add New Version

Description

This function allows you to add a new version to an existing public app. It is suitable for application upgrades, feature updates, or bug fixes. Once approved, the new version will replace the previous one as the default distribution version. The version addition process is similar to Publishing a Public App, but the new version must meet the requirements of unique and incremented version number.

Notes

  • You can start the version addition process from two entry points:

    • Click [Action] > [Add New Version] in the app list;

    • Click [Add New Version] from the Version List under [Action];

  • The APK package name must be identical to the original version;

  • The version number must be higher than the currently highest version;

  • Once added, the app enters Pending Review status. It becomes effective after approval;

  • Older versions remain unaffected and can coexist with the new version;

  • If any enterprise is using "Latest Version" in their app publish or update strategy, the approved new version will be automatically pushed to their target devices for upgrade;

  • To perform a staged rollout, use the Partial Enterprises option in the release scope to control version visibility.

Steps

  1. Upload App File

    • Upload the APK file. The system will automatically parse the package name and version;

    • Check “I have read and agreed to the Public App Publishing Agreement” to proceed;

    • The system will validate the package name and version number upon upload.

  2. Configure App Information

    • Set the app icon, category, supported devices, and description;

    • Configure permission controls as Allow / Deny / User Control;

  3. Set Release Scope

    • Choose the scope of release:

      • All Enterprises;

      • Specific Enterprises (Select / Import IDs / Enter IDs);

    • Helps to ensure precise control over which clients receive the version.

  4. Submit for Review

    • After submission, the version status becomes Pending Review;

    • It will only take effect after KiwiCloud administrator approval;

    • You may use Cancel Publishing from the list view to withdraw the version.

3.4 Version List

Description

This feature displays all version records of a public app, allowing version-level management such as viewing details, editing, unpublishing, and deleting specific versions.

It is suitable for scenarios such as maintenance, version switching, and phased rollouts, helping administrators clearly track version distribution status.

Notes

  • The list displays data at the version level—each version has an independent status;

  • Draft versions can be edited and submitted; Published versions can only be unpublished, not edited;

  • If an enterprise uses the "Latest Version" strategy, publishing a new version will automatically trigger an update;

  • If multiple versions are in the "Published" state, only the latest version will be used as the default recommendation;

  • Unpublishing a version does not affect its usage on existing devices—it only limits future distribution and policy targeting.

Steps

  1. Enter Version List

    • Go to the App Library;

    • Click [Action] > [Version List] next to the target app;

    • The system will display all historical versions of the app.

  2. View Version Records

    • Each row represents one version and includes:

      • Version Name

      • App Version Code

      • Status (Published / Unpublished / Draft)

    • Pagination is supported for browsing multiple versions.

  3. Perform Version Operations

    • Each version provides an action dropdown with options:

      • Version Details: View complete configuration;

      • Edit Version: Available only for Draft or Unpublished versions;

      • Unpublish Version: Remove a published version from availability;

      • Delete Version: Permanently delete an unpublished version;

    • Click [Add New Version] at the top to start the version addition workflow.

3.5 Version Details

Same as [2.2 Details], please refer to that section for full instructions.

3.6 Edit Version

Same as [3.2 Edit ], please refer to that section for full instructions.

3.7 Deactivate Version

Description

This feature is used to unpublish a previously "Published" version of a public app. It is suitable for scenarios such as version deprecation, bug accumulation, compliance issues, or planned distribution termination.

Notes

  • Only versions in Published status support the unpublish operation;

  • This operation is irreversible. To republish the version, you must manually re-execute the publish operation;

  • Once unpublished, the following impacts will occur:

    • New customers cannot add this version to their policies or deploy it;

    • Customers who have already installed this version will not be affected;

    • If this version has already been included in:

      • App Distribution Policy

      • App Update Policy

      • Kiosk Policy, but not yet executed, the system will skip installation;

    • You cannot re-upload the same version number APK file after unpublishing. Please increment the version number;

    • The unpublished version will remain in the Version List with status “Unpublished” for record-keeping and history review;

  • Unpublishing affects platform-level distribution and visibility only. It will not uninstall the app from any device that already has it installed.

Steps

  1. Go to Version List

    • In the App Library, click [Action] > [Version List];

    • Locate the target version to unpublish.

  2. Initiate Unpublish Action

    • On the right side of the target version, click [Action] > [Deactivate];

    • A confirmation popup will appear: "Are you sure you want to unpublish this version?" Click [Confirm] to proceed;

    • The version status will change to Unpublished;

3.8 Activate Version

Description

This feature allows an unpublished app version to be restored to the Published status. Once republished, the version becomes visible again to all authorized enterprises within the original distribution scope and can be included in App Distribution Policies or App Update Policies.

Notes

  • Only versions with the status Unpublished support the Republish Version action;

  • After initiating the action, a confirmation popup will appear. The operation takes effect once you click [Confirm];

  • Once republished, the version becomes visible again in "Add Enterprise Public App" under My Apps;

  • This operation does not affect other versions or override the current default distribution version;

  • If you're promoting a newer version, it's recommended to use "Add Version" instead of republishing an older one.

Steps

  1. Go to the app’s [Version List] page;

  2. Locate the target version with status Unpublished, and click [Activate];

  3. A confirmation popup will appear: “Are you sure you want to republish this app?” Click [Confirm] to proceed;

  4. Once submitted, the version status will automatically update to Published.

3.9 Cancel Publishing

Description

This feature allows you to withdraw a public app that is still under review (i.e., in the "Pending Review" status). After cancellation, the app's status will revert to Draft, allowing further edits and resubmission for review.

Notes

  • Only apps in the Pending Review status support this action;

  • Once canceled, the current publication process is terminated and the app is removed from the "App Publishing Queue";

  • A confirmation popup will appear. Once confirmed, the operation is irreversible;

  • The app status changes to Draft, enabling you to modify and resubmit;

  • Other published versions of the app remain unaffected;

  • To completely remove an app, use the Unpublish Version or Delete option (if available);

  • Canceling publication does not affect any devices that have already deployed the app.

Steps

  1. On the Public Apps page, locate the app with the status Pending Review;

  2. Click [Cancel Publication] from the action menu of the target app;

  3. In the confirmation popup, click [Confirm] to withdraw the publication process;

  4. Once successful, the app status will automatically revert to Draft, allowing future edits and resubmission;

3.10 Deactivate App

Description

This function allows you to unpublish an already released public app entirely. Once unpublished, the app will no longer be visible or distributable to any enterprises, and it will be skipped in any associated strategy executions. This is suitable for scenarios such as app retirement, business changes, or discontinuation of distribution.

This operation is irreversible and takes effect immediately after confirmation. Only platform administrators have the permission to perform this action.

Notes

  • Only apps in the Published status can be unpublished;

  • A confirmation popup will explain the impact and irreversibility of this action;

  • Once confirmed, the following will occur:

    • The app is completely removed from distribution to all enterprises;

    • All versions of the app will become invisible, unlike version-level unpublish;

    • The app’s operational and system logs will remain intact.

Visibility & Access Impact:

  • The app will be removed from the “Add Enterprise Public App” page for all enterprises;

  • Other enterprises cannot re-upload the same app (package name conflict remains in effect);

  • Enterprises that previously added the app will see its status marked as Unpublished in “My Apps”;

Installation & Policy Impact:

  • Existing installations remain usable without interruption;

  • If the app is included in any App Distribution, App Update, or Kiosk strategy that has not yet been executed:

    • The app will be skipped during execution;

    • No installation or update will occur;

    • If the strategy only contains this app, the entire policy will fail to execute.

Steps

  1. In the Public Apps list, locate the target app with Published status;

  2. Click [Actions] > [Deactivate];

  3. A confirmation popup will appear explaining the effects; click [Confirm] to proceed;

  4. The app status will be updated to Unpublished, and it will no longer be visible to any enterprise;

  5. Use the Unpublished Apps tab at the top of the page to view the app record;

3.11 Activate App

Description

This function allows you to republish a previously unpublished public app, restoring its visibility and distribution capabilities to enterprise users. Once republished, the app can be added again to policies or deployment workflows and used as normal.

Notes

  • Only apps in the Unpublished status support the Republish operation;

  • A confirmation popup will appear before execution; users must confirm manually;

  • Once confirmed, the action is immediate and irreversible;

  • After republishing, the following impacts will occur:

Visibility & Access Restoration:

  • The app will reappear in the App Library > Add Enterprise Public App interface for enterprise users;

  • Enterprises that had previously added the app will see its status change back to Published in “My Apps”;

Policy & Deployment Impact:

  • If the app is included in the following strategies and they have not yet been executed, it will be installed during execution:

    • App Distribution Policy

    • App Update Policy

    • Kiosk Policy

  • Once republished, the app will rejoin the strategy execution workflow.

Steps

  1. Go to the Public Apps > Deactivate Apps tab and locate the target app;

  2. Click [Actions] > [Activate];

  3. A confirmation popup will display the app name and publishing organization;

  4. Click [Confirm] to proceed; the app status will change to Published and normal distribution will resume;

  5. Go to the All tab to confirm that the app status has changed to Published.

3.12 Delete App

Description

This function is used to delete a public app that is in Draft or Unpublished status. Once deleted, the app will be removed from the App Library and will no longer be available for any management or operations.

Notes

  • Only apps in Draft or Unpublished status can be deleted;

  • This action is irreversible once confirmed;

  • Deleting an app will permanently remove the record but will not affect usage on already deployed devices;

  • After deletion, you can re-upload an app with the same package name.

Visibility & Access Impact:

  • The app will no longer appear in the App Library > Add Enterprise Public App interface;

  • For enterprises that previously added the app, its status will remain as Unpublished in “My Apps”;

Policy & Deployment Impact:

  • If the app is included in any of the following strategies but not yet executed, it will be skipped during execution:

    • App Distribution Policy;

    • App Update Policy;

    • Kiosk Policy;

  • If the app is re-published, it will not rejoin any previously configured strategies.

    • Even if the package name and icon are the same, it is treated as a new app.

Steps

  1. In the App Library page, locate the target app in Draft or Unpublished status;

  2. Click [Actions] > [Delete];

  3. A confirmation popup will appear: "Delete app [App Name], Publisher: [Organization Name]";

  4. Click [Confirm] to complete deletion;

  5. The app will be removed from the list and cannot be recovered.

4. Configuration Items

The App Library module supports publishing enterprise-level public apps and managing their basic information, permission settings, version states, and publishing workflows. Below are the key configuration items and their meanings:

4.1 Basic App Attributes

Item

Description

App Name

Display name of the app on the platform; supports both Chinese and English.

Package Name

Unique identifier for the Android app, auto-parsed by the system; read-only.

App Icon

Display icon; supports PNG/JPG format, recommended size 512×512 pixels.

App Category

Category selected by the uploader, e.g., Tools, Payment, Retail, etc.

Created By

Name of the user who first uploaded the app; view-only.

Creation Time

Timestamp when the app was first created; system-generated.

Publisher

The enterprise that owns the app, used for permission and management scope.

Devices Installed

Number of devices the app is installed on; only counts active devices.

4.2 Permission Settings

Permissions are automatically parsed from the APK file. Default control modes can be configured and inherited by future policies.

Permission

Control Mode

Description

Camera Access

Allow / Deny / User Control

Controls whether the app can access the device's camera.

Location Access

Allow / Deny / User Control

Controls access to GPS, Wi-Fi, or cell tower location.

Storage Access

Allow / Deny / User Control

Controls access to internal/external storage.

Microphone Access

Allow / Deny / User Control

Controls whether the app can record audio.

Device Info

Allow / Deny / User Control

Controls access to device identifiers and system information.

...

...

...

4.3 Version Management

Item

Description

Version

App version name (versionName), auto-parsed from APK, e.g., 1.0.0.

Version Code

App version code (versionCode), must be an integer and incremented.

Status

Current version status: Draft / Pending / Published / Unpublished.

Add New Version

Add a new version under an existing app; must share package name and have an incremented version code.

Edit Version/App

Edit fields like icon, category, description; some changes require re-approval.

Delete Version/App

Draft or Unpublished status only; irreversible. Published versions must be unpublished first.

4.4 Status

Item

Description

Draft

App is newly created and not yet submitted; can be edited or deleted.

Pending

App is submitted and awaiting approval; cannot be edited during review.

Published

App is approved and available for other enterprises to add and use.

Unpublished

App is manually taken down; hidden from enterprises, but still usable on installed devices.

Deleted

App is permanently removed; no records retained. Other enterprises may reuse the same package name.

Cancel Publishing

Withdraws a pending app, reverting its status to Draft.

Deactivate

Changes Published app to Unpublished; it can no longer be added.

Activate

Restores an Unpublished app to Published status, regaining visibility and policy usability.

Did this answer your question?