You can change the Situm SDK Configuration for both iOS and Android using the Remote Configuration. The Remote Configuration allows you to change the positioning settings of your app at any time and without programmatic changes that requires recompilation.
Configuring the Remote Configuration in Android #
In Wayfinding Android, you can instruct the component to use the Remote Configuration using the parameter useRemoteConfig of LibrarySettings and passing a true value (the default value is false):
LibrarySettings librarySettings = new LibrarySettings(); … // Tell the component to use the remote config: librarySettings.setUseRemoteConfig(true); // Create library: SitumMapsLibrary library = new SitumMapsLibrary(R.id.maps_library_target, context, librarySettings); … // Load: library.load();
Everytime the user starts positioning, the underlying Situm SDK will request location updates using the Remote Configuration.
If you want to override the remote settings programmatically, you can intercept the location request and customize it to fit your needs:
library.addLocationRequestInterceptor(builder -> { builder.buildingIdentifier(YOUR_BUILDING_ID); … });
Configuring the Remote Configuration in iOS #
In Wayfinding iOS, you can instruct the component to use the Remote Configuration using the parameter useRemoteConfig of LibrarySettings and passing a true value (the default value is false):
let settings = LibrarySettings.Builder() .setCredentials(credentials: credentials) .setBuildingId(buildingId: buildingId) .setUseRemoteConfig(useRemoteConfig: useRemoteConfig) .build() let library = SitumMapsLibrary(containedBy: self.containerView, controlledBy: self, withSettings: settings) ... library.load()
Everytime the user starts positioning, the underlying Situm SDK will request location updates using the Remote Configuration.