An easy way to check if there's an update available for the current app in the App Store or Google Play.
Note that you need react-native-device-info to be
installed for this library to function as expected, or you need to manually supply the bundleId
and
currentVersion
values in the options object.
yarn add react-native-check-version react-native-device-info
Use the checkVersion
method to get information:
import { checkVersion } from "react-native-check-version";
const version = await checkVersion();
console.log("Got version info:", version);
if (version.needsUpdate) {
console.log(`App has a ${version.updateType} update pending.`);
}
checkVersion()
accepts an optional options object, which may contain the following keys:
platform
: platform to check for, defaults to React Native's Platform.OS
country
: App Store specific country, defaults to us
bundleId
: bundle identifier to check, defaults to the value retrieved using react-native-device-infocurrentVersion
: version to check against, defaults to the currently installed versioncheckVersion()
returns a Promise, which when resolved will return an object with the following properties:
version
: latest version number of the appreleased
: (iOS only) ISO 8601 release date of that versionurl
: download URL for the latest versionnotes
: release notes of latest versionneedsUpdate
: whether the latest version number is higher than the currently installed oneupdateType
: major
, minor
or patch
, based on how big the difference is between the currently installed
version and the available versionv1.1.0
: Use built-in fetch
rather than Axios library.v1.0.18
: Update headers for Google Play HTTP request.v1.0.14
: Updated Android logic to use new Google Play endpoints.v1.0.13
: Added a try-catch within the main checkVersion
function to prevent error responses from the HTTP requests
to throw errors.v1.0.12
: Replaced the custom backend used
previously by doing calls directly within the app. Please note Google Play has updated their web pages, making older
versions not functional.This library is developed by Flexible Agency, a creative app development agency.