Share via


Sdk d’application Intune pour Android - Bases de l’intégration gam

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 4 : Principes fondamentaux de l’intégration MAM

Goals de phase

  • Activez le mode gam strict.
  • Inscrivez-vous aux notifications critiques à partir du Kit de développement logiciel (SDK).
  • Implémentez et inscrivez un rappel d’authentification pour fournir des jetons Microsoft Entra de MSAL au SDK.
  • Inscrivez de nouveaux comptes pour la gestion MAM après l’authentification auprès de MSAL.
  • Annuler l’inscription des comptes lors de la déconnexion pour supprimer les données d’entreprise.
  • (Recommandé) Incorporez la connexion MAM dans votre application.
  • (Recommandé) Découvrez comment utiliser la boîte de dialogue de diagnostic du SDK.

Arrière-plan

Maintenant que vous avez téléchargé le KIT de développement logiciel (SDK) d’application Intune, qu’il est intégré à votre build et que vous avez correctement effectué des remplacements de classes et de méthodes, il est temps d’apporter les modifications essentielles au code pour commencer à appliquer les paramètres de stratégie de protection des applications pour les comptes protégés par gam.

Cette étape vous explique comment vous connecter à la journalisation du KIT de développement logiciel (SDK), appeler une boîte de dialogue diagnostics, activer le mode strict MAM pour identifier les bogues d’intégration possibles, s’inscrire aux notifications à partir du KIT de développement logiciel (SDK) et, plus important encore, comment inscrire un compte pour qu’Intune MAM commence à recevoir la stratégie.

Mode gam strict

Le mode gam strict peut identifier les bogues potentiels dans l’intégration de votre application du SDK d’application Intune. Ces bogues d’intégration peuvent entraîner des échecs dans l’application correcte de la stratégie de protection des applications et laisser les données d’entreprise non protégées. Par conséquent, l’utilisation du mode gam strict est requise.

Le mode gam strict recherche des anomalies dans l’utilisation des API GAM et des API de plateforme mam restreintes par votre application. Faiblement modélisé d’Android StrictMode, mam Strict Mode exécute un ensemble prédéfini de vérifications qui déclenchent des erreurs d’exécution en cas d’échec. Le mode gam strict n’est pas destiné à rester activé dans les builds de production ; à la place, utilisez-la dans les builds de développement interne, de débogage et/ou d’aliments pour chiens de votre application.

Pour activer le mode gam strict, appelez

MAMStrictMode.enable();

au début de l’initialisation de l’application (par exemple, Application.onCreate).

Lorsqu’une case activée du mode strict MAM échoue, essayez de déterminer s’il s’agit d’un problème réel qui peut être résolu dans votre application ou d’un faux positif. Si vous pensez qu’il s’agit d’un faux positif ou que vous n’en êtes pas sûr, informez l’équipe GAM Intune. Cela nous permettra de nous assurer que nous sommes d’accord avec la détermination des faux positifs et de tenter d’améliorer la détection pour les versions futures. Pour supprimer les faux positifs, désactivez le case activée défaillant en suivant les instructions ci-dessous.

Gestion des violations

Lorsqu’un case activée échoue, il exécute mamStrictViolationHandler. Le gestionnaire par défaut lève un Error, qui est censé bloquer l’application. Cela permet de rendre les défaillances aussi bruyantes que possible et de s’adapter à l’intention que le mode strict ne doit pas être activé dans les builds de production.

Si votre application souhaite gérer les violations différemment, elle peut fournir son propre gestionnaire en appelant :

MAMStrictMode.global().setHandler(handler);

handler implémente MAMStrictViolationHandler.

Suppression de vérifications

Si une case activée échoue dans une situation où votre application ne fait rien d’incorrect, signalez-la comme indiqué ci-dessus. En attendant, il peut être nécessaire de désactiver l’case activée rencontrer un faux positif, au moins en attendant un KIT de développement logiciel (SDK) mis à jour. Le case activée qui a échoué s’affiche dans l’erreur générée par le gestionnaire par défaut, ou est passé à un gestionnaire personnalisé s’il est défini.

Bien que les suppressions puissent être effectuées globalement, il est préférable de désactiver temporairement chaque thread sur le site d’appel spécifique. Les exemples suivants montrent différentes façons de désactiver MAMStrictCheck.IDENTITY_NO_SUCH_FILE (déclenché si une tentative de protection d’un fichier qui n’existe pas est effectuée).

suppression temporaire Per-Thread

Il s’agit du mécanisme de suppression préféré.

try (StrictScopedDisable disable = MAMStrictMode.thread().disableScoped(MAMStrictCheck.IDENTITY_NO_SUCH_FILE)) {
    // Perform the operation which raised a violation here
}
// The check is no longer disabled once the block exits

Per-Thread suppression permanente

MAMStrictMode.thread().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);

Suppression globale (à l’échelle du processus)

MAMStrictMode.global().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);

S’inscrire aux notifications à partir du KIT de développement logiciel (SDK)

Le Kit de développement logiciel (SDK) d’application Intune émet de nombreux types de notifications pour informer les applications des opérations de gestion qui respectent le temps. Votre application peut s’inscrire et prendre des mesures lors de la réception de l’une de ces notifications.

Par exemple, chaque fois qu’un administrateur informatique émet une commande de réinitialisation sélective pour un appareil, le service Intune envoie une notification au SDK, qui est transmise à votre application en tant que WIPE_USER_DATA. Votre application peut écouter cette notification et contrôler les données qui sont réinitialisée . ou il peut s’appuyer sur le comportement de réinitialisation par défaut du SDK.

La plupart des notifications sont facultatives. Selon les fonctionnalités du KIT de développement logiciel (SDK) que votre application utilise, certaines notifications peuvent être nécessaires. Pour plus d’informations sur l’inscription aux notifications, les notifications fournies par le SDK et la gestion de types de notifications spécifiques, consultez Inscription aux notifications à partir du Kit de développement logiciel (SDK) à l’étape 7 : Fonctionnalités de participation des applications.

Inscription à la stratégie de protection des applications

Lorsque les administrateurs créent des stratégies de protection des applications, ils ciblent ces stratégies sur des comptes spécifiques dans leur organization. Sur le client, le Kit de développement logiciel (SDK) doit savoir quel compte utilise l’application afin qu’il puisse récupérer la stratégie de ce compte et appliquer les paramètres de manière appropriée. Votre application est chargée de fournir au KIT de développement logiciel (SDK) ces informations de compte. Ce processus est appelé inscription.

