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.