react-native-check-version
Version:
Check if the user is running the latest version of the app
97 lines (70 loc) • 3.79 kB
Markdown
# React Native Check Version
[](https://npmjs.com/package/react-native-check-version)
[](https://github.com/includable/react-native-check-version/blob/master/LICENSE)
---
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](https://github.com/rebeccahughes/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.
## Installation
```
yarn add react-native-check-version react-native-device-info
```
## Basic usage
Use the `checkVersion` method to get information:
```js
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.`);
}
```
## API
### Function usage
`checkVersion()` accepts an _optional_ options object, which may contain the following keys:
- string `platform`: platform to check for, defaults to React Native's `Platform.OS`
- string `country`: App Store specific country, defaults to `us`
- string `bundleId`: bundle identifier to check, defaults to the value retrieved using react-native-device-info
- string `currentVersion`: version to check against, defaults to the currently installed version
### Response object
`checkVersion()` returns a Promise, which when resolved will return an object with the following properties:
- string `version`: latest version number of the app
- string `releasedAt`: ISO 8601 release date of that version (when available)
- string `updatedAt`: ISO 8601 last update date of that version (when available)
- string `url`: download URL for the latest version
- string `notes`: release notes for the latest version (when available)
- string `appIcon`: app icon URL (when available)
- string `appName`: app name (when available)
- string `description`: app description (when available)
- boolean `needsUpdate`: whether the latest version number is higher than the currently installed one
- string `updateType`: `major`, `minor` or `patch`, based on how big the difference is between the currently installed
version and the available version
- string `platform`: resolved platform used for the lookup
- string `bundleId`: resolved bundle ID used for the lookup
- string `country`: resolved country used for the lookup
- string `lastChecked`: ISO 8601 timestamp of the lookup
- Error `error`: error information when the lookup fails
## Changelog
- `v1.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](https://github.com/flexible-agency/react-native-check-version/issues/30) used
previously by doing calls directly within the app. Please note Google Play has updated their web pages, making older
versions not functional.
## Authors
This library is developed by Includable, a creative app development agency.
- Thomas Schoffelen
<br /><br />
---
<div align="center">
<b>
<a href="https://includable.com/consultancy?utm_source=react-native-check-version">Get professional support for this package →</a>
</b>
<br>
<sub>
Custom consulting sessions available for implementation support or feature development.
</sub>
</div>