Combain Indoor AI Navigation Plugin
This plugin is a wrapper for the Combain Indoor AI Navigation SDK. It provides a simple way to integrate the SDK into your Flutter app.
Getting Started
This is all the code needed to start receiving indoor location updates from the Combain Indoor AI Navigation SDK.
Future<void> initIndoorNavigationSDK() async {
var config = FlutterIndoorNavigationSDKConfig(
apiKey: Secrets.apiKey,
syncingInterval: SyncingInterval(interval: 0),
routingConfig: FlutterRoutingConfig(
routableNodesOptions:
FlutterRoutableNodesOptions.allExceptDefaultName));
val aiIndoorNavigationSDK = await FlutterIndoorNavigationSDK.create(config);
await aiIndoorNavigationSDK.start();
}
Demo
For a demo project see gitlab.combain.com/Hugo-Persson/flutter-ai-navigation-demo
Permissions
iOS
The following values needs to be specified in the info.plist
NSMotionUsageDescription
NSLocationWhenInUseUsageDescription
And this needs ot be added to Podfile:
target.build_configurations.each do |config|
# You can remove unused permissions here
# for more information: https://github.com/BaseflowIT/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h
# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## The 'PERMISSION_LOCATION' macro enables the `locationWhenInUse` and `locationAlways` permission. If
## the application only requires `locationWhenInUse`, only specify the `PERMISSION_LOCATION_WHENINUSE`
## macro.
##
## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
'PERMISSION_LOCATION_WHENINUSE=1',
'PERMISSION_SENSORS=1',
]
end
see https://github.com/Baseflow/flutter-permission-handler/tree/main/permission_handler#setup