このドキュメントは v0.1.13 基準です。稼働中のバージョンは
OneS1ght.sdkVersion で確認できます。OneS1ght はアプリ全体で 1 つだけの静的エントリーポイントです — インスタンスは作らず、すべての API を型から
直接呼び出します。すべての API は メインアクター(@MainActor) で呼び出します。
ライフサイクル
initialize のパラメーター:
デフォルトの
baseURL は https://console.ones1ght.com/api/sdk/v1 です。
測位セッション — FloorSession
- SwiftUI
- UIKit
コールバック
セッションのコールバックはFloorSession インスタンスに、デバッグログは OneS1ght 型に設定します。
LogLevel
Comparable なので level >= .warn のように絞り込めます。
「この階に登録されたエリアがありません」は、コンソールでまだエリアを作っていない
正常な状態です。不具合ではないため
.info です。空間の取得
エンドポイントごとに 1 メソッドで、一覧と単件が対になっています。フロアの指定
プロフィール
お客様の会員 ID はサーバーには届きません — マッピングはお客様側でのみ保持します。
データ送信
座標は 300 件または 60 秒 のいずれか早い方で送信されます。 バックグラウンドへの遷移時とend() 時にも残りを送信します。
状態の取得
エラー — SdkError
SdkError は SDK 自身が投げる 5 種類です。通信の失敗は ApiError で届きます。
どちらの型も .code から エラーコード を取り出せます。
- SwiftUI
- UIKit
測位ランタイム(
E4001〜E4003)と空間設定(E3001〜E3004)は throw されず、ログにのみ 残ります —
onDebugLog またはコンソールのログ分析でご確認ください。全一覧
モデル
Coordinates — リアルタイム座標
Building · Floor — 建物・フロア
Locator · FloorLocators — ロケーター
Zone — ゾーン
これらの判定パラメーターはサーバーのゾーンメタデータから配信され、コンソールの
空間管理 → ゾーンを選択 → SDK エリア判定 でゾーンごとに設定します(設定方法)。
zone.contains(Position(x:y:)) で任意の座標がゾーンに含まれるかを直接判定することもできます。
Trigger — パーソナライズアクション
MockPositioningProvider — テスト用
session.begin(provider:) で注入し、UWB なしで SDK のパイプラインを確認します。
ZoneEventStatus は .enter · .dwell · .exit です。
スレッド
OneS1ghtのすべての API は@MainActorです。SwiftUI のビューや.taskからはそのまま呼び出せます。 バックグラウンドのコンテキストからはawait MainActor.run { … }で包んでください。- コールバック(
onPositionなど)もメインアクターで呼び出されます — UI をそのまま更新しても安全です。