MAM SDK overview

With the move away from the MDX Toolkit, the MAM SDK replaces areas of MDX functionalities not covered by the iOS and Android platforms. Rather than wrapping third-party apps using the MDX Service or MDX Toolkit, you instead create apps using the MAM SDK. This method of developing apps allows you to call on the APIs directly instead of relying on a wrapper. For more information about the MAM SDK APIs, see the developer documentation for Device Management.

The MAM SDK is available for:

  • iOS 12+
    • Objective C/Swift
  • Android 7+
    • Java
    • Cordova
    • Xamarin

The MAM SDK does not currently support the Citrix Identity Platform.

The MAM SDK is available as a preview. Citrix recommends that you download the MAM SDK and test it out before we deprecate the MDX Toolkit. You can find the downloads at MAM SDKs and Toolkit.

To use the MAM SDK, follow these steps:

  1. Download the relevant MAM SDK for the language you use for development. You can find the files you need on the Citrix download page MAM SDKs and Toolkit.
  2. Extract the files you downloaded and place them in your development folder.
  3. Develop your apps and call on the appropriate APIs. For information about the APIs available as part of the MAM SDK, see the developer documentation for Device Management.
  4. For iOS, when you create the IPA file in Xcode, add the following command to embed the IPA within an MDX file as well:

    
    export TOOLKIT_DIR="$PROJECT_DIR/Frameworks/MdxCore.framework"
    
    export IPA_FILE_PATH="Provide IPA File Path"
    
    export EXECUTABLE_NAME="Provide the name for your application's app folder."
    
    #CONFIGURATION_BUILD_DIR comes from Xcode.
    
    "$TOOLKIT_DIR/CGAppCLPrepTool" SetInfo -in "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_NAME.mdx" -out "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_NAME.mdx"  -embedBundle "${IPA_FILE_PATH}"
    
    
  5. To generate an MDX file for Android Enterprise devices and Android devices in device administration mode, run the following command from the command line:

    
    java -jar ~/MAMSDK/Library/tools/managed-app-utility.jar \
    
    wrap \
    
    -in ~/Desktop/SampleApps/Sample.apk \
    
    -out ~/Desktop/SampleApps/Outputs/Sample.mdx \
    
    -appType sdkapp \
    
    -keystore ~/Desktop/MyCompany.keystore \
    
    -storepass MyKeystorePassword \
    
    -keyalias MyCompanyKeyAlias \
    
    -keypass MyKeyAliasPassword \
    
    -storeUrl "https://play.google.com/store/apps/details?id=MyAppPackageName" \
    
    
  6. Upload the MDX file to the Endpoint Management console as described in the Apps article.

Third-party app policies for iOS and Android

The following table displays third-party policies you can integrate in your iOS and Android app using the MAM SDK. In the table, X indicates only the device policies supported as part of the MAM SDK. For Android Enterprise policies labeled as Use platform, check the device policy in the Endpoint Management platform to verify that you can add the policy.

For more information about the MAM SDK libraries, see the developer documentation for Device Management.

Policy name Active for iOS Android Enterprise
App network access:    
Default log output X X
Default log level X X
Max log files X X
Max log file size X X
Network access X X
Exclusion list X X
App interaction:    
Cut and copy X Use platform
Paste X Use platform
Document exchange (Open In) X Use platform
Inbound document exchange (Open In) X Use platform
Restricted Open-In exception list X Use platform
App URL schemes X Use platform
Allowed URLs X Use platform
App restrictions:    
Block camera X Use platform
Block photo library X Use platform
Block mic record X Use platform
Block dictation X Use platform
Block location services X Use platform
Block SMS compose X Use platform
Block iCloud X Not available
Block lookup X Use platform
Block file backup X Use platform
Block AirPrint X Not available
Block AirDrop X Not available
Block Twitter and Facebook APIs X Use platform
Block third-part keyboards (iOS 11+ only) X Use platform
Block app logs X Use platform
Obscure screen contents X Use platform
App geofence:    
Center point longitude X Use platform
Center point latitude X Use platform
Radius X Use platform
Authentication:    
Device passcode X Use platform
App passcode X Use platform
Maximum offline period (hours) X Use platform
Device security:    
Block jailbroken or rooted X Use platform
EDP app compliance X Use platform
EDP app compliance criteria X Use platform
Secure Mail:    
Mail redirection X Use platform
Miscellaneous access:    
Erase app data on lock X Use platform
App update grace period (hours) X Use platform
Active poll period (minutes) X Use platform
Disable required upgrade X Use platform

MAM SDK overview