Publish an update
Build the update package, upload it to your Firebase Storage and publish it to a channel.
Step 1. Create an API key
In Settings → API keys, create a key with release.write and release.publish. The full key is shown once — store it as a secret.
Step 2. Publish with one command
bash
export FIREOTA_URL="https://ota.example.com" export FIREOTA_API_KEY="fota_sk_live_..." # Settings -> API keys # from your React Native project root npx fireota publish --app YOUR_APP_ID --platform android \ --version 1.3.1 --runtime 1.3.0 --channel beta --rollout 10 \ --notes "Fix crash on the budget screen"
fireota publish runs React Native's bundler, compiles Hermes bytecode when Hermes is on, packs the images next to the bundle, creates the release, uploads it with a checksum, and publishes it.
Step by step
bash
npx fireota bundle --platform android --out android.fota # bundle + Hermes + assets npx fireota release create --app YOUR_APP_ID --platform android --version 1.3.1 --runtime 1.3.0 npx fireota release upload <releaseId> --file android.fota # checksum-verified into your bucket npx fireota release publish <releaseId> --rollout 10
From the dashboard
Open your app → Create release, upload a .fota package built with npx fireota bundle, choose platform, channel, version and rollout, then publish.
Recommended flow
Tip: Publish to
beta or staging first, test on a device, then publish to production at a small percentage.