Chaque fois que votre application ajoute un nouveau compte, elle doit inscrire le compte auprès du Kit de développement logiciel (SDK), même si d’autres comptes sont déjà inscrits. Votre application peut inscrire plusieurs comptes. Toutefois, actuellement, un seul compte peut être inscrit ou une stratégie de protection des applications peut être appliquée. Sur Android, cette limitation de compte géré unique est à l’échelle de l’appareil.

Inscription et inscription

L’inscription est le processus dans lequel votre application informe le SDK qu’un nouveau compte est en cours d’utilisation. Le Kit de développement logiciel (SDK) contient les fonctions que votre application doit appeler pour l’inscription et la désinscription de comptes.

L’inscription est le processus dans lequel le SDK enregistre le compte inscrit auprès du service Intune afin qu’il puisse appliquer la stratégie du compte. Votre application n’a pas besoin d’appeler des fonctions pour l’inscription. Le SDK gère entièrement l’inscription après l’inscription d’un compte.

Si un compte est déjà inscrit pour votre application, lorsqu’il inscrit un autre compte, même si ce compte est ciblé avec des stratégies de protection des applications, ce deuxième compte ne sera pas inscrit et la stratégie ne sera pas appliquée.

Remarque

Le terme « inscription » peut également faire référence à l’inscription MDM à l’échelle de l’appareil En savoir plus dans l’annexe à l’article Inscription mdm et gam.

Implémentation de l’inscription

Attention

Si votre application n’intègre pas MSAL (fortement recommandé), consultez Inscription par défaut dans l’annexe au lieu de continuer cette section.

Votre application doit apporter trois modifications au code pour inscrire correctement un compte :

  1. L’application doit implémenter et inscrire un instance de l’interface MAMServiceAuthenticationCallback. Le rappel instance doit être inscrit dans la onCreate() méthode (ou onMAMCreate()) de la sous-classe Application.

  2. Lorsqu’un compte est créé et que l’utilisateur se connecte correctement avec MSAL, l’application doit appeler registerAccountForMAM.

  3. Lorsqu’un compte est supprimé, l’application doit appeler unregisterAccountForMAM pour supprimer le compte de la gestion Intune.

    Attention

    L’appel peut lancer une réinitialisation pour supprimer complètement les données d’entreprise du compte.

Toutes les API d’authentification et d’inscription nécessaires se trouvent dans l’interface MAMEnrollmentManager . Une référence à peut MAMEnrollmentManager être obtenue comme suit :

MAMEnrollmentManager mgr = MAMComponents.get(MAMEnrollmentManager.class);

// make use of mgr

La MAMEnrollmentManager instance retournée est garantie de ne pas être null. Les méthodes d’API se répartissent en deux catégories : l’authentification et l’inscription de compte.

MAMEnrollmentManager et authentification

Le Kit de développement logiciel (SDK) communique fréquemment avec le service Intune : pour inscrire des comptes inscrits, pour obtenir des mises à jour des paramètres de stratégie de protection des applications et pour obtenir des actions d’administration en attente, telles que la réinitialisation sélective des données protégées dans votre application. Pour communiquer correctement avec le service Intune, le Kit de développement logiciel (SDK) nécessite de nouveaux jetons d’accès des applications qui ont intégré MSAL.

Si le KIT de développement logiciel (SDK) n’est pas en mesure de récupérer un nouveau jeton, il ne pourra pas communiquer avec le service Intune, ce qui peut retarder la récupération et l’application des nouveaux paramètres de stratégie ou des actions d’administrateur. Il est essentiel que votre application effectue ces étapes pour garantir une application transparente de la stratégie.

À l’étape 2, vous avez intégré MSAL à votre application pour l’authentification et l’acquisition de jetons d’accès. Ici, vous allez implémenter un rappel d’authentification pour permettre au SDK de demander les jetons nécessaires.

MAMEnrollmentManager utilise les méthodes d’authentification suivantes :

