BuildingNative iOS and native Android OTA — join the early-access list

CLI reference

Five commands, one flow. The same workflow works across Flutter and React Native today, and is the workflow native iOS and native Android will ship with.

birdify create

Scaffold a new app or link an existing one. Wires the SDK and registers the app on Birdify cloud (or your self-hosted server).

bash
$ birdify <flutter|rn> create <name>
flutter | rnFramework: Flutter or React Native. native (iOS) and android are in development.
--linkLink an existing project instead of scaffolding a new one.

birdify release

Cut the signed baseline your patches diff against — this should match the binary you submit to the store.

bash
$ birdify release
 release 1.0.0 registered · signed

With no argument it builds every platform your project targets. Name one to build just that platform — useful when only one side changed, or when your iOS and Android builds run on different machines.

bash
$ birdify release ios
$ birdify release android --bundle
 release 1.0.0 registered · android
ios | androidBuild only that platform. Omit it to build every platform the project targets.
--apkAndroid: build an installable APK. The default — use it to sideload with adb install.
--bundleAndroid: build an App Bundle (.aab) to upload to Play. Same patch base as --apk — both compile identical code.
--app-idApp ID to register under (defaults to the one in birdify.yaml).
--dirProject directory (defaults to the current one).

birdify patch

Ship a code or UI change over the air. Birdify diffs against the current release, uploads only the delta, and applies it on the next launch.

bash
$ birdify patch
 patch #3 live · 1,240 devices · # next launch
--notesAttach a changelog note to the patch.
--rolloutStage the patch to a percentage of the fleet first (e.g. 10).

birdify rollback

Pull a bad patch fleet-wide. Devices revert to the last good bundle. Pass a number to roll back to a specific patch.

bash
$ birdify rollback [n]
 patch #3 withheld · reverting fleet to #2

Rollback is also automatic: a patch that fails a health check on device reverts itself. See Rollback & health checks.

birdify status

Watch a rollout — per-device sent, downloaded, and installed counts.

bash
$ birdify status
patch #3 · sent 1,240 · downloaded 1,205 · installed 1,190
# 96% of the fleet on the latest bundle