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)

https://developer.atrius-iot.com/documentation/ios/

4.3.2 Release Notes

Bug Fix – BLE location updates from LocationManagerV3 were returned with a nil floor.

4.3.1 Release Notes

Bug Fix – Site initialization API calls would time out after a few seconds. HTTP Timeout was increased to 61 seconds.

Bug Fix – Fixed asynchronous autoload in LocationManagerV2 and LocationManagerV3 that had the potential to report an autoload timeout, and then still successfully load the site.

4.3.0 Release Notes

LocationManagerV3 – Enhanced LocationManager that improves position transitions and smoothing.

Site Cache – Improvements made to the caching, encryption, and handling of cached site data to minimize redundant data calls and enhance speed of initialization.

MRTR Fixture Improvements – Added in routines to improve VLC positioning and skylight mitigation with Atrius-enabled MRTR fixtures.

Site Resolver – Improved functionality for loading site data.

Class Deprecation – Deprecation of LocationManagerV2 and related classes. Please switch to the LocationManagerV3 classes.

4.2.3 Release Notes

Bug Fix – Site initialization API calls would time out after a few seconds. HTTP Timeout was increased to 61 seconds.

Bug Fix – Fixed asynchronous autoload in LocationManagerV2 that had the potential to report an autoload timeout, and then still successfully load the site.

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:

  1. Not moving smoothing – When the device is detected to not be moving, the locations are averaged over time.
  2. 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.