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 a real-world 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 and resume automatically on reboot.
- 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: location tracking at a fraction of the battery cost of naive continuous GPS.
Platform Coverage¶
What began as a single iOS SDK has expanded to every major mobile development 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 on iOS, TSLocationManager on Android — powers all platforms. Framework SDKs are thin bridges. One codebase, one set of algorithms, everywhere.
Built for Production¶
The SDK is trusted by thousands of production apps across logistics, field services, fleet management, emergency response, fitness, and more.
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