Overview
Indoor positioning features:- Floor level detection: Use barometric pressure to determine which floor the user is on
- Indoor scanning: Integrate with third-party indoor positioning systems
- Beacon ranging: Track proximity to iBeacons for precise indoor location
- Altitude tracking: Monitor relative and absolute altitude changes
Enable indoor scanning
To enable indoor scanning, set theuseIndoorScan property on your tracking options:
Indoor scanning requires configuration on the Radar dashboard and integration with a supported indoor positioning provider.
Indoor positioning protocol
The SDK provides a protocol for integrating custom indoor positioning systems:- A scan result string with positioning data
- The device’s location at the start of the scan
Floor level detection
Enable pressure sensor integration to detect floor changes:Pressure sensor data requires:
- The RadarSDKMotion framework to be integrated
- Motion & Fitness permissions to be granted
- A device with a barometer (iPhone 6 and later)
Beacon-based indoor positioning
Use iBeacons for precise indoor location tracking:Configure beacons in the dashboard
Set up your iBeacon UUIDs, majors, and minors in the Radar dashboard under the Beacons section.
Altitude tracking
The SDK tracks altitude using both relative and absolute altitude data:Relative altitude (pressure-based)
Uses the device’s barometer to measure changes in altitude:- Altitude change in meters from a reference point
- Barometric pressure in kilopascals (kPa)
Absolute altitude (iOS 15+)
On iOS 15 and later, the SDK also uses absolute altitude data:- Altitude above sea level in meters
- Accuracy of the altitude measurement
- Precision of the altitude data
Indoor scan workflow
When indoor scanning is enabled, the SDK follows this workflow:- User enters a configured geofence
- SDK checks if indoor scanning is enabled for that geofence
- Indoor scan is triggered automatically
- Scan results are sent to the Radar API with location data
- Indoor positioning data is returned in the track response
Combining indoor positioning methods
For best results, combine multiple indoor positioning methods:Best practices
Test in real environments
Test indoor positioning in actual buildings with multiple floors to verify accuracy.
Calibrate beacons
Ensure beacons are properly positioned and configured in the Radar dashboard.
Monitor permission status
Check that Motion & Fitness and Bluetooth permissions are granted for full functionality.
Combine with outdoor tracking
Seamlessly transition between indoor and outdoor positioning.
Receive indoor location updates
Receive indoor positioning data through the delegate:Troubleshooting
Floor detection not working
Floor detection not working
- Verify the device has a barometer (iPhone 6 and later)
- Ensure both
useMotionandusePressureare set totrue - Check that Motion & Fitness permissions are granted
- Verify the RadarSDKMotion framework is integrated
Beacons not detected
Beacons not detected
- Verify Bluetooth is enabled on the device
- Check that
beaconsis set totruein tracking options - Ensure beacons are configured in the Radar dashboard
- Test beacon ranging with a known beacon nearby
Indoor scan not triggering
Indoor scan not triggering
- Verify
useIndoorScanis enabled - Check that indoor scanning is configured for your geofences in the dashboard
- Ensure the device is within a configured geofence
- Check that
syncGeofencesis enabled to receive geofence data