Documentation
How AdvTracker records a trip, what it does with each GPS fix, and what every setting actually changes. This page describes behaviour that ships today.
Getting started
Sign in with Google, on the phone app and on the web, and you get one account across both. Sign in with Apple arrives with the iOS app. The phone records trips; the web is where you look at them, share them and manage your account.
Recording a trip
Press Start on the phone. A trip takes a name (today's date by default) and two numbers that decide how often a point is kept:
- Interval — how many seconds between fixes while moving. 5 to 600 seconds; 30 by default.
- Distance — how far you must move before another point is recorded. 5 to 1000 metres; 25 by default.
Under Advanced:
- Accuracy limit — fixes less precise than this are thrown away. 10 to 200 metres; 50 by default. Read Battery Saver before setting this near its lower end.
- Stop timeout — how long you must stay put before the trip counts as stationary. 60 to 900 seconds; 180 by default.
- Stationary radius and low-power interval — derived from your distance and interval unless you set them yourself.
Only one trip can be active at a time. While a trip runs, an ongoing notification sits in your shade: that notification is the foreground service keeping the recording alive, so dismissing or blocking it stops the trip. Swiping the app away also stops recording. If the phone reboots mid-trip you get a "Resume your trip?" notification — tapping it opens the app, which then offers to carry on.
How fixes are filtered
The phone sees far more GPS fixes than it records. Most are discarded on purpose — a track full of noise is worse than a sparse one. A fix has to survive all of this to become a point:
- It must be at least as precise as your accuracy limit.
- It must be further from the last recorded point than both your distance setting and the fix's own margin of error. A fix that claims ±30 m has to move more than 30 m to be believed.
- It must be physically possible: anything implying more than 200 km/h since the previous fix is treated as a GPS error, not as travel.
- Its timestamp must make sense. Fixes arriving out of order are dropped, and a device clock that is genuinely wrong is detected and re-based after three such fixes.
Stillness is tracked separately from recording. Once every fix has stayed within the stationary radius for the whole stop timeout, the trip switches to Stationary and asks the phone for cheaper, less frequent fixes. This is what keeps a night parked at camp out of your track and your battery alive on a multi-day ride: a stationary phone records no points at all, however much its GPS wanders.
None of this is hidden from you. The active trip screen has a Diagnostics link listing exactly how many fixes were rejected, and for which reason.
Battery Saver and GPS accuracy
When Android's Battery Saver is on, the operating system throttles location for every app on the phone. It makes the GPS receiver work in bursts instead of tracking continuously, and a receiver that keeps restarting never settles: fixes that would normally report 3 to 5 metres report 10 to 30 instead. No app can override this, AdvTracker included.
That used to interact badly with a tight accuracy limit. If you set the limit to 10 m and the phone entered Battery Saver, no fix could ever meet it and the trip silently recorded nothing. So while Battery Saver is on:
- the accuracy limit is relaxed to 20 m, even if you set it lower. A coarser track is worth keeping; no track is not.
- a limit you set above 20 m is left exactly as you set it. This only ever loosens a too-strict limit, and never tightens a generous one.
- the app stops dropping to its own low-power mode when you stop moving. The system is already saving power, and stacking a second downgrade on top produced fixes too poor to notice you setting off again.
The active trip screen says so while this is in force, so a rider who set 10 m and sees 18 m points knows why. The throttle applies while the screen is off, so turning the screen on restores full-rate GPS if you need precision for a moment. Turning Battery Saver off restores your own settings immediately.
Battery and manufacturer settings
Recording runs as a foreground service, which is the strongest guarantee Android offers that an app keeps running with the screen off. Some manufacturers — Samsung, Xiaomi, Huawei, OnePlus and others — add their own battery management on top and will still kill it. The phone app recognises those devices and links you to dontkillmyapp.com, which has the exact steps for each one.
AdvTracker deliberately does not ask to be exempted from battery optimisation. Google disallows that request for an app like this, and it would not help with Battery Saver in any case — the two are different mechanisms.
The web dashboard
Trips lists everything you have recorded, with an active trip pinned to the top and its status, distance, point count and last update. Opening a trip gives you the full track on a map with the last known position, the trip's statistics, and controls to rename, share, export or delete it.
GPX export
Pro accounts can download any trip as GPX 1.1 from the trip page. Each point carries its time, and its elevation, accuracy and speed where the phone reported them. A gap of more than 30 minutes between points — a long stop — starts a new track segment, so a multi-day trip opens sensibly in other tools rather than as one line drawn through your overnight stops.
Free and Pro
Recording, filtering, share links and live viewing are identical on both plans. The phone app is the same either way.
- Free — unlimited trips and share links; a finished trip is kept for 90 days, then deleted.
- Pro — trips kept for as long as your account exists, plus GPX export.
AdvTracker is open source under the AGPL. If you host it yourself, every Pro feature is included.