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 MAM SDK type
Analytics:      
Google Analytics level of detail X X Core
App network access:      
Default log output X X Network/VPN
Default log level X X Network/VPN
Max log files X X Network/VPN
Max log file size X X Network/VPN
Network access X X Network/VPN
Exclusion list X X Network/VPN
App interaction:      
Cut and copy X Use platform Containment
Paste X Use platform Containment
Document exchange (Open In) X Use platform Containment
Restricted Open-In exception list X Use platform Containment
Inbound document exchange (Open In) X Use platform Containment
App URL schemes X Use platform Containment
Allowed URLs X Use platform Containment
App restrictions:      
Block camera X Use platform Containment
Block Photo Library X Use platform Containment
Block mic record X Use platform Containment
Block dictation X Use platform Containment
Block location services X Use platform Containment
Block SMS compose X Use platform Containment
Block iCloud X Not available Containment
Block lookup X Use platform Containment
Block file backup X Use platform Containment
Block AirPrint X Not available Containment
Block AirDrop X Not available Containment
Block Twitter and Facebook APIs X Use platform Containment
Obscure screen contents X Use platform  
Block third-part keyboards (iOS 11+ only) X Use platform Containment
Block app logs X Use platform Containment
App geofence:      
Center point longitude X Use platform Containment
Center point latitude X Use platform Containment
Radius X Use platform Containment
Authentication:      
Device passcode X Use platform Compliance
App passcode X Use platform Local Authentication
Maximum offline period (hours) X Use platform Local Authentication
Device security:      
Block jailbroken or rooted X Use platform Compliance
EDP app compliance X Use platform Compliance
EDP app compliance criteria X Use platform Compliance
Secure Mail:      
Mail redirection X Use platform Containment
Miscellaneous access:      
Erase app data on lock X Use platform Compliance
App update grace period (hours) X Use platform Core
Active poll period (minutes) X Use platform Core
Disable required upgrade X Use platform Core

MAM SDK overview