How to implement over the air updates with expo-updates in React Native
Article Summary
Jamon Holmgren from Infinite Red walks through implementing expo-updates in a vanilla React Native app—and gets it working in just two hours. No managed Expo workflow required.
Over-the-air updates let you push JavaScript changes to production apps without waiting for app store approval. This detailed guide covers setting up expo-updates as an alternative to Microsoft's CodePush, complete with iOS, Android, and React configuration.
Key Takeaways
- Configure native iOS and Android code to use EXUpdatesAppController for bundle loading
- Set up Expo project with proper SDK version and update URL configuration
- Implement JavaScript hooks to check for updates every 3 seconds (adjust for production)
- Test in release mode only since dev builds use Metro packager
- Publish updates with expo publish and watch hash changes propagate to devices
Critical Insight
You can add OTA update capabilities to any React Native app using expo-updates, even without a managed Expo workflow, by configuring native code and implementing update checks in JavaScript.