> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ones1ght.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android SDK

## 0.0.11

* 測位の再開(resume)時、エンジンが座標を出していない場合（セッションエラー、または5秒以上座標なし）はエンジンを再起動

## 0.0.10

* 測位エンジンはアプリが画面に表示されている間のみ動作するよう変更 — バックグラウンドで `begin()` を呼ぶと、画面に表示された時点でエンジンを開始

## 0.0.9

* Galaxy S25+ など一部の端末で測位が開始されない問題を修正（`E4001` が繰り返される）

## 0.0.8

* SDK の Gson R8 ルールの範囲を SDK 内部に縮小 — アプリの Gson モデルはアプリ側でルールを追加
* 接続が切れたときに送ったリクエストが再送され、イベント・座標・プロフィールが重複する問題を修正

## 0.0.7

* **Breaking** 内部型を非公開化: `ApiClient` コンストラクタ・`IdentityStore`・`SdkDefaults`・`MockPositioningProvider` など
* **Breaking** `ConfigChange.Companion`（空の companion）を削除
* **Breaking** `PositioningProvider.applyZones` を公開契約から削除 — ゾーンは `apply(PositioningConfig(zones = …))` で渡される
* **Breaking** `building(buildingId = …)` → `building(id = …)`（引数名のみ、位置引数はそのまま）
* **Breaking** 建物なしで最初に `setFloorMap(floor)` を呼ぶと `SdkError.BuildingNotSet`（`E3001`）が発生
* **Breaking** `SdkErrorCode` などの enum を分岐する `when` に `else` の追加が必要
* `permissions(activity)` → `requestPermission(activity)`
* `getProfile()` → `fetchProfile()`
* `putProfile()` → `replaceProfile()`
* `send()` → `uploadPendingPositions()`
* `empty()` → `discardPendingPositions()`
* `ApiClient.DEFAULT_BASE_URL` → `OneS1ght.DEFAULT_BASE_URL`
* 旧名は `@Deprecated` として引き続き動作。全一覧は [SDK CHANGELOG 0.0.7](https://github.com/onecheck-inc/OneS1ght-Android-SDK/blob/main/CHANGELOG.md#007--2026-10-02) を参照
* `FloorSession.onStopped` を追加 — セッション終了理由（`ENDED`・`ENGINE_FAILED`）を通知
* `FloorSession.onFloorDetected` を追加 — エンジンが検出したフロア ID を通知
* カスタム provider も `onFloorDetected`・`onEmit` でゾーンコールバックをサポート
* エンジンが停止すると自動再起動し、失敗時はセッション終了後に `onStopped(ENGINE_FAILED)`
* フロアなしで `begin()` しても `E3001` をサーバーに送らないよう変更
* `identify` を `initialize` より先に呼ぶことをサポート
* 一時停止がバックグラウンドを経ても維持されるよう変更（iOS と同じ）
* `ApiError.message` を英語 + エラーコードに変更
* `initialize` の `baseUrl` を空間の取得にも使用するよう変更
* 応答の 1 項目が壊れていると一覧全体が失敗する問題を修正
* `refreshZones()` 時に滞在時間がリセットされる問題を修正
* 座標送信中に `empty()` を呼ぶとアプリが終了する問題を修正
* `reset()` 後に古い建物でフロアを取得する問題を修正

## 0.0.6

* `SdkErrorCode` を `else` なしで分岐する `when` には `BLUETOOTH_OFF` の分岐追加が必要
* Bluetooth オフを権限拒否（`E2003`）と分けて `E2004` で記録（iOS と同じ）

## 0.0.5

* `UwbPositioningProvider(context)` でアプリが測位 provider を直接生成できるよう対応
* `UwbPositioningProvider.isSupported(context)` で端末の測位可否を確認できるよう追加
* provider の観測可能な状態（`phase`・`latestPosition`・`detectedFloorId` など）と `StateFlow` を追加
* provider のフック（`onFloorDetected`・`onEngineError`・`onZoneEvent`・`onLog`）を追加
* `startDetection()`・`stopDetection()` でエンジンだけを先に起動できるよう対応
* `kotlinx-coroutines-core`（1.9.0）を api 依存に変更
* iOS と異なり `license` は非公開 — エンジンのライセンスは SDK がコンソールの値で設定

## 0.0.4

* パッケージの `minSdk` を 37 → 26（Android 8.0）に引き下げ — アプリの `minSdk` を戻しても可
* Android 17 未満では測位だけが無効になり、アプリは正常動作（`E2001`）

## 0.0.3

* パッケージの `minSdk` を 37 に引き上げ — 0.0.4 以上の使用を推奨
* 測位エンジンを iOS（0.1.23）と同じ統合エンジンに交換
* エンジンが BLE でフロアを自ら検出 — `setFloorMap` はゾーンイベント用の任意項目
* ゾーン判定をエンジンのジオフェンスに変更 — コンソールのゾーン判定パラメータは未使用
* 権限リクエストに `BLUETOOTH_SCAN` を追加
* ログコード `E3007`・`E3008`・`E3009`・`E4004` を追加、`E4003` は発生しない

## 0.0.2

* 配布座標を `com.ones1ght.sdk:android` に変更 — `mavenCentral()` のみ必要
* R8/ProGuard のリリースビルドが失敗する可能性 — 0.0.4 以上の使用を推奨
* Maven Central 初回配布・測位エンジン AAR を同梱
* `-sources.jar`・`-javadoc.jar` も配布

## 0.0.1

* Android SDK 初公開 — iOS SDK（0.1.23）と同じ機能・サーバー契約
* Kotlin `suspend` と Java `Callback<T>` をサポート
* 測位は Android 17（API 37）以上・UWB DL-TDoA 対応端末で動作
* iOS と異なり `initialize` に `Context` 引数が必要
* iOS と異なり権限リクエストに `Activity` 引数が必要


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.