Skip to content

Latest commit

 

History

History
114 lines (81 loc) · 6.32 KB

README.md

File metadata and controls

114 lines (81 loc) · 6.32 KB

Navigine Flutter SDK

What is Flutter?

Flutter is a free and open-source mobile UI framework created by Google. It allows you to create a native mobile application with only one codebase. This means that you can use one programming language and one codebase to create two different apps (for iOS and Android).

A flutter plugin for navigine sdk on iOS and Android.

Android iOS
Support SDK 21+ iOS 12+

Useful links:

  1. SDK Documentation
  2. Refer to the Navigine official documentation for complete list of downloads, useful materials, information about the company, and so on.
  3. Get started with Navigine to get full access to Navigation services, SDKs, and applications.
  4. Refer to the Navigine User Manual for complete product usage guidelines.
  5. Find company contact information at the official website under Contact tab.
  6. Find information about Navigine’s Open Source Initiative here

Values and benefits

Flutter is a versatile platform that can be used in many industries, including retail, healthcare, logistics, transportation, and hospitality. The Navigine SDK for Flutter can provide businesses with accurate indoor positioning and tracking to improve their operations and provide a better experience for their customers.

In retail, Flutter with Navigine SDK can be used to create indoor navigation and wayfinding solutions for shopping malls, supermarkets, and other large stores, making it easier for customers to find products and leading to increased sales.

In healthcare, Flutter with Navigine SDK can be used to create indoor navigation and wayfinding solutions to help patients and visitors find their way around hospitals and medical facilities, reducing stress and anxiety and helping healthcare professionals locate patients and equipment more easily.

In transportation, Flutter with Navigine SDK can be used to create indoor navigation and wayfinding solutions for airports, train stations, and other transportation hubs, helping travelers find their gates or platforms more easily and improving the overall travel experience.

Using the Navigine SDK for Flutter provides businesses with several benefits, including high accuracy, scalability, and customization. The SDK is also user-friendly, with a simple and intuitive interface that makes it easy to integrate into any application.

Overall, by using Navigine SDK with Flutter, developers in these industries can create indoor navigation and wayfinding solutions that are fast, reliable, and user-friendly, improving the overall experience for customers and clients.

Getting Started

Generate your User Hash

  1. Register at https://locations.navigine.com
  2. Get user hash from Profile tab

Initializing for iOS

  1. Add import Navigine to ios/Runner/AppDelegate.swift
  2. Add NCNavigineSdk.setUserHash("Your user hash") inside func application in ios/Runner/AppDelegate.swift
  3. Specify your User Hash in the application delegate ios/Runner/AppDelegate.swift
  4. Uncomment platform :ios, '9.0' in ios/Podfile and change to platform :ios, '12.0'

ios/Runner/AppDelegate.swift:

import UIKit
import Flutter
import Navigine

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    NCNavigineSdk.setUserHash("Your user hash")
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

Initializing for Android

  1. Add dependency implementation 'com.github.Navigine:Indoor-Navigation-Android-Mobile-SDK-2.0:20240520' to android/app/build.gradle
  2. Add permissions <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> to android/app/src/main/AndroidManifest.xml
  3. Add import com.navigine.idl.java.NavigineSdk; and import com.navigine.sdk.Navigine; to android/app/src/main/.../MainActivity.java/android/app/src/main/.../MainActivity.kt
  4. Navigine.initialize(getApplicationContext()); and NavigineSdk.setUserHash("Your user hash"); inside method configureFlutterEngine in android/app/src/main/.../MainActivity.java/android/app/src/main/.../MainActivity.kt
  5. Specify your User Hash in the application delegate android/app/src/main/.../MainActivity.java/android/app/src/main/.../MainActivity.kt

android/app/build.gradle:

dependencies {
    implementation 'com.github.Navigine:Indoor-Navigation-Android-Mobile-SDK-2.0:20240520'
}

For Java projects

android/app/src/main/.../MainActivity.java:

package com.navigine.naviginesdkexample;
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import com.navigine.idl.java.NavigineSdk;
import com.navigine.sdk.Navigine;

public class MainActivity extends FlutterActivity {
  @Override
  public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
    Navigine.initialize(getApplicationContext());
    NavigineSdk.setUserHash("Your user hash");
    super.configureFlutterEngine(flutterEngine);
  }
}

Usage

For usage examples refer to example app