interface MAMServiceAuthenticationCallback {
    String acquireToken(String upn, String aadId, String resourceId);
}
interface MAMServiceAuthenticationCallbackExtended extends MAMServiceAuthenticationCallback {
    String acquireToken(String upn, String aadId, String tenantId, String authority, String resourceId);
}
void registerAuthenticationCallback(MAMServiceAuthenticationCallback callback);
void updateToken(String upn, String aadId, String resourceId, String token);
  1. L’application doit implémenter l’interface MAMServiceAuthenticationCallback ou l’interface MAMServiceAuthenticationCallbackExtended pour permettre au SDK de demander un jeton Microsoft Entra pour le compte et l’ID de ressource donnés. Le rappel instance doit être fourni au MAMEnrollmentManager en appelant sa méthode registerAuthenticationCallback. Un jeton peut être nécessaire au début du cycle de vie de l’application pour les nouvelles tentatives d’inscription ou l’actualisation de la stratégie de protection des applications case activée. Le rappel doit donc être inscrit dans la onCreate() méthode (ou onMAMCreate()) de la sous-classe de Application l’application.

  2. La acquireToken méthode doit acquérir le jeton d’accès pour l’ID de ressource demandé pour le compte donné. S’il ne peut pas acquérir le jeton demandé, il doit retourner null.

    Conseil

    Assurez-vous que votre application utilise les resourceId paramètres et aadId passés à acquireToken() afin que le jeton correct soit acquis. Le resourceId doit être utilisé pour générer les étendues appropriées et le aadId doit être utilisé pour transmettre le compte approprié. Si votre application a besoin de l’autorité Microsoft Entra pour acquérir correctement le jeton, implémentez l’interface MAMServiceAuthenticationCallbackExtended .

    class MAMAuthCallback implements MAMServiceAuthenticationCallback {
        public String acquireToken(String upn, String aadId, String resourceId) {
            final String[] scopes = {resourceId + "/.default"};
    
            final IAccount account = getAccount(aadId);
            if (account == null) {
                callback.onError(
                        new MsalUiRequiredException(MsalUiRequiredException.NO_ACCOUNT_FOUND, "no account found for " + aadId));
                return;
            }
    
            AcquireTokenSilentParameters params =
                new AcquireTokenSilentParameters.Builder()
                        .forAccount(account)
                        .fromAuthority(account.getAuthority())
                        .withScopes(Arrays.asList(scopes))
                        .withCallback(callback)
                        .build();
    
            return mMsalClientApplication.acquireTokenSilent(params);
        }
    
        private static IAccount getAccount(String aadId) throws InterruptedException, MsalException {
          IAccount account = null;
    
          if (mMsalClientApplication instanceof IMultipleAccountPublicClientApplication) {
              IMultipleAccountPublicClientApplication multiAccountPCA =
                      (IMultipleAccountPublicClientApplication) mMsalClientApplication;
    
              account = multiAccountPCA.getAccount(aadId);
          } else {
              ISingleAccountPublicClientApplication singleAccountPCA =
                      (ISingleAccountPublicClientApplication) mMsalClientApplication;
    
              ICurrentAccountResult accountResult = singleAccountPCA.getCurrentAccount();
              if (accountResult != null) {
                  account = accountResult.getCurrentAccount();
                  // make sure this is the correct user
                  if (account != null && !account.getId().equals(aadId))
                      account = null;
              }
          }
          return account;
      }
    }
    
  3. Si l’application ne parvient pas à fournir un jeton lorsque le KIT de développement logiciel (SDK) appelle acquireToken() (par exemple, si l’authentification sans assistance échoue et que l’affichage d’une interface utilisateur n’est pas pratique), l’application peut fournir un jeton ultérieurement en appelant la méthode updateToken . L’UPN, l’ID de Microsoft Entra et l’ID de ressource qui ont été demandés par l’appel précédent à acquireToken() doivent être passés à updateToken(), ainsi que le jeton qui a été finalement acquis. L’application doit appeler cette méthode dès que possible après avoir retourné null à partir du rappel fourni.

    Avertissement

    N’appelez updateToken() pas à partir de votre implémentation de acquireToken(). updateToken() doit être utilisé dans le cas où acquireToken() est incapable d’acquérir un jeton.

    Remarque

    Le Kit de développement logiciel (SDK) appelle acquireToken() régulièrement pour obtenir le jeton. L’appel updateToken() n’est donc pas strictement obligatoire. Toutefois, il est fortement recommandé, car il peut aider les inscriptions et la stratégie de protection des applications case activée se terminer en temps voulu.

Notes sur l’implémentation de l’authentification

  • Les applications sont encouragées à acquérir des jetons Microsoft Entra avant d’appelerregisterAccountForMAM. Après l’inscription d’un compte, les applications reçoivent un rappel à la méthode de l’inscrit MAMServiceAuthenticationCallbackacquireToken() sur un autre thread. La fourniture d’un jeton valide dans ce rappel permet à l’inscription de continuer. L’application obtient le résultat de l’inscription via une notification.

  • Si l’application ne retourne pas de jeton Microsoft Entra valide, le résultat final de la tentative d’inscription est AUTHORIZATION_NEEDED. Si l’application reçoit ce résultat via une notification, il est fortement recommandé d’accélérer le processus d’inscription en acquérant le jeton pour le compte et la ressource précédemment demandés auprès de acquireToken et en appelant la méthode updateToken pour lancer à nouveau le processus d’inscription.

  • Les personnes inscrites MAMServiceAuthenticationCallback de l’application seront également appelées pour acquérir un jeton pour l’actualisation périodique de la stratégie de protection des applications case activée-ins. Si l’application n’est pas en mesure de fournir un jeton quand elle est demandée, elle ne recevra pas de notification, mais elle doit tenter d’acquérir un jeton et d’appeler updateToken() à l’heure suivante pour accélérer le processus de case activée. Si aucun jeton n’est fourni, le rappel peut toujours être appelé lors de la prochaine tentative de case activée.

  • La prise en charge des clouds souverains nécessite la fourniture de l’autorité.

  • Si MAMServiceAuthenticationCallbackExtended l’interface est implémentée, la méthode héritée acquireToken() de MAMServiceAuthenticationCallback n’a pas besoin d’être implémentée, car l’interface MAMServiceAuthenticationCallbackExtended fournit une implémentation par défaut.

MAMEnrollmentManager et Inscription

Chaque fois que l’application ajoute un compte, elle doit inscrire le compte auprès du Kit de développement logiciel (SDK). De même, chaque fois que l’application supprime un compte, elle doit annuler l’inscription de ce compte pour indiquer que l’application ne doit plus appliquer de stratégie pour ce compte. Si le compte a été inscrit dans le service GAM, le compte est désinscrit et l’application est réinitialise.

MAMEnrollmentManager a les méthodes d’inscription de compte suivantes :

void registerAccountForMAM(String upn, String aadId, String tenantId);
void registerAccountForMAM(String upn, String aadId, String tenantId, String authority);
void unregisterAccountForMAM(String upn, String aadId);
Result getRegisteredAccountStatus(String upn, String aadId);
  1. Pour inscrire un compte pour la gestion, l’application doit appeler registerAccountForMAM(). Un compte est identifié à la fois par son UPN et son ID utilisateur Microsoft Entra. L’ID de locataire est également requis pour associer les données d’inscription au locataire Microsoft Entra du compte. L’autorité du compte peut également être fournie pour autoriser l’inscription sur des clouds souverains spécifiques ; Pour plus d’informations, consultez Inscription au cloud souverain. Le Kit de développement logiciel (SDK) peut tenter d’inscrire l’application pour le compte donné dans le service GAM . En cas d’échec de l’inscription, elle réessaye régulièrement jusqu’à ce que l’inscription réussisse ou que le compte soit désinscrit. La période de nouvelle tentative est généralement de 12 à 24 heures. Le Kit de développement logiciel (SDK) fournit la status de tentatives d’inscription de manière asynchrone via des notifications.

  2. Le meilleur moment pour appeler registerAccountForMAM est une fois que l’utilisateur s’est connecté à l’application et est correctement authentifié à l’aide de MSAL. L’ID d’utilisateur et l’ID de locataire Microsoft Entra du compte sont retournés à partir de l’appel d’authentification MSAL dans le IAccount cadre du associé au IAuthenticationResult.

    • Le compte provient de la IAuthenticationResult.getAccount() méthode et contient les informations de compte pertinentes.
    • L’ID AAD provient de la IAccount.getId() méthode .
    • L’ID de locataire provient de la IAccount.getTenantId() méthode .
    • L’autorité provient de la IAccount.getAuthority() méthode .
  3. Pour annuler l’inscription d’un compte auprès de la gestion Intune, l’application doit appeler unregisterAccountForMAM(). Si le compte a été correctement inscrit et qu’il est géré, le Kit de développement logiciel (SDK) annule l’inscription du compte et efface ses données. Les nouvelles tentatives d’inscription périodiques pour le compte seront arrêtées. Le Kit de développement logiciel (SDK) fournit la status des demandes de désinscription de manière asynchrone via une notification.

