React Native Dynamic Publishing Platform Guide
1. Prerequisites
1.1 Create Project and Products
Create a project and corresponding Android/iOS products on the Shiply platform. See Platform Integration Process.
1.2 Integrate Shiply React Native Dynamic SDK
Integrate the Shiply React Native Dynamic SDK in your app. See RN SDK Integration.
2. Create RN Dynamic Module
Click New Module in the top-right corner of the module list to open the create module page.


Module name: Used to distinguish modules. Required during SDK initialization.
Description: A brief description of the module.
Tags: Used for display and list filtering.
Owner: The module owner. Only the owner can edit the module.
Reviewer: The approver for release tasks. Reviewers can approve or reject release requests.
Product resource ID setup: Choose either Create new product resource ID or Bind existing product resource ID. New businesses can create a new resource ID and bind target products; existing businesses can bind an existing resource ID and select the resource ID for the corresponding product.
3. Create Release Task
After creating a module, click New Task to create a task for delivery control.

1. Fill in basic information

Task description: A brief description of this release task.
Module version: Custom business version number.
Artifact downgrade allowed: When enabled, users can load artifacts with a lower version than this task's artifact; when disabled, only higher versions are allowed—downgrade is blocked.
Target products: One or more products this task should deliver to.
2. Configure delivery conditions and upload artifacts

Delivery conditions: Configure delivery rules. Only users who meet the conditions can fetch this task.
Associated artifact: The RN dynamic package for this release. Upload on the page.
Generate delta packages: Which historical release tasks to generate delta packages against.
Delivery conditions and artifacts must be configured separately for each target product.
3. Configure rollout strategy

Tasks support gradual rollout, smooth gradual rollout, and immediate full release. Choose as needed.
Gradual rollout: Release in batches with increasing volume for safer releases.
Smooth gradual rollout: Specify total rollout duration and user count; the platform rolls out smoothly automatically.
Immediate release: Full release with no volume limit.
4. Test and Validate

New tasks start in test/preview mode. Only users on the preview list can fetch the task. Click a task to open its details.
Click Preview list to configure preview accounts, validate the task, and then submit it for approval.
Preview accounts use the deviceId value passed during SDK initialization.
5. Approval and Release

After submitting for approval, the reviewer receives an approval request, can review task details, and approve or reject the release.

After approval, the task enters release status automatically. Non-preview users can then fetch it normally.
During release, you can pause/resume or stop the task as needed.
- Pause: Users who already fetched the RN dynamic package keep it; users who have not will not match this task.
- Stop: All users who fetched the RN dynamic package will uninstall it (equivalent to revoking the task).
Shiply matches module tasks from top to bottom and returns the first published task whose conditions match. If you stop the current task but the user still matches another task, they will continue to fetch that task's RN dynamic package.
6. Release Statistics

The statistics page on task details shows delivery metrics. More real-time release data will be added over time.
- Downloads: Number of devices that downloaded this RN dynamic package.
- Loads: Number of devices that loaded this RN dynamic package.
Statistics include single-day cumulative and multi-day cumulative counts. For the current task, each device reports at most one cumulative download and one cumulative load, and at most one single-day load per day.