Mobile SDK 2019

Integrating MicroStrategy Mobile with AirWatch

You can use the AirWatch platform to add an extra layer of security to Android phones and tablets that are running MicroStrategy Mobile. Instructions for integrating MicroStrategy Mobile with AirWatch are provided below:

You can choose the level of security that you want AirWatch to apply using the Data Loss Prevention setting in the Restrictions of the security profile. For detailed information, refer to your AirWatch Mobile Application Management (MAM) Guide.

  • You can enable Data Loss Prevention to protect sensitive data in applications. When you enable this setting, some features are automatically disabled.  
  • When you do not enable Data Loss Prevention, you can perform almost every out-of-the-box MicroStrategy Mobile data transfer.

The level of security you choose is determined by the stringency of the security requirements in your environment versus the need for less restrictive data transfer.

Prerequisites

The following are required to deploy the MicroStrategy Mobile application with AirWatch support. 

  • To customize MicroStrategy Mobile for Android , it is recommended that you use Android Studio. Consult your Android documentation to ensure that your system meets the Android Studio requirements.|
  • To set up the Android development environment, download the Android Studio and confirm the following:

    • Android SDK path is correct
    • Android SDK 27 is downloaded
    • JDK 7 or higher is installed
  • AirWatch allows customers to upload their mobile applications via their AirWatch Console. There is no need to set up a local app or web server.

Setting up the AirWatch environment

To set up your AirWatch environment so users can install the MicroStrategy Mobile application with AirWatch support on their mobile devices, perform the administrative tasks listed below. For a detailed explanation of how to perform these tasks, refer to the AirWatch Mobile Application Management Guide.

  1. Register yourself on AirWatch.  
  2. Set security policies and settings within the AirWatch Console, depending on your requirements.

    1. On your AirWatch console, under Restrictions, select Enable Data Loss Prevention.

    2. On your AirWatch console, navigate to Groups & Settings -> All Settings -> Apps -> Settings and Profiles -> Profiles. Open the SDK profile used by your app and select Enable Data Loss Prevention.

      This automatically disables the following features:

      • Share with third-party applications
      • Use camera in application
      • Annotation
      • Use location service in application
      • Upload photo to server
  3. Add the users and devices in your organization that are allowed to use the mobile application.  
  4. Configure the AirWatch Mobile Access Gateway (MAG) Server.

    • Set up the MAG Server as the proxy to access internal resources in your organization.
    • Configure the list of servers and domains on your network that users can access from outside your corporate firewall, using MicroStrategy Mobile. For example, if users require access to one of your MicroStrategy Mobile Servers while traveling, you must add the MicroStrategy Mobile Server to the list.

      For information on configuring the MAG Server, refer to the Mobile Access Gateway Admin and Install guides.

  5. Install the AirWatch Agent on devices and AirWatch App Catalog on devices..  
  6. Build tapplication and upload the file into the AirWatch Console. During this process, you need to assign the profile you created, making the settings defined in the profile available to your application.
  7. Deploy your application to managed devices through the AirWatch Console. Users now have access to the application.

    Once the application is uploaded to the AirWatch Console and assigned with registered devices, the AirWatch Agent on each device automatically deploys the application on the device. From the AirWatch App Catalog, you can choose to install any application assigned to this device.

  8. Configure the list of servers and domains on your network that users can access from outside your corporate firewall, using MicroStrategy Mobile.

    For example, if users require access to one of your MicroStrategy Mobile Servers while traveling, you must add the MicroStrategy Mobile Server to the list.

Deploying MicroStrategy Mobile with AirWatch support

Use Android Studio to configure and build your MicroStrategy Mobile application, and then use the iAirWatch console to distribute your application.

Once you have met the prerequisites and set up your AirWatch environment, do the following:

  1. Download and install the MicroStrategy Mobile SDK integrated with AirWatch  
  2. Configure the MicroStrategy Mobile application  
  3. Create a distributable archive of the application 
  4. Upload and distribute the application

For a list of supported Android devices and operating systems, see the MicroStrategy Readmes.