Remarques sur l’implémentation de l’inscription

  • Les méthodes d’inscription sont idempotentes. Par exemple, registerAccountForMAM n’inscrit un compte et tente d’inscrire l’application que si le compte n’est pas déjà inscrit, et unregisterAccountForMAM annule l’inscription d’un compte uniquement s’il est actuellement inscrit. Les appels suivants étant sans opération, il n’y a aucun mal à appeler ces méthodes plusieurs fois.

  • Il n’existe aucune garantie que chaque appel d’inscription/annulation d’inscription comporte une notification de résultat correspondante. Par exemple, si registerAccountForMAM() est appelé pour un compte déjà inscrit, la notification peut ne pas être envoyée à nouveau pour cette identité. Le SDK peut également envoyer des notifications même lorsque votre application n’a pas appelé ces méthodes, car il peut régulièrement tenter des inscriptions en arrière-plan, et les désinscriptions peuvent être déclenchées par des demandes de réinitialisation reçues du service Intune.

  • Les méthodes d’inscription peuvent être appelées pour un nombre quelconque de comptes différents, mais actuellement un seul compte peut être correctement inscrit. Si plusieurs comptes disposant d’une licence pour Intune et ciblés avec une stratégie de protection des applications sont inscrits en même temps ou presque, il n’existe aucune garantie sur celui qui remportera la course.

  • Vous pouvez interroger MAMEnrollmentManager pour voir si un compte particulier est inscrit et obtenir son status actuel à l’aide de la méthode getRegisteredAccountStatus. Si le compte fourni n’est pas inscrit, cette méthode retourne null. Si le compte est inscrit, cette méthode renvoie la status du compte comme l’un des membres de l’énumération MAMEnrollmentManager.Result.

Inscription au cloud souverain

Azure prend en charge plusieurs clouds physiquement isolés, appelés clouds souverains ou nationaux. Si votre application prend en charge le cloud souverain, elle doit fournir le authority paramètre à registerAccountForMAM().

Conseils MSAL

Pour MSAL, définissez multiple_clouds_supportedtrue sur dans le fichier de configuration MSAL.

{
  "multiple_clouds_supported": true,
}

Résultats de l’inscription et codes status

Lorsqu’un compte est inscrit pour la première fois, il commence dans l’état PENDING , ce qui indique que la tentative d’inscription initiale au service GAM est incomplète. Une fois la tentative d’inscription terminée, une notification est envoyée avec l’un des codes de résultat dans le tableau ci-dessous. En outre, la méthode getRegisteredAccountStatus retourne la status du compte afin que l’application puisse toujours déterminer si des stratégies de protection d’application sont appliquées pour ce compte. Si la tentative d’inscription échoue, la status du compte peut changer au fil du temps, car le KIT DE développement logiciel (SDK) retente l’inscription en arrière-plan.

Code de résultat Explication
AUTHORIZATION_NEEDED Ce résultat indique qu’un jeton n’a pas été fourni par le instance MAMServiceAuthenticationCallback inscrit de l’application, ou que le jeton fourni n’était pas valide. L’application doit acquérir un jeton valide et appeler updateToken si possible.
NOT_LICENSED Le compte n’est pas concédé sous licence pour Intune, ou la tentative de contact avec le service GAM Intune a échoué. L’application doit continuer dans un état non managé (normal) et l’utilisateur ne doit pas être bloqué. Les inscriptions seront régulièrement retentées au cas où le compte sera concédé sous licence à l’avenir.
ENROLLMENT_SUCCEEDED La tentative d’inscription a réussi ou le compte est déjà inscrit. En cas d’inscription réussie, une notification d’actualisation de stratégie est envoyée avant cette notification. L’accès aux données d’entreprise doit être autorisé.
ENROLLMENT_FAILED La tentative d’inscription a échoué. Vous trouverez plus d’informations dans les journaux d’activité de l’appareil. L’application ne doit pas autoriser l’accès aux données d’entreprise dans cet état, car il a été précédemment déterminé que le compte dispose d’une licence pour Intune. Toutes les applications doivent s’assurer que l’accès aux données d’entreprise n’est pas autorisé, jusqu’à ce qu’il ENROLLMENT_SUCCEEDED soit obtenu par votre application.
WRONG_USER Un seul compte par appareil peut inscrire une application auprès du service GAM. Ce résultat indique que le compte pour lequel ce résultat a été remis (le deuxième compte) est ciblé avec la stratégie GAM, mais qu’un autre compte est déjà inscrit. Étant donné que la stratégie GAM ne peut pas être appliquée pour le deuxième compte, votre application ne doit pas autoriser l’accès aux données de ce compte (éventuellement en supprimant le compte de votre application) sauf si/jusqu’à ce que l’inscription pour ce compte réussisse ultérieurement. Parallèlement à la remise de ce WRONG_USER résultat, gam vous invite à supprimer le compte existant. Si l’utilisateur humain répond par l’affirmative, il sera en effet possible d’inscrire le deuxième compte un peu plus tard. Tant que le deuxième compte reste inscrit, la gestion des applications mobiles effectue une nouvelle tentative d’inscription périodiquement.
UNENROLLMENT_SUCCEEDED La désinscription a réussi.
UNENROLLMENT_FAILED La demande de désinscription a échoué. Vous trouverez plus d’informations dans les journaux d’activité de l’appareil. En règle générale, cela ne se produit pas tant que l’application passe un UPN valide (ni null ni vide). L’application ne peut pas effectuer de correction directe et fiable. Si cette valeur est reçue lors de la désinscription d’un UPN valide, signalez en tant que bogue à l’équipe GAM Intune.
PENDING La tentative d’inscription initiale pour le compte est en cours. L’application peut bloquer l’accès aux données d’entreprise jusqu’à ce que le résultat de l’inscription soit connu, mais ce n’est pas obligatoire.
COMPANY_PORTAL_REQUIRED Le compte est concédé sous licence pour Intune, mais l’application ne peut pas être inscrite tant que l’application Portail d'entreprise n’est pas installée sur l’appareil. Le SDK d’application Intune tente de bloquer l’accès à l’application pour le compte donné et lui demande d’installer l’application Portail d'entreprise. Lors de l’envoi de cette notification à l’application, le SDK d’application Intune affiche une interface utilisateur non bloquante en plus de l’activité actuelle si l’activité est actuellement visible par l’utilisateur ou si la prochaine fois onResume est appelée. Si l’utilisateur annule cette interface utilisateur non bloquante, le SDK d’application Intune affiche une interface utilisateur bloquante la prochaine fois onCreate qu’une activité est appelée et que l’identité actuelle est gérée (voir ci-dessous pour plus d’informations sur la résolution des problèmes).

