Skip to content

API reference

The same shape on every platform: 12 core methods, plus diagnostics, license, and permissions, and one stream per feature. Names are identical across Android, iOS, Flutter, and React Native — only the language syntax differs.

MethodWhat it does
configure(config)Apply settings (optional; may be called while tracking to live-tune).
start()Begin tracking. Never throws — observe state.
stop()Stop tracking.
getCurrentLocation(timeout?, accuracy?)One immediate fix, independent of tracking. null on timeout.
getLocations(from, to)Read stored history in a range.
deleteLocations(before?)Delete history (all if omitted); returns rows removed.
sync()Force an immediate upload.
setExtras(extras)Custom string → string fields sent with every upload.
pendingUploadCount()Locations not yet uploaded.
addGeofences(geofences)Register circular regions.
removeGeofences(ids)Unregister by id.
listGeofences()The current geofence set.
getPermissionStatus()Current location-permission grant. Read-only; never prompts.
getLog / exportLog / clearLog / setLogLevel / logDiagnostics & troubleshooting.
licenseStatus()Current license status (observational).
resumeIfNeeded()Resume a session active before the process was killed (wrappers; native resumes automatically).

One observable per feature — subscribe the way that’s idiomatic (Android Flow/StateFlow, iOS AsyncStream, wrappers on* subscriptions):

StreamDelivers
stateIdleTrackingStopped(reason) transitions.
locationsEach admitted fix, live.
geofenceEventsEnter / exit crossings.
syncStatusUpload progress and outcomes.
authChangesToken rotations from native refresh.
licenseStatusUpdatesLicense status transitions.
logsDiagnostic log entries, live.

Full, generated API docs with every type and signature: