React Native · Mobile UI at native speed

How do over-the-air updates work and what are the risks?

MediumotaupdatesreleaseUpdated Oct 2026
Quiz this track

Short answer

OTA updates ship JavaScript and assets without a store release, usually through EAS Update or a self-hosted service. They cannot change native code, and every update needs versioning, signing, rollback and store-policy compliance.

An OTA system downloads a new JS bundle and asset set at runtime. The app loads that bundle instead of the one embedded at build time. This is useful for content fixes, small bugs and feature flags, but it does not replace the native binary.

Rules that keep OTA safe

  • Only ship JavaScript and assets the current native binary can support
  • Match updates to a runtime version so a bundle never loads on an incompatible build
  • Sign updates and verify signatures on the client
  • Roll out gradually and monitor crash and error rates
  • Keep a rollback path, including a known-good embedded bundle
  • Follow store policies; OTA must not change the app's primary purpose
sh
# Example with EAS Update
eas update --branch production --message "Fix checkout validation"

# Publish a rollback to the previous known-good update
eas update:republish --group <update-group-id> --branch production
Branches map to release channels; a rollback republishes a previous good update.

Microsoft retired App Center CodePush in 2025, so teams using it need a migration path to EAS Update, a self-hosted server or another supported service. The underlying constraints are the same regardless of vendor.

OTA does not bypass app review forever. Shipping a completely different app, or using updates to evade review, violates store policies and can get the app removed.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1What can and cannot be changed with an OTA update?
  2. 2How do you roll back a bad update?
  3. 3What is a runtime version?
  4. 4Why is signing an OTA update important?

Say it in the interview

OTA updates replace the JavaScript bundle and assets at runtime, so they fix JS bugs without a store release, but they cannot change native code. I pin updates to a runtime version, sign them, roll out gradually and keep a known-good bundle for rollback. I also treat store policy as a hard constraint, because OTA is not a way to ship a different app.

Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.

Related questions

Reading is step one

Now say it out loud.

Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live React Native mock interview and get scored feedback on depth, clarity and confidence.