La journalisation doit être initialisée tôt pour tirer le meilleur parti des données journalisées. Application.onMAMCreate() est généralement le meilleur endroit pour initialiser la journalisation.

Pour recevoir les journaux MAM dans votre application, créez un gestionnaire Java et ajoutez-le à MAMLogHandlerWrapper. Cela appelle publish() sur le gestionnaire d’application pour chaque message de journal.

/**
 * Global log handler that enables fine grained PII filtering within MAM logs.  
 * To start using this you should build your own log handler and add it via
 * MAMComponents.get(MAMLogHandlerWrapper.class).addHandler(myHandler, false);  
 * You may also remove the handler entirely via
 * MAMComponents.get(MAMLogHandlerWrapper.class).removeHandler(myHandler);
 */
public interface MAMLogHandlerWrapper {
    /**
     * Add a handler, PII can be toggled.
     * @param handler handler to add.
     * @param wantsPII if PII is desired in the logs.    
     */
    void addHandler(final Handler handler, final boolean wantsPII);

    /**
     * Remove a handler.
     * @param handler handler to remove.
     */
    void removeHandler(final Handler handler);
}

Remarque

PiI signifie « informations d’identification personnelle » et peut inclure des données telles que des noms d’utilisateur et des UPN. Nous vous encourageons vivement à exclure ces informations personnelles dans vos propres journaux de production. Pour plus d’informations, consultez la Politique de confidentialité de Microsoft .

L’application Portail d'entreprise Intune a plusieurs options pour collecter des informations de diagnostic. Le Portail d'entreprise inclut l’interface utilisateur qui :

  • Permet aux utilisateurs finaux de collecter des journaux d’Portail d'entreprise.
  • Affiche les métadonnées de l’appareil et du compte.
  • Inclut des informations par application sur la stratégie GAM actuelle.

Informations sur l’application Intune de l’interface utilisateur des diagnostics Intune

Pour obtenir une explication détaillée des données incluses dans les journaux d’Portail d'entreprise et dans l’interface utilisateur diagnostics, consultez Présentation des journaux d’activité Portail d'entreprise dans l’annexe.

Conseil

Si vous effectuez des tests avec un compte auquel la stratégie GAM doit être appliquée, mais que le diagnostics n’affiche aucune stratégie pour le nom du package de votre application, consultez la section Résolution des problèmes ci-dessous.

Les applications peuvent lancer cette interface utilisateur diagnostics en appelant MAMPolicyManager.showDiagnostics(context). Les utilisateurs finaux peuvent également lancer la console de diagnostic de l’Portail d'entreprise via Microsoft Edge, en entrant about:intunehelp dans la barre d’adresses. Il s’agit d’une fonctionnalité facultative qui peut faciliter le débogage.

Ces informations diagnostics sont disponibles uniquement lorsque le Portail d'entreprise est installé sur l’appareil. Une boîte de dialogue d’avertissement s’affiche chaque fois que showDiagnostics est appelé sans l’Portail d'entreprise installé.

Critères de sortie

À ce stade de l’intégration, votre application peut désormais recevoir et appliquer la stratégie de protection des applications. Exécutez les tests suivants pour valider l’intégration.

Premier test d’application de stratégie

Exécutez d’abord le test suivant pour vous familiariser avec l’expérience utilisateur final complète de l’application de stratégie au sein de votre application :

  1. Créez une stratégie de protection des applications Android dans le centre d’administration Microsoft Intune (pour plus d’informations, consultez Création d’une stratégie de protection des applications Android de test à l’étape 1). Pour ce test, configurez la stratégie :
    • Sous Protection des données, définissez « Capture d’écran et Assistant Google » sur « Bloquer ».
    • Sous Exigences d’accès, conservez les paramètres par défaut. En particulier, « CODE CONFIDENTIEL pour Access » doit être « Exiger ».
  2. Vérifiez que la stratégie de protection des applications est ciblée sur votre application. Vous devrez probablement ajouter manuellement le nom du package dans l’Assistant création de stratégie.
  3. Affectez la stratégie de protection des applications à un groupe d’utilisateurs contenant votre compte de test.
  4. Sur un appareil Android de test, désinstallez les autres applications intégrées au Kit de développement logiciel (SDK), telles que Microsoft Outlook, Teams, OneDrive et Office. Désinstallez également l’application Portail d'entreprise Intune et l’application Microsoft Authenticator.
    • Conseil

      La désinstallation d’autres applications intégrées au KIT de développement logiciel (SDK) permet de vérifier que vous testez exclusivement l’intégration de votre propre application.

  5. Installez votre application.
  6. Connectez-vous à votre application avec votre compte de test ciblé avec la stratégie de protection des applications.
  7. Vérifiez que vous êtes invité à installer le Portail d'entreprise Intune à partir de Google Play.
    • Remarque

      Si votre appareil de test n’a pas l’application Google Play Store, vérifiez que vous êtes invité à installer le Portail d'entreprise Intune à partir d’un autre App Store ou d’un site web Microsoft.

  8. Installez le Portail d'entreprise. Vous n’avez pas besoin de lancer le Portail d'entreprise ou de vous connecter à l’Portail d'entreprise.
  9. Revenez à votre application et reconnectez-vous, si nécessaire.
  10. Vérifiez que vous êtes invité à afficher un écran Obtenir l’accès. Cela indique que le Kit de développement logiciel (SDK) a correctement récupéré la stratégie pour ce compte.
  11. Vous devez être invité à définir un code confidentiel d’application. Créez un code confidentiel.
  12. Parcourez votre application et essayez de prendre des captures d’écran. Étant donné que le SDK a une stratégie, celle-ci doit être systématiquement bloquée sur n’importe quel écran.
  13. Déconnectez le compte managé de votre application.
  14. Si possible sans vous connecter, parcourez votre application et essayez de prendre des captures d’écran. Maintenant que le compte est supprimé, cela ne doit pas être bloqué.

