Skip to content
CodeOnAir

CodePush for React Native

Fix it today, not after review.

Release a new JavaScript bundle from your terminal or CI. Devices pick it up on their next launch — or right away when it’s mandatory.

Set up once

Three changes to your app.

  1. 1Add the SDKnpm install @codeonair/code-push-react-native, then pod install for iOS.
  2. 2Load the bundleOne line in MainApplication.kt and AppDelegate.swift, plus your deployment key in strings.xml and Info.plist.
  3. 3Wrap your appexport default codePush(App). Choose when updates install: on next restart, on resume, or immediately.
Release from your project folder
$ codeonair-codepush release-react shop-android -t 1.0 -d "Fix checkout"
Bundling android (Hermes)… Uploading 0.53 MB…
✔ Released v4 to shop-android for app version 1.0.
$ codeonair-codepush release-react shop-ios -t 1.0 --rollout 20
✔ Released v3 to shop-ios for app version 1.0, 20% rollout.
$ codeonair-codepush rollback shop-android
✔ Rolled back shop-android: v5 restores v3

Control every build

See who has which build, and change it from the dashboard.

  • Separate Android and iOS deployments, each with its own key
  • Optional or mandatory releases; mandatory ones apply right away
  • Staged rollouts by percentage — the same devices stay in the rollout
  • Enable, disable or edit any build’s target version and notes
  • Roll back to any earlier build in one click
  • Downloads, installs, rollbacks and active devices per build, day by day
  • SHA-256 verification of every download; Hermes bytecode supported
  • CLI access keys for CI, with environment variables for GitHub Actions and others

CodePush questions

What can I update over the air?

Your React Native JavaScript bundle and the images and assets it ships with. Changes to native code, permissions or native libraries still need a store release.

Is it allowed by Apple and Google?

Both stores allow interpreted code such as JavaScript to be updated, as long as the update doesn't change the app's primary purpose.

What happens if an update crashes?

The SDK keeps the previous bundle. If the new one crashes before the app confirms it started, the next launch goes back to the previous bundle, the failure is reported in the dashboard, and that update is not offered to the device again.

Which apps get an update?

Each release targets binary versions — an exact version such as 1.2.0, a range such as 1.2.x, or every version. Only devices running a matching store build get it.

How is CodePush counted on my plan?

By update downloads per month: 1,000 on Free, 50,000 on Pro and 500,000 on Business. Past the allowance, apps keep the update they have and get new ones next month.

Your first AppLink in five minutes.

Create an app, pick a subdomain, and share a link that opens your app.

Create a free account