react-native-bg-location
TypeScript icon, indicating that this package has built-in type declarations

0.1.6 • Public • Published

You can utilize this npm package on iOS right now, and we're in the process of bringing it to Android.

react-native-bg-location

You can utilize this npm package on iOS right now, and we're in the process of bringing it to Android.

The react-native-bg-location package is a versatile and easy-to-use library for handling background location tracking in React Native applications. It provides a seamless way to access the device's location in the background, making it suitable for various use cases, including tracking user movements, geofencing.

Installation for ios

npm install react-native-bg-location

```bash

cd ios && pod install

Configure Background Capabilities

Open your App in XCode and select the root of your project. Select Capabilities tab. Enable Background Modes and enable the following modes:

  • [x] Location updates
  • [x] Background fetch

Screenshot 2023-10-09 at 10 32 14 PM

Configure Usage Strings in Info.plist

Edit Info.plist. Add the following items (Set Value as desired):

Key Type Value
Privacy - Location Always and When in Use Usage Description String CHANGEME: Location required in background
Privacy - Location When in Use Usage Description String CHANGEME: Location required when app is in use
Privacy - Motion Usage Description String CHANGEME: Motion permission helps detect when device in in-motion

Demo video

https://github.com/gulsher7/react-native-bg-location/assets/56266123/1ddc7db2-d07c-49d2-8bb4-b07d1b669847


## Usage

```js
import { LocationEvent, setDesiredDistance, startLocation, stopLocation } from 'react-native-bg-location';

// ...
    
 1. setDesiredDistance(distance: number)

This function sets the desired distance for location updates. 
It takes a numeric parameter distance (in meters) and returns a Promise. 
It fetches the location after the device moves the specified distance.

   
setDesiredDistance(50).then((res) => {  //example send value in meters
    console.log(res)
  }).catch((error) => {
    console.log("Error code:", error);
  })

2. startLocation()
   use this function to start location tracking. It continuously updates the device's location.
  

3. stopLocation()
   To stop location tracking, call this function.

4. LocationEvent.addListener(eventType: string, callback: (data: any) => void)

    LocationEvent.addListener("LAT_LNG", (latlng) => { //example
    console.log("data", latlng);
    });

5. LocationEvent.removeAllListeners(eventType: string)
   To remove all listeners for a specific event type, you can use this function. 
   
   LocationEvent.removeAllListeners("LAT_LNG"); //example

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

Package Sidebar

Install

npm i react-native-bg-location

Weekly Downloads

1

Version

0.1.6

License

MIT

Unpacked Size

24.1 kB

Total Files

20

Last publish

Collaborators

  • gulsher7