-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Mist provides indoor blue dot navigation experience with 16 vBLE antenna array in Mist Access Point. This guide will provide detailed information on our Android SDK. It will help you configure application to integrate Mist SDK and initialize location services.
- Android Studio: 3.0+ - This document assumes that reader has basic knowledge of Android development.
- Minimum Android SDK: API 21
- Target Android SDK: API 271
- Latest Mist SDK: 2.0
1. If your app is targeting API level 28 (Android 9.0) or above, you must include the following declaration within the element of AndroidManifest.xml. <uses-library android:name="org.apache.http.legacy" android:required="false" />
Our SDK can be integrate by using one of the following ways:
Add the following in your app module build.gradle, This will take care of both Mist Core SDK and DR SDK
implementation 'com.mist:core-sdk:2.0.0’
or
While manually setting up SDK, include both 'Mist Core SDK' and 'DR SDK' in you application project.
- Download 'sdk-framework.aar' and 'mist-mobile.aar' from SDK Releases
- Add following to app/build.gradle in dependencies
implementation(name:‘sdk_framework’, ext:‘aar’)implementation(name:‘mist-mobile’, ext:‘aar’)-
implementation fileTree(include: [‘*.jar’], dir: ‘libs’)In project/build.gradle, add following in repositoriesflatDir { dirs ‘libs’ }
For more details please refer to one of the Sample Apps
To initialize Mist SDK you need organization secret and organization id.
- Obtain the invitation token from the Mist portal at the following path: Organization -> Mobile SDK. Use the token to obtain the org_id and secret via onReceivedSecret callback:
MSTOrgCredentialsManager mstOrgCredentialsManager = new MSTOrgCredentialsManager(getApplication(), new MSTOrgCredentialsCallback(){
/**
* @param orgName Organization Name for the QR code
* @param orgID Organization ID for the QR code
* @param sdkSecret SDK Secret token to be used to connect to Mist Cloud
* @param error Error, if the information was not obtainable
*/
@Override
public void onReceivedSecret(String orgName, String orgID, String sdkSecret, String error, String envType) {
// Store orgID and sdkSecret to be used next to initialize MSTCentralManager.
}
});
mstOrgCredentialsManager.enrollDeviceWithToken(invitation_secret);
- Use the org_id and secret for starting the SDK and implements the CentralManagerIndoorOnlyListener callbacks:
MSTCentralManager mstCentralManager = new MSTCentralManager (application, orgID, orgSecret, mstCentralManagerIndoorOnlyListener); - Call start API of MSTCentralManager to start the SDK:
mstCentralManager.start(); - Call stop on MSTCentralManager to stop receiving callbacks from Mist SDK:
mstCentralManager.stop();
Location response is used to know the position of the user in that particular floorplan. To get location information from Mist SDK implement MSTCentralManagerIndoorOnlyListener callbacks in your application. Following callback returns updated location of the device as a point (X,Y) measured in meters from the map origin:
onRelativeLocationUpdated(MSTPoint relativeLocation, MSTMap[] maps, Date dateUpdated)
You can get the map detail of your current map from the MSTMap[0].
relativeLocation object contains the following user information:
- x, y: user location
- hasMotion: is the user in motion ,
- mstPointType: type Cloud,
- latency: latency in the network,
- heading: compass heading,
- headingFlag: availability of compass heading
For more detail, you can see the implementation in the sample app here
For further questions please reach out to support@mist.com