Force Update

In some cases, it is essential to ensure users update their applications directly through the app store instead of relying on over-the-air (OTA) updates via CodePush. This is particularly important when native-level changes are introduced that cannot be handled by CodePush.

When to Use Force Update

CodePush is limited to delivering updates to JavaScript files, images, and other assets. It does not support updates involving changes at the native layer—for example:

  • Updates that include native dependencies or plugins.

  • Changes made to native iOS or Android modules.

  • Modifications to platform-specific configuration files.

In such scenarios, a store update is mandatory, and CodePush updates will not be delivered to affected users. To guide users to the app store for these updates, the Force Update mechanism can be applied.

To ensure users receive updates to your app through the store, you may want to guide them in that direction. CodePush has certain limitations. Specifically, when there are changes at the native layer or when a plugin working with the native layer is added, users must update their apps from the store. Updates of this kind sent through CodePush will not be received by users.

Eligible Builds for Force Update

Not all builds can be force-updated. The following rules apply:

  • Eligible: Builds that were previously marked as Live and have since been replaced by newer Live builds.

  • Not Eligible: Builds that have never been marked as Live, even if they were successful.

  • Not Allowed: You cannot apply Force Update to the current Live build.

How to Apply a Force Update

To apply a Force Update to an older build:

  1. Navigate to: Projects → Project Detail → Build Detail

  2. Locate a previously Approved (but now inactive) build.

  3. Click the Force Update link available in the build's detail view.

  4. Confirm the action in the prompt that appears.

Once confirmed:

  • A new CodePush process will be triggered.

  • If the operation is successful, the update will be marked and delivered as a Force Update.

  • Users still running the targeted old build will receive a mandatory update prompt directing them to the store.

triangle-exclamation

User Interface Behavior

When a user opens a deprecated version of the app, they see a non-dismissible modal prompting them to update. This modal contains a button that redirects directly to the app store.

While the app's home screen technically renders in the background, the modal obscures it, preventing any user interaction until the update is performed.

Configuring iOS Store Redirection

You can configure how iOS users are redirected to the Apple App Store using one of two methods.

This method ensures instant redirection without api calls. Add the storeId property to the ios object in your akinon.json file.

To find your Store ID:

  1. Select your app from the list.

  2. Navigate to App Information.

  3. Under the General Information section, locate the Apple ID.

  4. Copy this numeric value and paste it into the storeId field in akinon.json.

Redirection via iTunes API

If you do not add a storeId to akinon.json, the app attempts to retrieve it dynamically by querying the Apple iTunes API using your bundle identifier.

triangle-exclamation

Example screen:

Last updated

Was this helpful?