Often it is necessary for the app developer to both query and trigger the app update manually instead of it happening automatically on app reload. Sometimes it's a good idea to wait for wifi or to wait for the end user to trigger it at their convenience. Codepush js api does well in this direction - https://github.com/Microsoft/react-native-code-push#javascript-api-reference
An api that works as follows will be nice
componentDidMount() {
Exponent.sync({key: key, installMode: Exponent.InstallMode.IMMEDIATE }, this.syncFn)
syncFn(status) {
switch (status) {
case Exponent.SyncStatus.CHECKING_FOR_UPDATE:
case Exponent.SyncStatus.UP_TO_DATE:
case Exponent.SyncStatus.DOWNLOADING_PACKAGE:
case Exponent.SyncStatus.INSTALLING_UPDATE:
case Exponent.SyncStatus.UPDATE_INSTALLED: