As the first step, you need to create a digital map of the target location. Sign up for your account at Navigine web-site and create a new location. Using indoor map creator add sublocation and upload the floor plan.
In order to start implementation, you need to get approximately 10 Bluetooth beacons per 1000 sq m of your location. These beacons have to be evenly deployed and linked to places on the floor plan via indoor map maker.
Once the equipment is deployed, the map is uploaded, and both are interlinked, you can start developing your indoor navigation system app. You can use Navigine SDK for iOS/Android platforms to add indoor navigation, push notifications and tracking functions.
Our easy-to-use SDK and API empower developers to integrate indoor navigation, push notifications and motion analytics functions into their apps in a matter of days. Take advantage of the high-accuracy positioning capabilities for your iOS and Android apps.
Our platform is designed to support development of powerful iOS applications leveraging iBeacon technology
Enhance your Android app with state-of-the-art indoor positioning solutions.
// your personal security key in the profile
NSString *userHash = @"0000-0000-0000-0000";
// your API server
NSString *server = @"https://api.navigine.com";
NavigineCore *navigineCore = [[NavigineCore alloc] initWithUserHash:userHash server:server];
// location id from web site
NSInteger locationId = 1;
BOOL forced = YES;
// If YES, the content data would be loaded even if the same version has been downloaded already earlier.
// If NO, the download process compares the current downloaded version with the last version on the server.
// If server version equals to the current downloaded version, the re-downloading is not done.
[navigineCore downloadLocationById:locationId forceReload:forced processBlock:^(NSInteger loadProcess) {
NSLog(@"%zd",loadProcess);
} successBlock:^(NSDictionary *userInfo) {
[navigineCore startNavigine];
} failBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
// Initializing Navigation library (USER_HASH is your personal security key)
if (!NavigineSDK.initialize(getApplicationContext(), USER_HASH, null)) Toast.makeText(this, "Unable to initialize Navigation library!", Toast.LENGTH_LONG).show();
// Download a location archive from the server
class LoadTask extends AsyncTask<Void, Void, Boolean>
{
@Override protected Boolean doInBackground(Void... params)
{
return NavigineSDK.loadLocation(LOCATION_ID, 30) ?
Boolean.TRUE : Boolean.FALSE;
}
@Override protected void onPostExecute(Boolean result)
{
if (result.booleanValue())
{
// Location is successully loaded
// Do whatever you want here, e.g. you can start navigation
NavigationThread navigation = NavigineSDK.getNavigation();
if (navigation != null)
navigation.setMode(NavigationThread.MODE_NORMAL);
}
else
{
// Error downloading location
// Try again later or contact technical support
Log.d(TAG, "Error downloading location!");
}
}
}
(new LoadTask()).execute();
We provide 24/7 technical support to help you anytime anywhere.
Feel free to ask any questions or leave your comments.
Please send us your question to info@navigine.com
Сontact our team via contact form.
Get answers about our products and solutions or send us info about your task. You can also take a look at the approximate pricing of implemented cases.
Navigine is a global provider of integrated positioning mobile technologies that enable advanced indoor navigation and proximity solutions with over 1000 client installations worldwide and over 30 public mobile and web applications.
Navigine software platform includes 2 major technology products:
1. Mobile SDK to integrate indoor navigation, marketing and analytics functions into any app.
2. Software system for quick deployment of asset and vehicles tracking inside large buildings.