Il s’agit d’un test minimal pour vérifier que votre application a correctement inscrit le compte, inscrit le rappel d’authentification et annulé l’inscription du compte. Exécutez les tests suivants pour valider de manière plus approfondie la façon dont les autres paramètres de stratégie de protection des applications modifient le comportement de votre application.

Tests de protection des données

Les tests suivants couvrent des paramètres de protection des données spécifiques configurés dans la stratégie de protection des applications. Lorsque vous modifiez les paramètres de stratégie de protection des applications dans le centre d’administration Microsoft Intune, le client ne se met pas à jour immédiatement. Consultez Tests rapides avec changement de stratégie pour obtenir des conseils sur l’accélération des tests.

Pour ces tests :

  1. Installez votre application.
  2. Installez le Portail d'entreprise Intune.
  3. Installez une autre application managée, ciblée avec la même stratégie que votre application, qui peut copier et coller des données (comme Microsoft Office).
  4. Installez (ou réutilisez) toute application non managée qui peut copier et coller des données.
  5. Connectez-vous à votre application avec le compte géré de test.
  6. Connectez-vous à l’autre application managée avec le compte de test managé.
Scénario Paramètre de stratégie de protection des applications Étapes de test
Capture d’écran « Capture d’écran et Assistant Google » défini sur « Bloquer » 1. Accédez à toutes les pages de votre application.
2. Essayez de prendre une capture d’écran sur chaque page.
3. Vérifiez que les captures d’écran sont bloquées ou que l’image enregistrée est entièrement vide.
Copier du texte « Restreindre les opérations couper, copier et coller entre d’autres applications » définie sur « Applications gérées par la stratégie » 0. Si votre application n’a pas de texte à copier, ignorez.
1. Accédez à toutes les pages de votre application qui ont du texte pouvant être copié.
2. Copiez le texte.
3. Basculez vers l’application non managée.
4. Essayez de coller dans l’application non managée.
5. Vérifiez que le collage est bloqué.
6. Accédez à l’autre application gérée.
7. Essayez de coller dans l’application gérée.
8. Vérifiez que le collage est autorisé.
Coller du texte « Restreindre les opérations couper, copier et coller entre d’autres applications » définie sur « Applications gérées par la stratégie » 0. Si votre application n’a pas d’entrée de texte à coller, ignorez.
1. Basculez vers l’application non managée.
2. Copiez le texte de l’application non managée.
3. Accédez à toutes les pages de votre application qui ont des entrées de texte.
5. Essayez de coller à partir de l’application non managée.
5. Vérifiez que le collage est bloqué.
6. Basculez vers l’autre application gérée.
7. Copiez le texte de l’autre application gérée.
7. Accédez à toutes les pages de votre application qui ont des entrées de texte.
8. Essayez de coller à partir de l’autre application gérée.
9. Vérifiez que le collage est autorisé.
Impression « Impression des données d’organisation » définie sur « Bloquer » 0. Si votre application n’a pas de pages ou de documents qui peuvent être imprimés, ignorez.
1. Accédez à toutes les pages de votre application qui appellent la fonction d’impression d’Android.
2. Essayez d’imprimer à partir de chaque page.
3. Vérifiez que l’impression est bloquée.
Managed Browser « Restreindre le transfert de contenu web avec d’autres applications » défini sur « Microsoft Edge » 0. Si votre application ne restitue pas les liens web, ignorez.
1. Accédez à toutes les pages de votre application qui peuvent afficher des liens web ou ont une entrée de texte qui s’affiche en liens web cliquables.
2. Pour chaque page, sélectionnez le lien web.
3. Vérifiez que vous êtes invité à installer Microsoft Edge et que le lien web ne s’ouvre pas dans un autre navigateur.
Clavier restreint « Claviers approuvés » définis sur « Obligatoire »
« Sélectionner les claviers à approuver » défini sur un seul package de clavier que votre appareil n’a pas installé actuellement
0. Si votre application n’a pas d’entrée de texte, ignorez.
1. Accédez à toutes les pages de votre application qui ont des entrées de texte.
2. Sélectionnez l’entrée de texte pour afficher le clavier de l’appareil.
3. Vérifiez que vous êtes invité à installer le clavier approuvé configuré et que le clavier de l’appareil actuel ne s’ouvre pas.

Tests de transfert de données

Les paramètres de transfert de données sont un sous-ensemble des fonctionnalités de protection des données de la stratégie de protection des applications qui contrôlent les données entrantes et sortantes des applications managées. La plupart des applications qui prennent en charge l’envoi ou la réception de données d’autres applications ont également la possibilité d’enregistrer et d’ouvrir des données à partir d’un stockage local ou cloud. Si votre application dispose de ces fonctionnalités, vous devez implémenter une prise en charge supplémentaire. Pour plus d’informations, consultez Stratégie de limitation du transfert de données entre les applications et les emplacements de stockage des appareils ou du cloud .

Votre application peut importer activement des données à partir d’autres applications, comme Microsoft Outlook en joignant un fichier à partir de Microsoft OneDrive. Votre application peut également recevoir passivement des données d’autres applications, comme Microsoft Office ouvrant un document à partir d’une pièce jointe Microsoft Outlook. Le paramètre de stratégie de protection des applications de réception couvre les deux scénarios.

Pour ces tests :

  1. Installez votre application.
  2. Installez le Portail d'entreprise Intune.
  3. Installez une autre application managée, ciblée avec la même stratégie que votre application, qui peut envoyer et recevoir des données (comme Microsoft Outlook).
  4. Installez (ou réutilisez) toute application non managée qui peut envoyer et recevoir des données.
  5. Connectez-vous à votre application avec le compte géré de test.
  6. Connectez-vous à l’autre application managée avec le compte de test managé.
