How FireOTA works
Ship JavaScript fixes and features to your React Native app without waiting for a store review — from your own Firebase project.
The update flow
- 1You build an update package (JS bundle + images) and upload it. It is stored in your own Firebase Cloud Storage bucket.
- 2FireOTA records the release — version, runtime, checksum, channel, rollout — and writes every action to the audit log.
- 3On launch, the SDK asks FireOTA whether a compatible release exists for this device.
- 4The SDK downloads it straight from your bucket, verifies the SHA-256 checksum and applies it on the next start.
- 5If the new code crashes before starting, the device returns to the previous bundle automatically and reports it.
What an update can change
- Screens, components, navigation, business logic and styles
- Text, translations and images bundled through require()
- Bug fixes in any JavaScript or TypeScript code
Caution: OTA cannot change native code, native dependencies, permissions, the app icon, splash screen or anything in
android/ and ios/. Those need a new store build with a new runtime version. Updates must respect Apple and Google store policies — never change the app's primary purpose over the air.You own the data
Bundles live in your bucket and devices download them directly, never through FireOTA. Google bills your Firebase project for storage and bandwidth; FireOTA does not charge per release, device or megabyte.