native_location_tracker 0.4.2
native_location_tracker: ^0.4.2 copied to clipboard
A robust, native-first background location plugin for Flutter. Provides continuous tracking with native persistence and batch upload on both Android and iOS.
Changelog #
0.4.2 #
- iOS: Fixed the background upload path. It previously created a
dataTaskwith a completion handler on the backgroundURLSession, which is unsupported (background sessions only allow file-based upload/download tasks and throw on completion-handler tasks) — so the BGProcessingTask flush never worked. Background flushes now use a delegate-drivenuploadTask(fromFile:)that completes even while the app is suspended; queued rows are marked in-flight when enqueued and deleted once the server confirms2xx(or reset to pending on failure). The foreground/active path is unchanged. AddedNativeLocationUploader.backgroundCompletionHandlerfor optional hostAppDelegaterelaunch wiring.
0.4.1 #
- iOS: Raised minimum iOS deployment target to 14.0 (was 13.0) for SwiftPM.
- Android: Updated background location implementation and dependency versions.
0.4.0 #
- Android: Migrated to Flutter's built-in Kotlin support. The plugin no longer applies the Kotlin Gradle Plugin, removing the Flutter KGP compatibility warning.
- iOS: Added Swift Package Manager support while retaining CocoaPods compatibility.
- Compatibility: Raised the minimum SDK versions to Dart 3.12 and Flutter 3.44.
0.3.1 #
- Wider compatibility: Relaxed the
device_info_plusconstraint to>=11.1.1 <14.0.0. The plugin only uses stableandroidInfo.id/iosInfo.identifierForVendorAPIs, so the previous^13.1.0pin needlessly forced consumers ontowin32 ^6and conflicted with apps still on thewin32 5.xplugin ecosystem.
0.3.0 #
- Notification tap target: Added
TrackingOptions.notificationTapUri(Android). When set, tapping the foreground notification fires anACTION_VIEWintent for the given URI (scoped to the host app's package) instead of the default launcher intent. The plugin treats the URI as opaque — the host app composes it (e.g. a deep link to a tracking screen). Falls back to the launcher intent when null.
0.2.1 #
- pubspec.yaml Imporovement: Added correct git links, shortened description and updated packages to latest versions.
0.2.0 #
- Privacy Improvement: Removed
ACCESS_BACKGROUND_LOCATIONandRECEIVE_BOOT_COMPLETEDpermissions on Android. - Compliance: Removed boot persistence and background restart workers (WorkManager) to simplify Play Store review and improve battery efficiency.
- Footprint: Removed Android
WorkManagerdependency, reducing plugin binary size. - Documentation: Updated manifest requirements and setup guides in README.
0.1.0 #
- Initial release.
- Native-first background location tracking on Android and iOS.
- SQLite-backed persistence (NativeLocationBuffer / NativeLocationVault).
- Batch HTTP upload with paginated drain.
- Token refresh with configurable refresh URL.
- Adaptive sampling based on speed and battery level.
- Motion-state pacing (speed heuristics on Android, CMMotionActivity on iOS).
- Android foreground service with customizable notification.
- Boot persistence (Android BootReceiver + WorkManager).
- iOS BGTaskScheduler and NWPathMonitor support.
- Example app with simulated points and native state display.