Développement d’applications Android

Vous pouvez utiliser l’API XenMobile dans vos applications mobiles pour permettre aux applications d’interagir avec Citrix Endpoint Management. Cet article décrit comment intégrer le SDK d’application MDX dans la bibliothèque de votre application et les étapes requises pour tester, certifier et publier vos applications.

Comment utiliser le SDK d’application MDX

Voici quelques exemples d’utilisation des API.

  • Imposer des restrictions sur les applications

Vous pouvez contrôler si votre application autorise l’accès à certaines fonctionnalités ou actions en fonction des appels d’API indiquant si l’application est gérée ou encapsulée. Par exemple, si une application n’est pas gérée ou encapsulée, vous pouvez autoriser un utilisateur à accéder à toutes les fonctionnalités et actions. Si une application est encapsulée mais non gérée, vous pouvez alors restreindre certaines fonctionnalités ou actions. Si une application est encapsulée et gérée, vous pouvez imposer des restrictions supplémentaires à l’application.

Effectuer des actions basées sur les paramètres de stratégie de Citrix Endpoint Management

Supposons que vous souhaitiez afficher une notification aux utilisateurs si un administrateur Citrix Endpoint Management définit la stratégie « Exiger le Wi-Fi » sur « Activé », ce qui signifie que l’application est autorisée à s’exécuter sur un réseau sans fil. Vous pouvez utiliser l’API pour rechercher le paramètre de stratégie, puis baser vos modifications de code sur la valeur de la stratégie.

  • Effectuer des actions basées sur des stratégies personnalisées

    Vous pouvez utiliser les API pour lire les stratégies personnalisées dans vos applications. Par exemple, supposons que vous souhaitiez permettre aux administrateurs Citrix Endpoint Management d’afficher une notification dans l’application. Pour ce faire, vous pouvez créer une stratégie personnalisée vide par défaut ou contenant un message système fourni par un administrateur dans la console Citrix Endpoint Management. Lorsque votre application est gérée, elle peut détecter quand l’administrateur Citrix Endpoint Management modifie la valeur de la stratégie. Si la valeur de la stratégie contient un message, votre application affiche la notification.

Pour les définitions d’API, consultez API pour Android.

Intégration du SDK dans la bibliothèque de votre application à l’aide d’Android Studio et de Gradle

Pour ajouter le SDK d’application MDX à vos applications Android, vous importez ou copiez les bibliothèques Java de l’application MDX dans votre application, comme décrit dans cette section. Les étapes sont basées sur Android Studio et le système de build Gradle. Suivre ces étapes ajoute la bibliothèque du SDK d’applications MDX à votre application afin que ses classes et méthodes soient accessibles à l’application.

  1. Si vous n’avez pas encore installé le dernier MDX Toolkit, faites-le maintenant.

    1. Connectez-vous à la page de téléchargements de Citrix Endpoint Management.

    2. Développez XenMobile® Apps and MDX Toolkit.

    3. Localisez la version du MDX Toolkit que vous souhaitez installer, puis cliquez sur son lien pour lancer le téléchargement.

    4. Ouvrez MDXToolkit.mpkg avec l’outil Finder de macOS sur macOS 10.9.4 ou version ultérieure et Xcode 5.1 ou version ultérieure.

    Le chemin d’installation est Applications/Citrix/MDXToolkit.

    Les fichiers du SDK d’application MDX se trouvent dans Applications/Citrix/MDXToolkit/data/MDXSDK_Android.

  2. Après avoir installé le MDX Toolkit, installez Android Studio à partir du site Web des développeurs Android, puis effectuez les opérations suivantes :

    1. Dans le répertoire du projet, créez un dossier nommé libs.

    2. Ajoutez le fichier worxsdk.aar au dossier libs.

    3. Modifiez le fichier « build.gradle » du projet pour ajouter une règle permettant de rechercher le dossier libs en tant que référentiel et d’inclure worxsdk.aar du dossier libs en tant que dépendance.

    4. Créez votre fichier APK.

Un exemple de worxsdk.aar :

