📦 Publish
Android and iOS builds, the web app, and instant over-the-air updates.
Publish is where the app leaves the builder. It does four things: builds an Android binary, builds an iOS binary, publishes the web app, and ships over-the-air updates to apps people have already installed.
Four sections. Android is open by default.
Android
Section titled “Android”Build format — a toggle between two artifacts:
- AAB — App Bundle, for publishing to Google Play.
- APK — for direct install or sideloading.
Build AAB / Build APK starts the build.
While it runs, the current step is shown with a spinner, and View log opens the live output. The steps are:
Queued → Fetching your app → Installing dependencies → Configuring → Generating native project → Signing → Compiling Android binary → Uploading
Below is the Android build history. Each past build is a row you can download from. If there are none, it says No builds yet.
Produces a signed .ipa for the App Store, under your own Apple account.
This section needs two things from Settings first: an iOS Bundle ID, and a connected App Store Connect key. Until both are present the section says so and points you there.
Progress, logs and history work the same as Android.
Publishes your app as a website at a public URL — the same code, exported for the browser.
Publish web app starts it, with the same live progress and log.
Once published, Live site opens the production website. Web builds keep their own history, like the native ones.
Publish (over-the-air)
Section titled “Publish (over-the-air)”The last section ships updates to apps that are already installed.
Ship JavaScript & asset updates to live apps instantly. Native changes (new permissions or native modules) still need a rebuilt binary.
That distinction is the whole point of the section. Screens, text, styling, logic and assets can go out in seconds. Anything that changes the native shell cannot.
Warning
A new device permission is a native change. Editing a permission message in Integrations takes effect on the next build, not on the next over-the-air update.
The channel
Section titled “The channel”OTA Update is the channel. It shows what is currently live on it:
- The update’s short id
- The runtime version it targets
- When it was published, and its message
If nothing has gone out yet, it reads Nothing published yet.
Publish current app ships whatever the app is now.
History
Section titled “History”Every release, newest first, with:
- Its short id
- The runtime version
- The platforms it covers
- Which channels it is live on
- When it was published, and its message
Use this to see what people are actually running, which is not always the same as your latest build.
