UNPKG

react-native-check-version

Version:

Check if the user is running the latest version of the app

97 lines (70 loc) 3.79 kB
# React Native Check Version [![NPM](https://img.shields.io/npm/v/react-native-check-version.svg?style=flat)](https://npmjs.com/package/react-native-check-version) [![GitHub license](https://img.shields.io/github/license/includable/react-native-check-version.svg)](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>