Scénario Paramètre de stratégie de protection des applications Étapes de test
Envoi de données à d’autres applications « Envoyer des données d’organisation à d’autres applications » défini sur « Applications gérées par une stratégie » 0. Si votre application ne peut pas envoyer de données à d’autres applications, ignorez.
1. Accédez à l’emplacement où votre application peut envoyer des données.
2. Essayez d’envoyer des données.
3. Vérifiez que vous êtes limité à l’envoi de données uniquement à d’autres applications gérées. Vous devez voir un sélecteur d’applications avec uniquement des applications gérées.
Importation de données à partir d’autres applications « Recevoir des données d’autres applications » défini sur « Applications gérées par une stratégie » 0. Si votre application ne peut pas importer de données à partir d’autres applications, ignorez.
1. Accédez à l’emplacement où votre application peut importer des données à partir d’autres applications.
2. Tentative d’importation de données.
3. Vérifiez que vous êtes limité à l’importation de données uniquement à partir d’autres applications gérées. Vous devez voir un sélecteur d’applications avec uniquement des applications gérées.
Réception de données à partir d’une application non managée « Recevoir des données d’autres applications » défini sur « Applications gérées par une stratégie » 0. Si votre application ne peut pas recevoir de données d’autres applications, ignorez.
1. Basculez vers l’application non managée.
2. Accédez à l’emplacement où il peut envoyer des données.
3. Essayez d’envoyer des données de l’application non managée à votre application.
4. Vérifiez que votre application n’est pas en mesure de recevoir des données de l’application non managée.
Réception de données à partir d’une application managée « Recevoir des données d’autres applications » défini sur « Applications gérées par une stratégie » 0. Si votre application ne peut pas recevoir de données d’autres applications, ignorez.
1. Basculez vers l’autre application gérée.
2. Accédez à l’emplacement où il peut envoyer des données.
3. Essayez d’envoyer des données de l’autre application gérée à votre application.
4. Vérifiez que votre application peut recevoir des données de l’autre application gérée.

Autres paramètres de protection des données

Les paramètres de protection des données suivants ne seront pas appliqués tant que votre application n’aura pas apporté d’autres modifications. Vous n’avez pas besoin de tester ces paramètres à ce stade. Pour plus d’informations , consultez Étape 7 : Fonctionnalités de participation des applications.

Scénario Paramètre de stratégie de protection des applications Doit implémenter la prise en charge si...
Enregistrement de copies de données Enregistrer des copies des données d’organisation Votre application peut enregistrer des données dans un stockage local ou cloud.
Ouverture de données à partir du stockage Ouvrir les données dans les documents d’organisation Votre application peut ouvrir des données à partir d’un stockage local ou cloud.
Contenu de notification managée Notifications de données de l’organisation Votre application inclut des données utilisateur dans les notifications.
Sauvegarde et restauration Sauvegarder des données d’organisation dans des services de sauvegarde Android Votre application partage des données utilisateur avec la fonctionnalité de sauvegarde d’Android.

Tests de lancement conditionnel

Les paramètres de lancement conditionnel sont un sous-ensemble des fonctionnalités de stratégie de protection des applications qui limitent l’accès à votre application en fonction de critères configurables à l’échelle de l’appareil ou spécifiques à l’application. Ces paramètres incluent à la fois des conditions (comme « version minimale du système d’exploitation ») et des actions (comme « Bloquer l’accès »). Les actions de lancement conditionnel peuvent être les suivantes :

  • Avertir : l’utilisateur final voit une boîte de dialogue d’avertissement quand son appareil ou son application ne répond pas aux critères. Ils auront toujours accès à toutes les données de l’application.
  • Bloquer l’accès : l’utilisateur final voit une boîte de dialogue d’avertissement quand son appareil ou son application ne répond pas aux critères. Ils ne sont pas autorisés à entrer l’application et à accéder aux données de l’application tant qu’ils ne répondent pas aux critères ou qu’ils ne suppriment pas le compte géré de l’application.
  • Réinitialiser les données : toutes les données d’entreprise associées au compte managé sont effacées lorsque l’appareil ou l’application ne répond pas aux critères. L’utilisateur n’aura pas la possibilité de répondre aux critères avant la suppression des données.

Certains paramètres de lancement conditionnel peuvent être configurés avec plusieurs valeurs et actions. Par exemple :

  • Version minimale du système d’exploitation, valeur « 10.0 », action définie sur « Avertir ».
  • Version minimale du système d’exploitation, valeur « 9.0 », action définie sur « Bloquer l’accès »
  • Version minimale du système d’exploitation, valeur « 8.0 », action définie sur « Réinitialiser les données ».

En effectuant les étapes d’intégration de cette étape, votre application prend désormais en charge toutes les fonctionnalités de lancement conditionnel. Familiarisez-vous avec la fonctionnalité de lancement conditionnel en modifiant les éléments de stratégie de façon à ce que votre appareil de test :

  • Transmet tous les paramètres de lancement conditionnel configurés.
  • Échec d’un paramètre de lancement conditionnel configuré défini sur l’action « Avertir ».
  • Échec d’un paramètre de lancement conditionnel configuré défini sur l’action « Bloquer l’accès ».
  • Échec d’un paramètre de lancement conditionnel configuré défini sur l’action « Réinitialiser les données ».

Résolution des problèmes

Résolution des problèmes de test d’application first policy

En suivant les étapes de test de la première application de stratégie ci-dessus, vous pouvez rencontrer les comportements inattendus suivants :

Après m’être connecté avec un compte managé, je ne suis pas invité à installer le Portail d'entreprise (étape 7)

Tout d’abord, visitez le Centre d’administration Intune et double case activée que la stratégie de protection des applications est ciblée sur votre compte de test.

Deuxièmement, double case activée votre code source pour les appels à et l’implémentation registerAccountForMAM de MAMServiceAuthenticationCallback. Si ce premier n’est pas appelé au bon moment et/ou si ce dernier n’a pas correctement fourni un jeton valide, l’invite Portail d'entreprise ne s’affiche pas.

Enfin, recherchez le code de résultat d’inscription dans les journaux (ou le débogage) ou appelez getRegisteredAccountStatus explicitement sur le compte. Des codes tels que NOT_LICENSED peuvent indiquer des problèmes de configuration avec le compte de test.

