GeoSpark v3 brings even more flexibility and battery saving to your location based app
Every app user has experienced the frustration of high battery drain while using apps with location components. Once a user checks their settings and discovers your app is the culprit, two things are likely to happen: location permissions will be turned off or the app will be deleted altogether.
As a developer, you want to be able to integrate location components into your app to personalize the experience and gain valuable insights that can help improve your product without losing your user’s trust in the process. Traditionally, increasing battery efficiency of location-based apps meant fewer location updates and, importantly, less accurate location data.
The release of GeoSpark v3 brings you a solution that never compromises the accuracy of location updates. Using three default tracking modes and a custom solution, choose the right balance between battery consumption and frequency of location updates to suit your specific use case.
Location tracking modes
GeoSpark has developed four tracking modes with varying frequencies of updates and levels of battery drain:
|Method Name||Distance Frequency||Battery Drain|
|Active Tracking||High Frequency; 25m~250m||High Battery Drain; 6%~12%|
|Reactive Tracking||Medium Frequency; 50m~500m||Medium Battery Drain; 3%~9%|
|Passive Tracking||Low Frequency; 100m~1000m||Near 0% Battery Drain; 0%~1%|
GeoSpark v3 utilises a dynamic approach based on the frequency of updates and the speed a user is traveling. The faster a user is moving, the fewer location updates are required to track the path of the user and fewer updates are sent to the server, saving significant battery.
Custom tracking modes
GeoSpark has developed a custom tracking mode that allows you choose between distance intervals or time intervals between location updates.
|Distance Interval||Meters||1m ~ 2500m|
|Time Interval||Seconds||10s ~ 10800s|
Note: Time Interval is now only available on Android. iOS will launch soon.
Which location tracking mode is right for my app?
The mode we recommend you use will depend on your specific use case.
Active mode is perfect for use cases that require real-time accurate tracking as ride-hailing services and fitness apps. With high-frequency of updates and 10-meter precision accuracy, ensure your users are always informed about the exact location of their driver.
Reactive mode is suitable for use cases that require less frequent location updates such as on-demand services. This mode efficiently and accurately connects suppliers with consumers for food delivery, grocery delivery services and logistics.
Passive mode is suitable for use cases that do not require real-time location tracking such as consumer and social apps. For example, use cases where you need to send relevant location-based push notifications such as retailers and restaurants.
You can also use the
Custom mode to create a solution that fits your specific use case. Build your own tracking mode by customizing accuracy, frequency and more.
Below you’ll find an example of a custom tracking mode if your use case needs fitness level location tracking. In this use case, the user will be able to accurately track their running, cycling or walking path accurately with frequent location updates, even when the app is running in the background.
//Update location based on distance between locations. GeoSparkTrackingMode trackingMode = new GeoSparkTrackingMode.Builder("DISTANCE IN METERS", "STATIONARY DURATION IN SECONDS") .setDesiredAccuracy(GeoSparkTrackingMode.DesiredAccuracy.HIGH) .build(); //Update location based on time interval. GeoSparkTrackingMode trackingMode = new GeoSparkTrackingMode.Builder("TIME INTERVAL IN SECONDS") .setDesiredAccuracy(GeoSparkTrackingMode.DesiredAccuracy.HIGH) .build();