Skip to main content

測位情報の設定

測位情報に関する項目は SDK 導入前のチェックリスト をご覧ください。

SDK・システム要件

OneS1ght SDK は以下の環境で動作します。
SDK が対応していない端末・OS では測位とデータ収集は停止しますが、アプリ自体は正常に動作します。

1. SDK の導入

OneS1ght iOS SDK を導入します。
1

パッケージ追加を開く

Xcode で [File] → [Add Package Dependencies…] をクリックします。
2

リポジトリ URL の入力

検索欄に以下のアドレスを入力し、[Add Package] をクリックします。
Dependency RuleUp to Next Major Version0.1.0 のままにします。
3

ターゲットへの追加

[Add Package] をクリックし続けて、OneS1ght ライブラリをアプリのターゲットに追加します。
4

確認

Xcode の [Package Dependencies] で OneS1ght iOS SDK が追加されたことを確認できます。
Package.swift で追加する場合:

2. 位置情報の権限リクエスト

利用者の動線を収集するには、UWB モジュールの権限の許可が必要です。
まず、アプリターゲットの Info タブ(または Info.plist)に権限の説明を 2 つ追加します。
先に位置情報の権限を取得します。
Nearby Interaction の権限は SDK で確認します。
Nearby Interaction の権限がないと、UWB モジュールと通信できません。 CLLocationManagerDelegatelocationManagerDidChangeAuthorization で許可の状態を確認してください。
UWB モジュールの権限が一度拒否されると、仕様上アプリから直接リクエストすることはできません。 再度お願いする場合は 設定 へ誘導してください。

3. SDK の初期化

アプリのライフサイクルに合わせて、アプリの起動時に SDK を初期化してください。 YOUR_SDK_API_KEY は OneS1ght コンソールで発行する SDK API キー、YOUR_GEOSPACE_SDK_KEY は GeoSpace の SDK キーです。
ルートビューの .task、または Appinit で呼び出します。
初期化成功時のログ YOUR_TENANT_NAME は OneS1ght が付与する組織の名前です。

4. プロフィールの連携

レポートのフィルタリングやセグメント設定のために 指標の対象 を設定します。指標対象の属性に制限はなく、 最初に指標対象を設定すると、サーバーが 一意のプロフィール IDprofileId)を返します。
プロフィール ID を紛失すると復元できません。 サーバーは発行した値を返すだけでアプリの代わりに保管はしないため、 別途ストレージを用意して保存してください。
プロフィールを連携せずに測位を開始した場合は .notIdentifiedE1004)が発生し、測位は開始されません。

5. 測位空間の設定

利用者を測位する空間を指定します。 OneS1ght では、テナント(組織)に複数の 建物 が存在し、1 つの建物には複数の フロア があります。 つまり、測位を行うには 1 つのフロアが選択されている必要があります。
フロアの内容はコンソールの 空間管理 で変更できます。
変更した内容は refreshZones の呼び出しで反映されます。

6. 進入コールバックの登録

フロア内の特定のゾーンにイベントを設定できます。イベントの内容は自由に実装できます。
onDebugLog は initialize より先に呼び出すことで、初期化の段階からデバッグログを確認できます。

7. 測位の開始

フロアへの進入準備(セッション)が完了したら測位を開始します。

8. 測位の終了

エリアから退出した場合は測位を停止します。 このとき初期化とフロアの設定は保持されるため、begin を再度呼び出せばいつでも再開できます。

コード全体の例