-  // Top-level build file where you can add configuration options common to all sub-projects/modules.
-  buildscript {
        repositories {
-  jcenter()
-  }
-  dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    allprojects {
        repositories {
            jcenter()
            flatDir {
                dirs 'libs'
            }
        }
    }
    dependencies {
        compile(name:'worxsdk', ext:'aar')
<!--NeedCopy-->

La bibliothèque OpenSSL peut provoquer des conflits avec des bibliothèques similaires dans les applications Android. Citrix® recommande d’utiliser les versions Citrix des bibliothèques pour éviter les conflits.

Publication d’une application Android

Après avoir ajouté le SDK d’application MDX à une application Android, effectuez les étapes suivantes pour encapsuler, tester, certifier et publier l’application. Lors de l’encapsulation d’applications à l’aide de l’interface de ligne de commande, incluez l’une des options suivantes :

  • –appType Enterprise
  • -appType Premium
  • -appType General

La valeur par défaut est –appType Enterprise. Utilisez les directives suivantes pour sélectionner le type d’application :

  • Enterprise : Les applications nécessitent l’installation de Secure Hub sur l’appareil de l’utilisateur. De plus, vous devez également publier l’application dans StoreFront™ et installer l’application via Secure Hub.
  • General : Les applications ISV peuvent s’exécuter sans Secure Hub (initialement). L’application peut passer en mode géré lorsque l’application détecte Secure Hub sur l’appareil de l’utilisateur et si vous publiez une application correspondante. Lorsqu’elles s’exécutent en tant qu’applications gérées, les applications générales se comportent de la même manière que les applications d’entreprise. Lorsqu’elles s’exécutent en tant qu’applications non gérées, les stratégies Citrix ne sont pas appliquées.
  • Premium : Les applications ISV peuvent s’exécuter sans Secure Hub installé sur l’appareil de l’utilisateur (initialement). L’application peut passer en mode géré si elle détecte Secure Hub sur l’appareil de l’utilisateur et si vous publiez une application correspondante. Lorsque l’application s’exécute en mode non géré, MDX applique certaines stratégies, telles que les stratégies de confinement (autorisant l’accès réseau, la capture d’écran ou le blocage de la caméra).

Si vous devez télécharger le fichier .apk encapsulé vers un magasin d’applications ou un serveur Web, et que vous connaissez déjà l’URL, ajoutez l’option -storeURL. Vous pouvez également ajouter l’URL ultérieurement, comme indiqué plus loin dans ces étapes.

Le MDX Toolkit génère un fichier .apk modifié et un fichier .mdx. Vous utiliserez ces fichiers dans les étapes suivantes. Utilisez le MDX Toolkit pour encapsuler le fichier .apk de l’application. Pour plus de détails, consultez Encapsulation d’applications mobiles Android dans la documentation du MDX Toolkit. Cet article inclut toutes les commandes d’encapsulation, y compris celles spécifiques aux applications ISV.

Important :

L’option d’encapsulation des applications ISV à l’aide de l’interface utilisateur du MDX Toolkit n’est plus disponible. Vous devez encapsuler les applications ISV à l’aide de la ligne de commande.

Pour tester votre application

  1. Installez le fichier .apk modifié sur un appareil Android pour vérifier toutes les fonctions de l’application.

  2. Utilisez la console Citrix Endpoint Management pour ajouter le fichier .mdx à Citrix Endpoint Management et le distribuer à un appareil Android pour les tests. Pour plus de détails, consultez Pour ajouter une application MDX à Citrix Endpoint Management. Sur cet appareil, testez la fonctionnalité MDX de votre application.

    Si vous avez ajouté des stratégies personnalisées, assurez-vous de vérifier que ces stratégies apparaissent dans la console Citrix Endpoint Management et fonctionnent comme prévu. Si vous avez modifié default_sdk_policies.xml, testez ces modifications. Pour plus de détails sur l’ajout de stratégies et la modification des valeurs par défaut des stratégies, consultez Valeurs par défaut des stratégies et stratégies personnalisées.

  3. Corrigez tous les problèmes trouvés dans votre application, régénérez le fichier .apk de l’application et encapsulez à nouveau l’application avec le MDX Toolkit.

  4. Soumettez le fichier .apk original (pas celui généré par le MDX Toolkit) à Citrix pour validation et certification.

  5. Après que Citrix a certifié votre application, soumettez le fichier .apk généré par le MDX Toolkit au Google Play Store pour approbation.

  6. Après que Google a approuvé votre application, exécutez le MDX Toolkit pour mettre à jour l’URL de téléchargement de l’application dans le fichier .mdx. Voici un exemple de commande qui modifie l’URL :

    java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar
    setinfo
    -in ~/Desktop/SampleApps/Sample.mdx
    -out ~/Desktop/SampleApps/wrapped/Sample.mdx
    -storeURL
    “https://play.google.com/store/apps/details?id=com.zenprise”

Fournissez le fichier .mdx final à un administrateur Citrix Endpoint Management, qui l’ajoutera à Citrix Endpoint Management et le publiera aux utilisateurs. Ou, pour rendre votre application disponible pour une distribution plus large, vous pouvez répertorier votre application vérifiée MDX sur le Citrix Ready Marketplace. Pour plus de détails, consultez Programme vérifié Citrix Ready.

Considérations relatives à la mise à niveau des applications

Le logiciel Citrix Endpoint Management évolue de manière significative entre les versions. Pour tirer parti des dernières fonctionnalités et corrections de bogues, vous devez utiliser la dernière version du MDX Toolkit pour encapsuler votre application. Assurez-vous d’encapsuler votre fichier .ipa ou .apk d’origine, et non le fichier modifié qui a été précédemment généré par le MDX Toolkit.

Assurez-vous d’utiliser la version correspondante du MDX App SDK.

Développement d’applications Android