Skip to main content

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 を参照
  • 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 引数が必要