Hi, I’m a little confused about how to use OTA updates vs full releases.
As far as I’m aware, OTA should be used for minor updates. But each time I run expo publish, it’ll send an OTA to any device with my app installed?
If I want to create a new APK, I run expo build:android before submitting the APK to the google play store, creating release notes, etc. But simply running “expo build:android” will also trigger publish and subsequently send an OTA update to all devices, potentially before I’m ready. Am I correct about this? what is the standard approach to not send an OTA in this case? If I change my app.json it’s a permanent change and next time I want to send an OTA update, it won’t (because I disabled OTA in my settings)
You are mostly correct in your analysis of OTA functionality. When you publish, it will get sent to any device that has your app installed and the SDK version is compatible with the version the user has installed currently. We also have Release Channels that help you take more control over the updates that you can read about here: https://docs.expo.io/versions/v31.0.0/distribution/release-channels and this page has a good flow chart that visualizes how updates roll out: https://docs.expo.io/versions/v31.0.0/distribution/advanced-release-channels#what-version-of-the-app-will-my
Additionally, you can pass the
--no-publish flag when you run a build command to avoid publishing if you so desire.
Let me know if you have any more questions.
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.