Architecture and Integration Intro

We want to be able to support you through the integration process so that it is as smooth and quick as possible. In order to do that, we request you to follow these instructions exactly. 

1. Always test first with Management App

If you project includes an indoor positioning installation, do the first positioning tests with the Proximi.io Management App that you install from Play Store. That way we can ensure that the application code is implemented correctly, and we can focus on verifying that your indoor positioning and navigation setup is prepared correctly.  The login credentials to the app are the same that you use for logging into the Proximi.io web portal.

2. Build the Proximi.io demo app as is

Once you have verified that your setup works as intended, take the Proximi.io demo app source code that we have shared with you, insert your API token, and try building it as is. Do not make any other changes the first time you build it. 

Your API token can be found by logging in to the Proximi.io web portal, under "Applications". Do use the mobile token in your mobile application. If you click on the key, it will pop up in a new window, where you can copy it.

When testing, always use a real device (not an emulator) to ensure the correct behaviour of the SDK.

3. Start integrating to your own app

Now that we have verified that your positioning and navigation setup is correct and that you are able to build the Proximi.io libraries correctly, you can start integrating the functionality into your own app. The demo app source code we have shared with you is free for you to use in your project. You may copy/paste the functionality you want to use into your own app or start customizing the demo app code to fit your project's style.

Note that there are two different SDKs: Core SDK and Map SDK. 

  • Core SDK includes all the logic relating to positioning, geofence detection and analytics collection (regarding positioning and geofencing). Use only the core SDK if you just need positioning (no map view is required in the mobile app or you are using your own components for the visualization). The calculation of position takes place on-the-device, which means that new data is available frequently (ever couple of seconds) and the position is also updating in temporary offline mode.
  • Map SDK includes the logic for visualizing world map, visualizing floorplans or map tiles, calculating routes, providing step-by-step navigating instructions and calculating analytics relating to route searches. Maps SDK’s are based on Mapbox and later on MapLibre libraries, so the implementation is fairly simple in most cases. Route calculation also takes place on-the-device, so the SDK is capable of routng also in temporary offline mode.

You can use only one of the libraries or both of them together, based on your use case and needs. The extensive sample application uses both of the libraries, and is the fastest way to deliver navigation solutions. The sample applications are Open Source, so you can directly use them to bootstrap your own app or copy the parts you need.

Here are links to the documentation:

Core SDK Map SDK Sample application
Android https://proximi.io/docs/android/
https://proximi.io/docs/android-mapbox/ 
https://github.com/proximiio/proximiio-navigation-demo-android (Kotlin)
iOS https://proximi.io/docs/ios/
https://proximi.io/docs/ios-mapbox/
https://github.com/proximiio/proximiio-navigation-demo-ios (Swift)
ReactNative https://github.com/proximiio/react-native-proximiio
https://github.com/proximiio/react-native-proximiio-mapbox
https://github.com/proximiio/proximiio-navigation-demo-react-native

4. Integration to other platforms

Is your app using a platform that is not listed above? For example Cordova, Xamarin, Flutter etc? Or maybe you are interested in utilizing Proximi.io with an Augmented Reality solution, for example in conjunction with Unity or Unreal Engine?

You can still use Proximi.io platform, even if we don't have a readymade example for that. The simplest way to carry out the integration is through using our browser-based solution. Browser-based solution has nearly the same functionalities as the Map SDKs, and is super simple to integrate as a web view into your application. With modern smartphones' processing power, the functionality is very similar to native SDK functionality. If your venue is outdoors, you can pull in GPS data directly from the browser. If your venue is indoors, and your would like to utilize Proximi.io indoor positioning capabilities, you can plug the Proximi.io native Core libraries into your application, build a simple bridge to your platform of choice, and feed location data into the Proximi.io browser solution.


Map SDK Sample application
Angular https://github.com/proximiio/proximiio-js-library https://github.com/proximiio/ngx-wayfinding-client-v5

5. Cloud integrations

If you need even more flexibility, you can also pull information and routing directly from our REST API. See documentation here: https://proximi.io/docs/rest-api/ . Just pulling data from the API is a good solution, if you e.g. only need to know the distance to a destination, or are interested in utilizing Proximi.io routes in conjunction with an Augmented reality solution.

We have also launched webhooks feature as a beta. Webhooks can send events to your server via REST interface in almost real time feed. Webhooks can be accessed via the web portal under Developer info section.
Note that the SDK does not immediately share new calculated location to our cloud. Position updates are batched, and sent to the backend in around 5min intervals for analytics purposes. If your use case requires frequent information about users' location, it is recommended to send the position udpates directly from the devices to your own backend. 

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us