# react-native-detect-mock-location

> Detects if the device is using mock location app to spoof it's real location. In that case user will be prompted to fix the mock location settings first before using the app.

Latest version **1.0.0** (published 2022-09-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-detect-mock-location
pnpm add react-native-detect-mock-location
yarn add react-native-detect-mock-location
bun add react-native-detect-mock-location
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2022-09-13 |
| First published | 2022-09-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 69.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Zain Ul Abdin |
| Maintainers | zainkhas |
| Keywords | react native, location spoofing, mock location |

## Links

- npm: https://www.npmjs.com/package/react-native-detect-mock-location
- Repository: https://github.com/zainkhas/react-native-detect-mock-location
- Issues: https://github.com/zainkhas/react-native-detect-mock-location/issues
- npm.io page: https://npm.io/package/react-native-detect-mock-location

## Alternatives

- [pagerjs](https://npm.io/package/pagerjs.md) — 60 weekly downloads
- [whistle.savefor-mock](https://npm.io/package/whistle.savefor-mock.md) — 4 weekly downloads
- [visual-companion](https://npm.io/package/visual-companion.md) — 0 weekly downloads
- [@vhictor/amockgen](https://npm.io/package/@vhictor/amockgen.md) — 0 weekly downloads
- [wallpaper-engine-web-dev-kit](https://npm.io/package/wallpaper-engine-web-dev-kit.md) — 0 weekly downloads

## Recent versions

- 1.0.0 (latest) — 2022-09-13

## README

## React Native Mock Location Detector / Location Spoof Apps Detector

⚠️ A fork of [react-native-mock-location-detector](https://github.com/adkandari/react-native-mock-location-detector) but with fixes.

If you are building a location based app in RN, you have to validate if the user is using location spoofing apps or not. This library doesn't let the user use the app if any mock location apps are active on the device

![Image description](https://i.imgur.com/iT7OpSs.gif)

## Getting started

`$ npm install react-native-mock-location-detector --save`

### Mostly automatic installation

`$ react-native link react-native-mock-location-detector`

### Manual installation

#### Android

1. Open up `android/app/src/main/java/[...]/MainActivity.java`

- Add `import com.mocklocation.reactnative.RNMockLocationDetectorPackage;` to the imports at the top of the file

- Add `new RNMockLocationDetectorPackage()` to the list returned by the `getPackages()` method

2. Append the following lines to `android/settings.gradle`:

```

include ':react-native-mock-location-detector'

project(':react-native-mock-location-detector').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mock-location-detector/android')

```

3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:

```

implementation project(':react-native-mock-location-detector')

```

## Usage

1. Make sure your app has location permission, before calling this function.

2. Arguments of function checkMockLocationProvider: Dailogbox Title, Dialogbox Text, Dialogbox Button Text

```javascript
import RNMockLocationDetector from "react-native-mock-location-detector";

const isLocationMocked: boolean =
  await RNMockLocationDetector.checkMockLocationProvider();

if (isLocationMocked) {
  // Location is mocked or spoofed

  return;
}

// Location is fine
```

---
_Source: https://npm.io/package/react-native-detect-mock-location · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