Je n’ai pas vu l’écran Obtenir l’accès après la connexion (étape 10)

Si le Portail d'entreprise n’a pas été installé précédemment, vous devrez peut-être reprendre ou redémarrer complètement votre application pour afficher l’écran Obtenir l’accès et avoir la stratégie correctement appliquée. Il s’agit d’un résultat attendu basé sur la façon dont les applications intégrées au KIT de développement logiciel (SDK) tirent parti du code à l’intérieur de l’application Portail d'entreprise.

Si vous ne voyez toujours pas l’écran Obtenir l’accès, même après avoir redémarré votre application et vous reconnecter, il se peut que le SDK ne parvient pas à inscrire le compte ou à récupérer la stratégie pour le compte. Double case activée l’implémentation de votre code source du MAMServiceAuthenticationCallback.

Je n’ai pas vu l’écran pour définir ou entrer un code confidentiel d’application après la connexion (étape 11)

Existe-t-il d’autres applications intégrées au Kit de développement logiciel (SDK) sur votre appareil de test ? Le code confidentiel de l’application est partagé entre toutes les applications gérées, et le SDK dispose d’un minuteur global pour empêcher les utilisateurs finaux d’être invités à entrer le code confidentiel à chaque lancement ou reprise de l’application gérée.

Sinon, visitez le Centre d’administration Intune et double case activée que le code confidentiel de l’application est activé pour la stratégie de protection des applications et qu’il est ciblé sur votre compte de test.

En dernier recours, le redémarrage de votre appareil réinitialise le minuteur du code confidentiel. Si l’écran du code confidentiel ne s’affiche pas après le redémarrage de votre appareil, il n’est probablement pas configuré correctement dans la stratégie.

J’ai vu l’écran Obtenir l’accès, mais les captures d’écran sont toujours autorisées (étape 12)

Pendant la récupération de la stratégie, la stratégie incorrecte est appliquée. Tout d’abord, visitez le Centre d’administration Intune et double case activée que la stratégie de protection des applications désactive les captures d’écran et qu’elle cible votre compte de test. Ensuite, utilisez la console de diagnostic (décrite ci-dessus) pour case activée la stratégie qui a été extraite pour votre application. Si les deux stratégies confirment que les captures d’écran doivent être bloquées, case activée la configuration de votre plug-in de build Gradle pour vous assurer que les remplacements MAM sont effectués.

Mon application semble se bloquer ou se fermer après la déconnexion (étape 13)

Lorsque vous annulez l’inscription d’un compte précédemment inscrit et auquel la stratégie a été appliquée, les données associées à ce compte sont effacées par le SDK. La fin du processus d’application est attendue.

Les captures d’écran sont toujours bloquées même après ma déconnexion (étape 14)

Double case activée votre code source pour les appels à unregisterAccountForMAM(). Si la stratégie est toujours appliquée après la déconnexion, il est probable que le compte n’a pas été correctement désinscrit et annulé.

Résolution des problèmes de test de protection des données

En suivant les étapes des tests de protection des données ci-dessus, vous pouvez rencontrer les comportements inattendus suivants :

Mon application ne reçoit ni n’applique aucune stratégie

Tout d’abord, vérifiez que la stratégie de protection des applications est ciblée sur un groupe contenant votre compte de test. Pour plus d’informations, consultez Comment valider la configuration de votre stratégie de protection des applications dans Microsoft Intune.

Ensuite, case activée les informations de diagnostic du client pour confirmer que le Kit de développement logiciel (SDK) a bien reçu la stratégie configurée. Si ce n’est pas le cas, inspectez l’implémentation de votre application de MAMServiceAuthenticationCallback et appelle à registerAccountForMAM. Également case activée journaux ou déboguer pour vérifier le MAMEnrollmentManager.Result.

Mon application peut partager des données avec une application non managée

Vérifiez que « Envoyer des données d’organisation à d’autres applications » est défini sur « Applications gérées par la stratégie ». Vérifiez le centre d’administration Microsoft Intune pour vérifier que la stratégie est configurée et ciblée correctement. Vérifiez les informations de diagnostic du client pour confirmer que le Kit de développement logiciel (SDK) a reçu la stratégie configurée.

Ensuite, si la stratégie est configurée et récupérée correctement, case activée si des stratégies sont appliquées : Mon application ne reçoit ni n’applique aucune stratégie.

Mon application ne peut pas partager des données avec une autre application managée

Confirmez les paramètres de stratégie de protection des applications ciblant votre application et l’autre application gérée. Il est recommandé d’avoir la même stratégie cible les deux applications. La stratégie ciblant votre application doit avoir « Envoyer des données d’organisation à d’autres applications » définie sur « Applications gérées par la stratégie ». Vérifiez la stratégie ciblant l’autre application ; si « Recevoir des données d’autres applications » est défini sur « Aucun », ce comportement est attendu.

Mon application peut recevoir des données d’une application non managée

Vérifiez que « Recevoir des données d’autres applications » est défini sur « Applications gérées par une stratégie ». Vérifiez le centre d’administration Microsoft Intune pour vérifier que la stratégie est configurée et ciblée correctement. Vérifiez les informations de diagnostic du client pour confirmer que le Kit de développement logiciel (SDK) a reçu la stratégie configurée.

Ensuite, si la stratégie est configurée et récupérée correctement, case activée si des stratégies sont appliquées : Mon application ne reçoit ni n’applique aucune stratégie.

Mon application ne peut pas recevoir de données d’une autre application gérée

Confirmez les paramètres de stratégie de protection des applications ciblant votre application et l’autre application gérée. Il est recommandé d’avoir la même stratégie cible les deux applications. La stratégie ciblant votre application doit avoir « Recevoir des données d’autres applications » définie sur « Applications gérées par la stratégie ». Vérifiez la stratégie ciblant l’autre application ; si « Envoyer des données d’organisation à d’autres applications » est défini sur « Aucun », ce comportement est attendu.

É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 en tant qu’identité unique et peut appliquer toutes les stratégies de protection des applications de base. Les sections suivantes, Stage 5 : Multi-Identity, Stage 6 : App Configuration, et Stage 7 : App Participation Features peuvent ou non être nécessaires, 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 sections s’applique à votre application, passez en revue les décisions clés pour l’intégration du SDK.