Kit de développement logiciel (SDK) d’application Intune pour Android - App Configuration

Le SDK d’application Microsoft Intune pour Android vous permet d’incorporer des stratégies de protection des applications Intune (également appelées stratégies MAM) dans votre application Android Java/Kotlin native. Une application gérée par Intune est une application intégrée au Kit de développement logiciel (SDK) Intune App. Intune administrateurs peuvent facilement déployer des stratégies de protection des applications sur votre application gérée par Intune lorsque Intune gère activement l’application.

Remarque

Ce guide est divisé en plusieurs étapes distinctes. Commencez par passer en revue l’étape 1 : Planifiez l’intégration.

Étape 6 : App Configuration

Objectifs de la scène

  • En savoir plus sur les options de configuration des applications sur Android.
  • Déterminez les configurations que votre application doit ajouter, le cas échéant.
  • Intégrez les API de configuration d’application du SDK de l’application Intune.
  • Implémentez une logique de résolution des conflits pour vos configurations d’application personnalisées.

App Configuration sur Android

Les configurations d’application, également appelées configurations gérées ou restrictions d’application, sont des paramètres spécifiques à l’application et définis par le développeur que vous pouvez ajouter à votre application pour donner aux administrateurs un contrôle accru sur l’expérience de l’application lorsqu’elles sont utilisées dans un paramètre géré. Par exemple, si votre application est un navigateur, vous pouvez choisir d’ajouter des configurations qui permettent aux administrateurs de prédéfinir des signets, de bloquer certaines pages web ou de désactiver les modes incognito. La configuration des applications est un outil entièrement facultatif, mais puissant, qui permet d’améliorer l’expérience de gestion de votre application.

Voir Stratégies de configuration d’application pour Microsoft Intune pour plus d’informations.

Configurations de l’application Built-In Android

Android dispose d’une configuration d’application intégrée à la plateforme, appelée configurations gérées. Ces configurations n’ont aucune dépendance vis-à-vis du SDK d’application Intune et peuvent être activées sur des applications qui n’intègrent pas le SDK d’application Intune. Ces configurations s’appliquent uniquement lorsque votre application est utilisée sur un appareil géré avec l’un des modes Android Enterprise de Google. Consultez Inscrire des appareils Android pour plus d’informations sur la configuration de ces modes Android Enterprise dans Microsoft Intune. Les administrateurs peuvent configurer ces stratégies de configuration d’application pour les appareils Android Enterprise gérés dans Microsoft Intune.

Votre application peut récupérer ces valeurs configurées RestrictionsManagerpar l’administrateur soit via Android, soit via le Kit de développement logiciel (SDK) d’application Intune. Pour plus d’informations, consultez Récupération de la configuration de l’application à partir du kit de développement logiciel (SDK ).

Étendues déléguées pour les applications Google Play gérées

Les développeurs d’applications peuvent utiliser des étendues déléguées pour intégrer des autorisations améliorées pour leurs applications Google Play gérées. Les étendues déléguées fournissent les fonctionnalités suivantes pour les applications Google Play gérées :

  • Autoriser d’autres applications à installer et à gérer les certificats
  • Autoriser l’application à accéder aux journaux de sécurité Android
  • Autoriser l’application à accéder aux journaux d’activité réseau Android

Une fois ces fonctionnalités intégrées dans une application Google Play gérée à l’aide de l’API de Google, vous pouvez configurer ces paramètres dans Intune à l’aide de profils de configuration d’appareil. Pour plus d’informations, consultez Paramètres de l’appareil Android Enterprise -> Applications appartenant à > l’entreprise.

Pour plus d’informations sur l’implémentation d’une application, consultez la documentation pour les développeurs Android : étendues de délégation.

Kit de développement logiciel (SDK) d’application Intune Configurations d’applications

Le SDK d’application Intune prend en charge un autre mécanisme de fourniture de configurations d’application, distinct des configurations gérées par Android Enterprise. Ces configurations sont exclusives à Microsoft Intune et ne s’appliquent qu’aux applications qui ont intégré le SDK d’application Intune. Toutefois, ces configurations ne sont pas limitées aux appareils avec la gestion Android Entreprise. Les administrateurs peuvent configurer ces stratégies de configuration d’application pour les applications gérées dans Microsoft Intune.

Remarque

La configuration de l’application peut également être configurée à l’aide de l’API Graph. Pour plus d’informations, consultez la documentation de l’API API Graph pour la configuration ciblée MAM.

