Sdk d’application Intune pour Android - Configuration de l’application
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 APP ou GAM) dans votre application Android Java/Kotlin native. Une application gérée par Intune est une application intégrée au SDK d’application Intune. Les administrateurs Intune peuvent facilement déployer des stratégies de protection des applications sur votre application gérée par Intune quand Intune gère activement l’application.
Remarque
Ce guide est divisé en plusieurs étapes distinctes. Commencez par passer en revue l’étape 1 : Planifier l’intégration.
Étape 6 : Configuration de l’application
Objectifs de la phase
- Découvrez les options de configuration d’application sur Android.
- Déterminez les configurations, le cas échéant, que votre application doit ajouter.
- Intégrer les API de configuration d’application du SDK d’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 managé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 supplémentaire sur l’expérience de l’application lorsqu’elles sont utilisées dans un paramètre managé. Par exemple, si votre application est un navigateur, vous pouvez choisir d’ajouter des configurations qui permettent aux administrateurs de définir des signets prédéfinis, de bloquer certaines pages web ou de désactiver les modes incognito. La configuration d’application est un outil entièrement facultatif, mais puissant, qui permet d’améliorer l’expérience de gestion de votre application.
Pour plus d’informations, consultez Stratégies de configuration des applications pour Microsoft Intune .
Configurations des applications Built-In Android
Android dispose d’une configuration d’application intégrée à la plateforme, appelées configurations managées. Ces configurations n’ont aucune dépendance vis-à-vis du SDK d’application Intune et peuvent être activées sur les 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 Entreprise de Google. Pour plus d’informations sur la configuration de ces modes Android Entreprise dans Microsoft Intune, consultez Inscrire des appareils Android . Les administrateurs peuvent configurer ces stratégies de configuration d’application pour les appareils Android Entreprise gérés dans Microsoft Intune.
Votre application peut récupérer ces valeurs configurées par l’administrateur via Android ou via le SDK d’application RestrictionsManager
Intune.
Pour plus d’informations, consultez Récupération de la configuration d’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 des 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 que ces fonctionnalités ont été intégrées à 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 des appareils Android Entreprise - Applications.
Pour plus d’informations sur l’implémentation de l’application, consultez la documentation pour les développeurs Android - Étendues de délégation.
Configurations des applications du SDK d’application Intune
Le SDK d’application Intune prend en charge un autre mécanisme pour fournir des configurations d’application, distinct des configurations gérées par Android Enterprise. Ces configurations sont exclusives à Microsoft Intune et s’appliquent uniquement aux applications qui ont intégré le SDK d’application Intune. Toutefois, ces configurations ne sont pas limitées aux appareils avec 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 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 d’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 sous gestion.
Les questions suivantes peuvent vous aider à guider les discussions et à révéler les configurations que vous souhaitez peut-être ajouter à votre application :
- Quelles fonctionnalités votre application offre-t-elle aujourd’hui ?
- La désactivation de l’une de ces fonctionnalités sous gestion a-t-elle une valeur ?
- La modification de ces fonctionnalités sous gestion a-t-elle une valeur ?
- Comment votre application est-elle utilisée sous gestion aujourd’hui ?
- Existe-t-il des options que les administrateurs peuvent préconfigurer au nom de leurs utilisateurs ?
- Les administrateurs ou les utilisateurs finaux effectuent-ils des actions exclusives aux scénarios managés ?
- Vos utilisateurs gérés ont-ils demandé des fonctionnalités qui pourraient ne pas convenir à l’ensemble de votre population d’utilisateurs ?
Pour chaque configuration que vous décidez d’ajouter à votre application, vous devez définir trois éléments :
- Clé : cette chaîne identifie de manière unique ce paramètre à partir d’autres paramètres. Il doit être lisible par l’utilisateur, car il sera configuré par les administrateurs.
- Type : quel type de données est ce paramètre ? S’agit-il d’une chaîne, booléenne, d’un entier, d’un tableau, etc. ?
- Stratégie de résolution des conflits : comment votre application répondra-t-elle si les administrateurs configurent plusieurs valeurs pour la même clé ? Dans l’exemple de navigateur mentionné ci-dessus, une liste de signets peut combiner toutes les valeurs, tandis qu’un paramètre pour désactiver 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 prendre en compte les besoins de vos utilisateurs lors du choix du type (ou des deux) de configuration à prendre en charge.
Zone de configuration | Configuration des appareils gérés | Configuration des 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 avec les 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 le contrôle du développeur |
Les deux types de configuration d’application s’appuient 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 de l’application SDK d’application Intune inclut des 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 d’application à partir du Kit de développement logiciel (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 inscrit à gam, mais que votre application souhaite toujours récupérer les valeurs de configuration Android Enterprise (qui ne seront pas ciblées sur un compte spécifique), vous pouvez passer une null
chaîne ou 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 sont fournies via un MAMUserNotification
avec une 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’interroger des clés spécifiques.
List<Map<String, String>> getFullData()
Votre application peut également s’inscrire à la REFRESH_APP_CONFIG
notification qui l’informe que de nouvelles données de configuration d’application sont disponibles.
Si votre application met en cache les données de configuration d’application, elle doit s’inscrire à cette notification et invalider toutes les données mises en cache dans le gestionnaire.
Pour plus d’informations, consultez S’inscrire aux notifications à partir du Kit de développement logiciel (SDK ).
Résolution des conflits
Si plusieurs stratégies de configuration d’application sont ciblées sur 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 GAM 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 n’a aucun moyen de résoudre ce conflit automatiquement et met toutes les valeurs à la disposition de votre application. Ce type de conflit peut se produire si l’administrateur cible différents jeux de configuration d’application avec la même clé pour plusieurs groupes contenant le même compte.
Votre application peut demander toutes les valeurs d’une clé donnée à partir d’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 qu’une valeur soit choisie avec l’une des stratégies de résolution des conflits intégrées :
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 de résolution des conflits intégrées disponibles sont les suivantes :
-
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 triée par ordre alphabétique.
Critères de sortie
Intune est chargé de fournir les valeurs de stratégie de configuration d’application à votre application. par la suite, votre application est chargée d’utiliser ces valeurs pour modifier le comportement ou l’interface utilisateur à l’intérieur de l’application. Des tests de bout en bout approfondis doivent couvrir les deux composants.
Pour vérifier qu’Intune fournit correctement la stratégie de configuration d’application :
- Configurez une stratégie de configuration d’application, qui est ciblée sur votre application et déployée sur votre compte de test.
- Si votre application prend en charge la configuration des applications pour les appareils gérés, consultez Stratégies de configuration d’application pour les appareils Android Entreprise gérés.
- Si votre application prend en charge la configuration d’applications pour les applications gérées, consultez Stratégies de configuration d’application pour les applications gérées.
- Si votre application prend en charge les deux types de configuration d’application, créez les deux types de stratégie à des fins de test.
- Connectez-vous à votre application avec votre compte de test.
- Pour les appareils gérés, consultez Stratégies de configuration des applications d’entreprise Android et Inscrire des appareils Android.
- Pour les applications gérées :
- Installez votre application et le portail d’entreprise Intune.
- Connectez-vous à votre application avec votre compte de test.
- Parcourez votre application pour exercer chaque codepath qui appelle
MAMAppConfigManager
getAppConfigForOID
ougetFullData
.- La journalisation des résultats des appels à
getAppConfigForOID
est un moyen simple de valider les paramètres remis. Toutefois, étant donné que les administrateurs peuvent entrer des données pour les paramètres de configuration d’application, veillez à ne pas journaliser les données utilisateur privées.
- La journalisation des résultats des appels à
- 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 changer le comportement ou l’interface utilisateur pour chaque paramètre de configuration d’application.
Lors du test, tenez compte des éléments suivants :
- S’assurer que tous les scénarios sont couverts en créant une stratégie de configuration d’application de test différente avec 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, mettez à jour la stratégie de configuration de l’application lorsque votre application est en cours d’utilisation, attendez la mise à jour de la stratégie et confirmez que ce codepath est correctement exercé. - 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 intégrée avec succès comme avec la stratégie de configuration d’application.
La section suivante, Étape 7 : Fonctionnalités de participation des applications, peut être nécessaire 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, passez en revue les décisions clés pour l’intégration du SDK.