A detailed description of each step is provided below.

  1. Download and install the MicroStrategy Mobile SDK integrated with AirWatch

    1. Go to the MicroStrategy Download site and download the Android SDK file for the latest Mobile SDK.

      The latest Mobile SDK may or may not be the same version as the version of Intelligence Server you are using.

    2. Copy the project folder ZIP file—MicroStrategyMobileAW.zip—from the downloaded foder to your local machine.

    3. Extract the project folder—MicroStrategyMobileAW—included in the ZIP file.

  2. Configure the MicroStrategy Mobile application

    1. Import the project folder into the workspace.

      1. Open Android Studio.
      2. Choose File -> New ->Import Project to import the project—MicroStrategyMobileAW.
    2. Optionally, change the Application ID.

      By default, the Application ID is com.microstrategy.android.airwatch. If you want to change it, do the following (assuming the new Application ID is com.microstrategy.android.airwatch.sample):

      1. Create the source folder.

      2. Create a package with the same name as the Application ID.
      3. Put the AirWatchSDKContextService.java and AirWatchSDKIntentService.java files under the package folder.
      4. Change the package inside the AirWatchSDKContextService.java and AirWatchSDKIntentService.java source files to the new package.
      5. Modify AndroidManifest.xml to change the package to com.microstrategy.android.airwatch.sample

        package="com.microstrategy.android.airwatch.sample"

      6. Change:

        <service android:enabled="true" android:exported="false" android:name="com.microstrategy.android.airwatch.AirWatchSDKContextService"/>

        to:

        <service android:enabled="true" android:exported="false" android:name="com.microstrategy.android.airwatch.sample.AirWatchSDKContextService"/>

      7. Change:

        <service android:enabled="true" android:exported="false" android:name="com.microstrategy.android.airwatch.AirWatchSDKIntentService"/>

        to:

        <service android:enabled="true" android:exported="false" android:name="com.microstrategy.android.airwatch.sample.AirWatchSDKIntentService"/>

      8. Change:

        <provider android:authorities="com.microstrategy.android.airwatch.securepreferences" android:exported="true" android:name="com.airwatch.storage.PreferencesProvider"/>

        to:

        <provider android:authorities="com.microstrategy.android.airwatch.sample.securepreferences" android:exported="true" android:name="com.airwatch.storage.PreferencesProvider"/>

      9. In grade.build, change the applicationId, versionCode, and versionName as needed:

        defaultConfig {

          applicationId "com.microstrategy.android.airwatch.sample"

          versionCode 1

          versionName "1.0"

          multiDexEnabled true

        }

    3. Enable Map.

      1. Follow the instructions in the Google documentation to get an API key with GoogleMap API enabled for your application.
      2. Modify AndroidManifest.xml to replace the android:value with your own API key: <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCBOWl9xx49XUHvqjoUQJfTKXb8VxHZYZs"/>
    4. Build the project to confirm that the application compiles and deploys successfully.
    5. Run the compiled application on a device or simulator to confirm that the apk you built can run successfully.
  3. Create a distributable archive of the application

    To create a release version of your application, refer to the instructions on the official Android site.

  4. Upload and distribute the application

    1. Upload the file into the AirWatch Console. During this process, you need to assign the profile you created, making the settings defined in the profile available to your application. The Mobile Application Management Guide describes how to upload an application.

    2. The final step is to deploy your application to managed devices through the AirWatch Console. Users now have access to the application, along with all the SDK-enabled features you have implemented. For more information on deploying applications to managed devices, see the Mobile Application Management (MAM) Guide.

Known Issues

The following known issues are caused by limitations of the AirWatch SDK:

  1. When a different SDK profile is assigned to the app or the MAG server is enabled as the proxy in the SDK profile, the device may not detect the change and still receive the old profile. Go to the Agent, locate the profile, and refresh it several times.
  2. When the device is idle for a while after SSO session timeout or the application is killed and relaunched again, sometimes an error message is displayed, saying the server address was forbidden. To fix the problem, go back and enter the AirWatch passcode again.
  3. Offline transaction queue needs around 3 minutes to create.