Votre application doit récupérer ces valeurs configurées par l’administrateur via le Kit de développement logiciel (SDK) d’application Intune. Pour plus d’informations, consultez Récupération de la configuration de l’application à partir du kit de développement logiciel (SDK ).

Quelles configurations dois-je ajouter à mon application ?

Ce guide ne peut pas répondre à cette question pour vous. Seuls vous et votre équipe savez quelles fonctionnalités rendent votre application plus précieuse lorsqu’elle est gérée.

Les questions suivantes peuvent vous aider à orienter les discussions et à révéler les configurations que vous souhaiterez peut-être ajouter à votre application :

  • Quelles fonctionnalités votre application offre-t-elle aujourd’hui ?
    • Y a-t-il un intérêt à désactiver l’une de ces fonctionnalités alors qu’elle est sous gestion ?
    • Y a-t-il un intérêt à modifier l’une de ces fonctionnalités pendant la gestion ?
  • Comment votre application est-elle utilisée sous gestion aujourd’hui ?
    • Existe-t-il des options que les administrateurs peuvent préconfigurer pour le compte de leurs utilisateurs ?
    • Y a-t-il des actions que les administrateurs ou les utilisateurs finaux prennent, exclusives aux scénarios gérés ?
    • Vos utilisateurs gérés ont-ils demandé des fonctionnalités qui pourraient ne pas convenir à l’ensemble de vos utilisateurs ?

Pour chaque configuration que vous décidez d’ajouter à votre application, vous devez définir trois éléments :

  • Clé : cette chaîne identifie ce paramètre de manière unique par rapport aux autres paramètres. Il doit être lisible par l’homme, car il sera configuré par les administrateurs.
  • Type : de quel type de données s’agit-il ? S’agit-il d’une chaîne, d’un booléen, d’un entier, d’un tableau, etc.
  • Stratégie de résolution des conflits : comment votre application réagira-t-elle si les administrateurs configurent plusieurs valeurs pour la même clé ? Dans l’exemple de navigateur susmentionné, une liste de signets peut combiner toutes les valeurs, tandis qu’un paramètre de désactivation de incognito peut choisir de désactiver si l’une des valeurs en conflit est « true ».

Mon application doit-elle prendre en charge la configuration des appareils gérés ou des applications gérées ?

Les configurations qui s’appliquent aux appareils gérés et les configurations qui s’appliquent aux applications gérées ne s’excluent pas mutuellement. Vous devez tenir compte des besoins de vos utilisateurs lorsque vous décidez du type (ou des deux) de configuration à prendre en charge.

Zone de configuration Configuration pour les appareils gérés Configuration pour les applications gérées
Applicabilité de l’appareil S’applique uniquement aux appareils sous gestion des appareils Android Entreprise. S’applique à tous les appareils, tant que l’application intègre le SDK d’application Intune et que le Portail d’entreprise est installé.
Plateforme Android uniquement, limité aux appareils disposant de services Google Le SDK d’application iOS prend en charge les mêmes configurations. En tant que développeur, vous pouvez partager ces clés pour une expérience multiplateforme cohérente.
l’applicabilité N’importe quel EMM Exclusif à Microsoft Intune
Détectabilité du schéma Le schéma est disponible publiquement après le chargement de l’application sur Play Détectabilité du schéma sous contrôle du développeur

Les deux types de configuration d’application reposent sur des paires clé-valeur. Microsoft Intune n’inspecte pas le contenu de ces configurations et transmet simplement les valeurs configurées par l’administrateur à votre application.

L’API de configuration d’application du Kit de développement logiciel (SDK) d’application Intune inclut les valeurs configurées par l’administrateur à partir des deux canaux. Si votre application prend en charge les deux types de configuration d’application, utilisez l’API comme décrit ci-dessous.

Récupération de la configuration de l’application à partir du SDK

Les applications peuvent recevoir des configurations des deux canaux à l’aide des classes MAMAppConfigManager et MAMAppConfig .

MAMAppConfigManager configManager = MAMComponents.get(MAMAppConfigManager.class);
String oid = <OID of user account>;
MAMAppConfig appConfig = configManager.getAppConfigForOID(oid);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);

S’il n’existe aucun compte enregistré dans la gestion des applications mobiles, mais que votre application souhaite tout de même récupérer les valeurs de configuration Android Enterprise (qui ne seront pas ciblées sur un compte spécifique), vous pouvez transmettre une null chaîne vide pour l’OID.

Remarque

