A React Native plugin for continuous location tracking in both foreground and background states with battery optimization.
@mauron85/react-native-background-geolocation is a React Native plugin that provides continuous location tracking for mobile apps, functioning in both foreground and background states. It solves the challenge of maintaining accurate user location data while optimizing battery usage through features like region monitoring and stop detection. Developers use it to build applications requiring persistent location updates, such as navigation, fitness, or logistics apps.
React Native developers building applications that require persistent location tracking, such as fitness apps, delivery services, ride-sharing platforms, and field workforce management tools.
Developers choose this plugin because it offers a reliable, battery-efficient solution for background geolocation in React Native, with multiple provider options and extensive configuration to tailor tracking behavior. Its active maintenance and compatibility with modern React Native versions provide a stable alternative to building custom tracking solutions.
Background and foreground geolocation plugin for React Native. Tracks user when app is running in background.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly tracks location in both foreground and background states, with headless task support for Android even after app termination, as shown in the example and API.
Offers DISTANCE_FILTER_PROVIDER, ACTIVITY_PROVIDER, and RAW_PROVIDER for different accuracy and battery trade-offs, detailed in PROVIDERS.md for flexible use cases.
Includes circular region monitoring and stop detection to minimize power consumption, aligning with the plugin's philosophy of balancing accuracy with battery life.
Supports HTTP location posting with customizable templates and sync thresholds, enabling automatic backend syncing without manual handling.
Requires detailed native configuration for Android and iOS, including manual linking, Gradle changes, and Info.plist edits, which is error-prone and time-consuming.
Acknowledges Android background service issues on certain devices, referring to the 'dontkillmyapp' list, and requires workarounds for reliable operation.
Lacks native geofencing support, recommending a separate library (react-native-boundary), which adds integration overhead and complexity.
Only supports the latest React Native versions, with older versions potentially buggy, forcing frequent updates and increasing maintenance burden.