About Tracking Profiles
The Geoloqi SDK supports location tracking by putting the SDK into various "tracking profiles". These profiles are designed around specific use cases, so you should figure out which makes the most sense for your application given what you are trying to accomplish.
You can set the profile when the app first launches in the app code, and we also have an API method to change the tracking profile remotely.
Rough
Goal: Use minimal battery power to get a general idea of where the user is.
In "rough" mode, the iPhone will use "significant change" mode to get rough updates on the user's location. On Android, network updates are used. The result is you will get updates with an accuracy ranging from 200 meters to 2000 meters, but with virtually no battery drain. You can use this to know what city a user is in, and possibly even what neighborhood.
Adaptive
Goal: Use as little battery life as possible while still gathering the needed data.
In "adaptive" mode, the device will attempt to use as little battery and data as possible to run the nearby triggers. As such, you will not get trails of data from this profile, instead, there will be more location updates when the user is near the geotrigger areas.
This mode is designed to have minimal battery impact while still delivering messages. In our testing, users notice slightly more battery drain than in "rough" mode, but far less than using the GPS constantly.
Sample Use Cases
Daily Deals App
A daily deals app for travelers, sending you a deal when you get into a new city'''.
Location Based Analytics
This is the best mode to use with our analytics and geofencing features.
Realtime
Goal: Send accurate location data to the server as fast as possible.
In "realtime" mode, the device will send data to the server as fast as possible. Internally, the SDK uses a streaming UDP protocol to send the data in a compact and efficient form. Older data is treated as irrelevant and may not be sent. The server is not guaranteed to receive all the data sent to it, although there is some level of error checking built in anyway.
Sample Use Cases
Multiplayer Games
For realtime geolocation based games like MapAttack where having accurate realtime location is ideal.
Realtime Location Tracking
This mode is ideal for sharing locations between people for meeting and events.
Logging
Goal: Record accurate logs of a trip, even when no network connection is present.
In "logging" mode, every piece of data is important. You can use this mode to record trips and expect to see trails of where users have been. In this mode, the SDK requests high-resolution location data from the operating system and sends to the server at an interval of about 30 seconds if data is available. If no network connection is present, the data will be queued and sent later when the network is available.
Sample Use Cases
Fitness Tracking
Track bike rides or run to record distance and speed and see your trail on a map later
Off
No location services are used. The app will not receive location updates and location will not be tracked.