This document targets v0.0.1. You can check the running version with
OneS1ght.SDK_VERSION.OneS1ght is the single object entry point for the whole app — you never create an instance and call every API on it
directly. Asynchronous APIs come in two forms with the same name — a suspend fun for Kotlin, and a form that takes a
Callback<T> as its last argument for Java. The tables below use the Kotlin form.
Lifecycle
initialize parameters:
The default
baseUrl is https://console.ones1ght.com/api/sdk/v1.
Positioning session — FloorSession
Callbacks
Session callbacks go on theFloorSession instance; the debug log goes on OneS1ght. All callbacks are called on the
main thread. Listeners are fun interfaces — use ZoneListener { zone -> … } in Kotlin and lambdas in Java.
ConfigChange — console changes
LogLevel — log levels
import co.onecheck.ones1ght.android.runtime.LogLevel. Values compare in declaration order, so you can
filter with level >= LogLevel.WARN.
Space lookup
One method per endpoint, with lists and single items in pairs. All aresuspend.
Floor selection
Profiles
Your member IDs never reach the server — only you keep that mapping.
Data upload
Coordinates are uploaded at 300 points or 60 seconds, whichever comes first. Remaining coordinates are also sent when the app goes to the background and onend().
State
From Java, read these through getters —
OneS1ght.isInitialized(), OneS1ght.getDeviceAvailability(), OneS1ght.getGoogleMapKey().
Errors — SdkError
SdkError covers the 5 errors the SDK itself throws. Communication failures arrive as ApiError
(co.onecheck.ones1ght.android.network). Both are Exception subclasses, and .code.code gives the
error code string.
- Kotlin
- Java
Positioning runtime (
E4001–E4004), space setup (E3001–E3006) and permission (E2003) errors aren’t thrown —
they’re only logged. Check them in onDebugLog or the console log analyzer. Full list
Models
Models live in theco.onecheck.ones1ght.android.model package.
Coordinates — live coordinates
Building · Floor
Locator · FloorLocators
Zone
Decision parameters are set per zone in the console under Space management → select a zone → SDK zone detection
(how to set it). Android decides zones on the device against the zone shapes received from the console.
Trigger — personalized action
MockPositioningProvider — for testing
co.onecheck.ones1ght.android.positioning package. Inject it with session.begin(provider) to exercise the SDK
pipeline without UWB. ZoneEventStatus is ENTER · DWELL · EXIT.
Threading
- Kotlin
suspendAPIs can be called from any coroutine; the SDK switches threads internally. - Call
identify,empty,pauseandresumeon the main thread. - Callbacks (
onPosition, …) and JavaCallbackresults are delivered on the main thread — it’s safe to update the UI directly.