Si votre application utilise le SDK d’application Intune pour récupérer les configurations gérées par Android Enterprise et que le Portail d’entreprise n’est pas installé, ces configurations seront fournies via une avec une MAMUserNotification identité vide.

Votre application peut également demander les données brutes sous la forme d’une liste d’ensembles de paires clé-valeur, au lieu d’effectuer une requête à l’aide de clés spécifiques.

List<Map<String, String>> getFullData()

Votre application peut également s’inscrire à la REFRESH_APP_CONFIG notification l’informant que de nouvelles données de configuration d’application sont disponibles. Si votre application met en cache des données de configuration d’application, elle doit s’inscrire pour cette notification et invalider toutes les données mises en cache dans le gestionnaire. Pour plus d’informations, consultez S’inscrire aux notifications du Kit de développement logiciel (SDK ).

Résolutions de conflits

Si plusieurs stratégies de configuration d’application ciblent la même application et le même compte, plusieurs valeurs en conflit peuvent être disponibles pour la même clé.

Remarque

Une valeur définie dans la configuration de l’application MAM remplace une valeur avec la même clé définie dans la configuration Android Enterprise.

Si un administrateur configure des valeurs en conflit pour la même clé, Intune ne dispose d’aucun moyen de résoudre automatiquement ce conflit et met toutes les valeurs à la disposition de votre application. Ce type de conflit peut se produire si l’administrateur cible différents ensembles de configuration d’application avec la même clé à plusieurs groupes contenant le même compte.

Votre application peut demander toutes les valeurs d’une clé donnée à un objet MAMAppConfig , ce qui vous permet de résoudre les conflits avec votre propre logique métier :

List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)

Vous pouvez également demander le choix d’une valeur avec l’une des stratégies intégrées de résolution des conflits :

Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)

Les stratégies intégrées de résolution des conflits disponibles comprennent :

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, StringQueryType.Min, StringQueryType.Max, où min et max proviennent d’une liste classée par ordre alphabétique.

Critères de sortie

Intune est responsable de la fourniture des valeurs de stratégie de configuration d’application à votre application ; ensuite, votre application est responsable de l’utilisation de ces valeurs pour modifier le comportement ou l’interface utilisateur à l’intérieur de l’application. Des tests approfondis de bout en bout doivent couvrir les deux composants.

Pour vérifier qu’Intune fournit correctement la stratégie de configuration d’application :

  1. Configurez une stratégie de configuration d’application ciblée sur votre application et déployée sur votre compte de test.
  2. Connectez-vous à votre application avec votre compte de test.
  3. Parcourez votre application pour exercer chaque chemin de code qui appelle MAMAppConfigManager's getAppConfigForOID ou getFullData.
    • L’enregistrement des résultats des appels à getAppConfigForOID est un moyen simple de valider les paramètres livrés. Toutefois, étant donné que les administrateurs peuvent entrer n’importe quelle donnée pour les paramètres de configuration des applications, veillez à ne pas enregistrer de données utilisateur privées.
  4. Consultez Valider la stratégie de configuration d’application appliquée.

Étant donné que les configurations d’application sont spécifiques à l’application, vous seul savez comment valider la façon dont votre application doit modifier le comportement ou l’interface utilisateur pour chaque paramètre de configuration d’application.

Lors du test, tenez compte des points suivants :

  • Vous assurer que tous les scénarios sont couverts en créant une stratégie de configuration d’application de test différente pour chaque valeur prise en charge par votre application.
  • Validation de la logique de résolution des conflits de votre application en créant plusieurs stratégies de configuration d’application de test avec des valeurs différentes pour chaque paramètre.
  • Si votre application s’est inscrite pour la REFRESH_APP_CONFIG notification, la mise à jour de la stratégie de configuration de l’application pendant que votre application est en cours d’utilisation, l’attente de la mise à jour de la stratégie et la confirmation de ce chemin de code sont correctement exercées.
  • Si votre application prend en charge les deux types de configuration d’application, testez les deux scénarios pour vous assurer que votre implémentation fournit l’identité correcte à getAppConfigForOID.

Étapes suivantes

Une fois que vous avez rempli tous les critères de sortie ci-dessus, votre application est maintenant intégrée avec succès comme avec la stratégie de configuration d’application.

La section suivante, Étape 7 : Fonctionnalités de participation de l’application, peut être requise ou non, en fonction de la prise en charge de la stratégie de protection des applications souhaitée par votre application. Si vous ne savez pas si l’une de ces fonctionnalités s’applique à votre application, consultez Décisions clés pour l’intégration du Kit de développement logiciel (SDK).