Skip to main content

インポート

初期化

.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 を置いてください。

制約

  • suspend API はどのコルーチンからでも呼べます。identify・discardPendingPositions・pause・resume はメインスレッドで使用します。
  • UWB 測位はフォアグラウンド専用です。バックグラウンドに入ると測位が止まり、滞在中のゾーンは退出(onZoneExit)として扱われ、リアルタイム受信が切れます。復帰すると測位が再開し、ResyncNeeded が届きます。
  • 座標バッファはアプリのメモリ上に一時保存され、強制終了すると未送信の座標は失われます。
  • エミュレーターでは測位できません。