Atrius Navigator platform service’s Software Development Kit (SDK) unlocks location-based (LBS) and indoor positioning services (IPS) within mobile applications. Acquiring data from your Atrius Sensory Network, Atrius Navigator delivers precise, cost-effective indoor positioning solutions, enabling applications that redefine visitor journeys and enhance business operations.
SDK Documentation (also included in download below)
4.2.2 Release Notes
Bug Fix – Fix integer data associated with floors. (site ID, building ID, and vertical order were incorrectly parsed and presented to the application)
4.2.1 Release Notes
Bug Fix – Improved callback management. Callbacks are now dispatched asynchronously.
4.2.0 Release Notes
Pedestrian Dead Reckoning (PDR) Smoothing Strategy – Introducing a new smoothing strategy that utilizes the accelerometer, gyroscope, and compass to detect a device’s movement through the floorspace. PDR smoothing receives both VLC and BLE locations. When VLC locations are received, the seed is reset to the accurate VLC location. When BLE locations are received, it is smoothed against the PDR prediction. The smoothing strategy has 2 enhancements:
- Not moving smoothing – When the device is detected to not be moving, the locations are averaged over time.
- Moving smoothing – When BLE locations are received, the smoothing strategy uses the previous smoothed location to predict the new location based on the sensor readings. This predicted location is then averaged with the latest BLE location.
Failure detections – At times, if the site has a poor heading offset, PDR prediction can become incorrect. If PDR predictions are detected to be incorrect, the algorithm will attempt to measure a new heading offset. There are several configurations regarding failure detection and handling options; see ATRDeadReckoningStrategy.h for more details.
Configured Properties – Added a new property to the LocationManager, ActionZoneManager, and RouteManager that indicates if the functionality is configured properly. This is to better communicate if the app can expect a behavior that is enabled, but not yet fully configured.
- LocationManager is configured
- Requires lights to be defined in the lights map (with at least a BLE or VLC ID)
- If the CoordinatePreference is Geographic then a geotransform must be defined
- ActionZoneManager is configured
- Requires an action zone to be defined
- Requires a geotransform
- RouteManager is configured
- Requires a route server to be defined
- Requires a geotransform
Enable Bitcode – The full SDK now supports bitcode.
iOS 9 Support – Reintroducing support for iOS 9.
Error Domains – Following Apple’s best practices, error domains have been updated to reverse-dns strings.
Bug Fix – There was an error in the reverse Geotransform function. This affected meter distances computed in the route manager.
Bug Fix – Switching the compass from magnetic to true north. This change allows for more accurate representation.
Bug Fix – VLC angles were sometimes incorrectly computed when initialized against a single luminaire. Removed single luminaire initialization.
Bug Fix – Cleaned up the reference apps. Some were not building out of the box.
Deprecating – Deprecating the Simulation classes. It is recommended to use the injectLocation method in the ATRLocationManagerV2 class instead.
4.1.2 Release Notes
Bug Fix – Successive Autoload Crash – Rapid and successive calls to autoload had the potential to trigger an index out of bounds error.
Bug Fix – Default API URL –The default API was configured to DEV instead of PROD.
4.1.1 Release Notes
Location Manager Auto Load Back off Strategy – To balance timely site detection, and unnecessary API calls when users are at not-yet-commissioned stores, we’ve implemented a back off strategy that grows a wait period. The wait period allows for 2 back to back auto load calls with no delay, and then will begin to grow to a maximum wait time of a minute. The wait times grow at this rate (in seconds): 0, 1, 2, 3, 5, 10, 20, 30, 60.
Bug Fix – Auto Load Stack overflow – There was a potential for stack overflow if the app called autoload in the site load error callback.
Bug Fix – Unreleased Delegate Preventing Garbage Collection – The Location Manager was not releasing all memory references to delegates. So even after removeDelegate was called, the object was never released for garbage collection.
4.1.0 Release Notes
New Location Manager – Adding a LocationManagerV2 class. This class is nearly the same as the LocationManager class, with the following notable modifications that are considered breaking:
- Modified autoload logic
- A timeout is now required. The default is 30 seconds.
- Invoking autoload will cancel any pending autoloads and restart the timeout. Cancelled autoloads will not trigger any further delegate callbacks (site load error, timeout callbacl, or site load callback)
- Introducing load errors – autoload will invoke the onLoadError callback for the following scenarios:
- Location permissions not accepted
- No internet connection
- Deleted beacons are not registered to an active site
- Network error
- Failed to detect nearby beacons
- Ability to inject locations
- Injected locations can be used instead of simulated locations
- Injected locations can trigger actions zones.
Deprecating LocationManager – With the new LocationManagerV2 class, we are deprecating the LocationManager class. Upgrading to the new class is recommended.
Support for 32-bit devices – Support for 32-bit devices (armv7 architecture) was removed in 4.0. Support has been added back in 4.0.3 and 4.1.0.
OS Support – iOS OS 10.0+ is supported
Removed Supported Devices – The following devices have been deprecated (due to the OS support)
- iPhone 8/8+
- iPhone X
Known Issues – Below are known issues that will be resolved in future updates
- VLC Interpolation – During BLE to VLC switchover, the underlying VLC library provides interpolated locations from the previously calculated VLC location.
- Floor switching – BLE is currently required to enable floor switching. Additionally, during a floor switch VLC will be disabled for 10 seconds while the new floor is loaded.
4.0.3 Release Notes
Restore Missing Architectures – armv7 and armv7s were previously removed and have been added back.
4.0.2 Release Notes
Eventhub Location Update Issue – Eventhub updates were silently failing. This update resolves the issue and locations continue to stream to the backend as configured.
4.0.1 Release Notes
Core Initialization Timing Issue – Fixed a bug that occurs when any of the manager classes are initialized before the Core is configured.
4.0.0 Release Notes
VLC Location Enhancements – update to Lumicast 3.0. Lumicast 3.0 adds VLC confidence radius and single light initialization capabilities.
New API Endpoints – The Atrius SDK points to our new and improved backend APIs. The default API is https://api.us.atrius-iot.io. By default, most customers will not need to update.
Atrius Authentication – Initialization of the core now require an Environment ID and Partner ID to authenticate.
AtriusLocation library – Location capabilities have been separated into a separate framework.
Option Improvements – Location and Server Options have been improved. See documentation for details.
Route Improvements – Priority Routing has been removed and now all Routes have a priority.
Overall Code Refactoring
- Classes renamed for rebranding. ABByteLight is now Atrius. ABL is now ATR.
- Builder pattern improvements. Adding both ObjectiveC and Swift friendly builder patterns.
- Nullable/Nonnull specification for swift friendly integrations.
- Removed deprecated methods that supported the ByteLightServices APIs.