インポート
初期化
.initialize
OneS1ght API キーで測位エンジンを初期化します。自社サーバーを構築した場合のみbaseUrl を渡します(デフォルトは OneS1ght.DEFAULT_BASE_URL)。
.requestPermission
測位エンジンの利用に必要なアプリ権限をリクエストします。.setLanguage
SDK のログ文言の言語を設定します。ko: 韓国語、 ja: 日本語、 en: 英語、 null: システム設定の言語
.onDebugLog
SDK のログを受信します。level: ログレベル、 message: ログメッセージ
.reset
セッションを破棄して測位を止め、保存されたキーと建物情報を消去します。その後はinitialize を再度呼んでください(それまでは NotInitialized、E1001)。
状態の取得
.isInitialized
初期化に成功したかを返します。.deviceAvailability
測位可能な端末かを判定し、非対応の場合はその理由を返します。initialize() の後に読みます — それより前は DEVICE_NOT_SUPPORTED(Android 17 未満は OS_VERSION_TOO_LOW)です。
.googleMapKey
図面を表示するための Google Maps API キーを返します。.SDK_VERSION
使用中の SDK バージョンを返します。プロフィール
.createProfile
新しいパーソナライズプロフィールを作成します。成功すると一意のプロフィール ID を返します。.identify
収集する測位データを紐付けるプロフィールを設定します。解除する場合はnull を設定してください。
.fetchProfile
プロフィールの属性を取得します。.replaceProfile
プロフィールの属性を置き換えます。以前のデータは削除されます。.deleteProfile
プロフィール情報を完全に削除します。空間の取得
.buildings
テナントに紐付くすべての建物一覧を取得します。.floors
建物のフロア一覧を取得します。.floor
選択したフロアの詳細情報を取得します。.zones
選択したフロアのすべてのゾーンを取得します。.locators
選択したフロアのロケーター情報を取得します。フロアの指定
.setFloorMap
ゾーンイベントに使うフロアを指定します(任意)。指定しなくても座標は届きますが、ゾーンイベント・施策を受け取るには必要です。.refreshZones
最新のゾーン情報を取得します。測位セッション
.floorSession
測位セッションを返します。フロアに関係なくアプリ全体で 1 つのインスタンスで、initialize 前は NotInitialized を投げます。
.begin
ユーザーの測位を開始します。.end
ユーザーの測位を終了します。.pause · .resume
ユーザーの測位を一時停止・再開します。終了とは異なり、SDK 内の測位エンジンは停止しません。.isRunning · .isPaused
測位中かどうかと、一時停止中かどうかを返します。セッションイベント
.onPosition
ユーザーの座標をリアルタイムで届けます。エンジンが出す速度のまま届き、サーバー送信だけがコンソールの設定値(デフォルトは毎秒 4 回)に間引かれます。.onZoneEnter · .onZoneExit
ゾーンへの進入・退出時にイベントが発生します。.onZoneDwell
特定ゾーンの滞在時間が基準(dwellSeconds)を超えるとイベントが発生します。
.onTriggers
空間内のイベント(施策)が動作するとイベントが発生します。.onFloorDetected
エンジンがロケーターの BLE 信号でフロアを見つけるとフロア ID で、フロアを見失うとnull で呼ばれます。
.onStopped
ユーザーの測位が停止するとイベントが発生します。.onConfigChanged
コンソール画面で設定が変更されるとイベントが発生します。データ送信
座標は 300 件または 60 秒ごと、およびバックグラウンド移行時とend() 時に自動で送信されます。
.uploadPendingPositions
溜めた座標を即時送信します。.discardPendingPositions
溜めた座標を破棄します。エラー処理
失敗はSdkError(SDK の状態)と ApiError(通信、co.onecheck.ones1ght.android.network.ApiError)で届きます。詳細はエラーコードを参照してください。
モデル
リストはList<T>、バイト列は ByteArray です。
Coordinates
Building · Floor
Locator · FloorLocators
Zone
Trigger
列挙型(
ConfigChange・StopReason・PermissionStatus・DeviceAvailability・LogLevel)はマイナーバージョンで値が増えることがあります — when に else を置いてください。
制約
suspendAPI はどのコルーチンからでも呼べます。identify・discardPendingPositions・pause・resumeはメインスレッドで使用します。- UWB 測位はフォアグラウンド専用です。バックグラウンドに入ると測位が止まり、滞在中のゾーンは退出(
onZoneExit)として扱われ、リアルタイム受信が切れます。復帰すると測位が再開し、ResyncNeededが届きます。 - 座標バッファはアプリのメモリ上に一時保存され、強制終了すると未送信の座標は失われます。
- エミュレーターでは測位できません。