import VersionNumber from 'react-native-version-number';
console.log('appVersion:', VersionNumber.appVersion)
Oh, and as it relates to gleaning the version from package.json. It feels wrong to me. I mean I had to try it just to see if it would work. I didn't realize that resource would be available at runtime on the device. It does work, but I also have some buildTypes debug foo going on in my build.gradle I learned here. So its nice to be getting the versionName like 0.1.7-debug straight from the horses mouth.
I tried most of the thing to fix this nicely and I and happy to see detailed description for doing everything that I needed react-native-version-check
import { Linking } from 'react-native';
import VersionCheck from 'react-native-version-check';
VersionCheck.needUpdate()
.then(async res => {
console.log(res.isNeeded); // true
if (res.isNeeded) {
Linking.openURL(await VersionCheck.getStoreUrl()); // open store if update is needed.
}
});
react-native-version-number library works for both Android and iOS. You can find installation instructions here. Remember that in current versions of ReactNative linking libraries is not needed anymore (omit linking while installing - it was not written in the instruction)
If you are using expo and you want lighter lib, use expo-application:
import * as Application from 'expo-application';
Application.nativeApplicationVersion //returns a string
// or
Application.nativeBuildVersion //returns a string