01 – Introduction: requirements, code examples and more

Situm’s SDK is a set of utilities that allow any developer to build location-based mobile apps using Situm’s indoor positioning system. Among many other things, apps developed with our SDK will be able to: 

  • Obtain information related to buildings where Situm’s positioning system has already been implemented: floorplans, points of interest, geo-triggered events, etc. 
  • Retrieve the smartphone’s location inside these buildings, storing data regarding its position, orientation, and floor.
  • Compute a route from point A (e.g. where the smartphone is) to point B (e.g. any point of interest within the building). 
  • Trigger notifications when the user enters a certain area. 
  • Watch the position of other users in real-time.

Situm SDK is typically used to build two kinds of applications: Wayfinding and Tracking. Either way, there will be dozens of use cases that you may want to enable: showing your building’s cartography, computing the geolocation of the user, providing turn-by-turn navigation from point A to B, etc.

Requirements #

Situm SDK is compatible with Android (native), iOS (native), Cordova, React Native and Capacitor. Additionally, Situm SDK is compatible with a wide range of devices, OS/Framework versions and architectures.

Android #

  • Device compatibility. Most Android 5 or superior Android devices will be compatible with Situm. Please check this link for a detailed view on this topic.  
  • OS version compatibility. Android version should be 5 (Lollypop) or superior, and therefore Android SDK API level should be 21 or superior. 
  • Architecture compatibility. Physical Android device with ARM or x86 processor required.

iOS #

  • Device compatibility. iPhone 5 or superior is required. Please check this link for a detailed view on this topic.  
  • OS version compatibility. iOS 10 SDK or superior is required. 
  • Architecture compatibility. From SDK Version 2.46.0 (released on August 10th, 2020), the newest versions of Situm SDK are only compatible with 64 bit architectures.  Previous versions (v 2.45.2 and below) were compatible with 32 and 64 bit architectures.

How do I get started? #

In order to start building apps with Situm SDK, you will need:

  1. Previous development experience in the platform where your app will run (Android, iOS, Cordova, React Native), plus a development environment up & running (including a compatible smartphone).
  2. To create an account in Situm Dashboard.
  3. To create an API KEY (that you will use in your application). 
  4. A Situm building up & running for testing purposes. We recommend you to create a building where you can perform your tests (e.g. your office), calibrate it and test the positioning and wayfinding using our Situm Mapping Tool.
  5. Optionally, you may need BLE beacons in some cases.

We recommend you to start by taking a look at our Basic Android App and, when you are confident, to try some of our code examples.

In this section, we list some of the most useful links when working with Situm SDKs.

Code Examples #

We have a wide list of code examples that will show you how to implement the most common use cases with our SDKs. All the following code examples are structured as part of a mobile app whose code you may download, examine, compile, modify and execute.

OS / FrameworkCode Examples Link
Android (native)https://github.com/situmtech/situm-android-getting-started
iOS (native)https://github.com/situmtech/situm-ios-getting-started
https://github.com/situmtech/situm-ios-swift-getting-started
Cordovahttps://github.com/situmtech/situm-cordova-getting-started
React Nativehttps://github.com/situmtech/situm-react-native-getting-started
Flutterhttps://github.com/situmtech/flutter-wayfinding/tree/master/example

You will find instructions, and an explanation of each example/use case, inside each Github repository.

Docs (SDK public interfaces documentation) #

We also have thorough documentation of most methods and classes of each Situm SDK.

OS / FrameworkChangelog Link
Android (native)Android Javadoc
iOS (native)iOS Appledoc
CordovaCordova Plugin Github
Cordova JSDoc
React NativeReact Native Plugin Github
JSDoc not available
FlutterFlutter Plugin

Repositories #

In order to use Situm in your applications, the first thing you will need to do is to include Situm SDK in your project dependencies. After that, you will be able to compile your project (including Situm SDK) and start using its many functionalities.

Situm SDK dependencies are made available through public repositories so that they can be downloaded from the internet and included in your project without effort.

OS/FrameworkSourceRepository Link
Android (native)Situm repositoryhttps://repo.situm.es/artifactory/libs-release-local/es/situm/situm-sdk/
iOS (native)Cocoa Podshttps://cocoapods.org/pods/SitumSDK
iOS (native)Situm repositoryhttps://repo.situm.es/artifactory/webapp/#/artifacts/browse/tree/General/libs-release-local/iOS/SitumSDK
Cordovanpmhttps://www.npmjs.com/package/situm-cordova-plugin-official
CordovaGithubhttps://github.com/situmtech/situm-cordova-plugin.git
React Nativenpmhttps://www.npmjs.com/package/react-native-situm-plugin
React NativeGithubhttps://github.com/situmtech/situm-react-native-plugin.git
FlutterGithubhttps://github.com/situmtech/flutter-wayfinding

Changelogs (SDK version reference) #

Every few days, Situm releases a new SDK version with minor updates, bug corrections, security updates, new functionalities and so on. Every SDK has a Changelog file where we keep track of every version released and a brief description of each version’s changes. 

OS / FrameworkDocs Link
Android (native)Android Changelog
iOS (native)iOS Changelog
CordovaCordova Changelog
React NativeReact Native Changelog
FlutterFlutter Changelog

Subscribe to our newsletter

BASIC INFORMATION ON DATA PROTECTION

Data controller: SITUM TECHNOLOGIES, S.L.
Contact: Data controller: situm@situm.es
Responsible for protection: dpo@situm.es
Purpose and legal basis: To manage the sending of SITUM newsletters only with consent.
Legitimation: Express consent of the interested party.
Recipients: The data will not be passed on to third parties with the exception of legal obligations.
Retention period: As long as the interested party remains subscribed to the newsletter (a link to unsubscribe will be available in each newsletter sent by Situm).
Rights: The interested party may at any time revoke their consent, as well as exercise their rights of opposition, access, conservation, rectification, limitation, deletion of data and not be subject to a decision based only on automated data processing, by writing to SITUM at the addresses indicated.
Additional Information: You can consult additional and detailed information on Data Protection in our privacy policy.

Please, download your copy here

Thank you for downloading our whitepaper. Please do not hesitate to contact us if you would like to know more about how our solutions can help your business. Download whitepaper


Close window