About¶
Background Geolocation SDK¶
The Background Geolocation SDK is built and maintained by Transistor Software — a small team of engineers obsessed with one problem: tracking a device's location reliably, accurately, and without draining the battery.
Origin Story¶
The SDK was born in 2013 out of an emergency management problem.
A disaster response organization needed to track first responders — firefighters, EMTs, search-and-rescue teams — deployed into the field during hurricanes and earthquakes. The requirements were brutal:
- The cellular network is likely degraded or destroyed. Data must be stored locally and uploaded whenever connectivity returns.
- The app will be terminated by the OS under memory pressure — tracking must survive without it.
- The device will be rebooted during multi-day deployments — tracking must resume automatically.
- Responders carry the same devices all day. Battery life is non-negotiable.
These constraints shaped the SDK's architecture from day one:
| Requirement | Solution |
|---|---|
| Network unreliable | Built-in SQLite persistence — every location queued locally before upload |
| App may be terminated | Headless background execution — tracking continues without a UI |
| Device may reboot | Boot receiver — tracking auto-restarts on device power-up |
| Battery critical | Motion-detection state machine — sensors decide when to track |
Motion Intelligence¶
The SDK's defining feature is its motion-detection state machine, built on accelerometer, gyroscope, and magnetometer APIs. Rather than polling GPS continuously, the SDK:
- Monitors inertial sensors when stationary — near-zero battery draw
- Activates GPS automatically when motion is detected
- Scales GPS frequency and accuracy to the device's speed and
distanceFilter
The result: continuous tracking that doesn't show up at the top of the user's battery-usage screen — so users don't uninstall and the App Store doesn't reject the app for power abuse.
Platform Coverage¶
The SDK started on iOS in 2013 and now ships for every major mobile platform:
| Platform | Package |
|---|---|
| React Native / Expo | react-native-background-geolocation |
| Flutter | flutter_background_geolocation |
| Capacitor | @transistorsoft/capacitor-background-geolocation |
| Cordova | cordova-background-geolocation-lt |
| Swift / iOS (native) | background-geolocation |
| Kotlin / Android (native) | background-geolocation |
A single native core — TSLocationManager, ported to Swift on iOS and Kotlin on Android — powers every platform. Framework SDKs are thin bridges. Same design, same algorithms, everywhere.
Built for Production¶
The SDK runs in 20,816 apps across 142 countries — logistics, field services, fleet management, emergency response, fitness, and beyond.
Key production features:
- Durable HTTP upload queue — automatic retry with exponential back-off
- JWT / token-refresh auth — Bearer token auto-refresh before expiry
- Geofencing — unlimited circular regions, reliable even when terminated
- Background Fetch integration — guaranteed final uploads before iOS reclaims resources
- Extensive logging — structured logs, configurable verbosity, native log viewer