Il existe plusieurs façons de provisionner des appareils. Les exigences commerciales de vos clients déterminent les méthodes de provisionnement à utiliser.
Principes de base de la gestion des appareils
Les scénarios de déploiement de provisionnement d'appareils que vos clients souhaitent gérer (tels que BYOD ou ceux détenus par l'entreprise) déterminent les modes de fonctionnement que vous utiliserez (comme le mode propriétaire de l'appareil ou le mode propriétaire du profil). De même, les modes de fonctionnement et les versions d'Android dont vous avez besoin pour déterminer les méthodes de provisionnement à mettre en œuvre.
Scénarios de déploiement
Dans un scénario de déploiement détenu par l'entreprise, l'entreprise possède et contrôle entièrement les appareils utilisés par ses employés. En règle générale, les organisations déploient des appareils détenus par l'entreprise lorsqu'ils doivent surveiller et gérer de manière stricte l'ensemble de l'appareil.
Les entreprises qui acceptent un scénario de déploiement BYOD autorisent leurs employés à utiliser des appareils personnels sur leur lieu de travail et à utiliser ces appareils pour accéder à des informations et à des applications d'entreprise privilégiées.
Modes de fonctionnement
Les déploiements détenus par l'entreprise sont compatibles avec le mode de fonctionnement Propriétaire de l'appareil. Sur Android, votre application de gestion est appelée outil de contrôle des règles relatives aux appareils (DPC). La DPC applique des règles sur un appareil Android et, lorsqu'elle agit en tant que propriétaire de l'appareil, gère l'ensemble de l'appareil. En tant que propriétaire de l'appareil, la DPC peut effectuer des actions à l'échelle de l'appareil, telles que la configuration de la connectivité à l'échelle de l'appareil, la configuration des paramètres généraux et le rétablissement de la configuration d'usine.
Les déploiements BYOD sont compatibles avec le mode d'opération Propriétaire du profil. Grâce à la DPC, l'entreprise active les appareils personnels pour le travail en ajoutant un profil professionnel au compte utilisateur principal de l'appareil. Le profil professionnel est associé à l'utilisateur principal, mais sous la forme d'un profil distinct. En tant que propriétaire du profil, la DPC gère uniquement le profil professionnel sur l'appareil et dispose d'un contrôle limité en dehors du profil professionnel.
Les anciens déploiements d'appareils sont compatibles avec l'ancien mode de fonctionnement, qui permet au contrôle limité DPC d'un appareil (par exemple, la possibilité d'effacer les données d'un appareil, d'exiger un code de réussite ou d'appliquer certaines règles). Vous pouvez gérer les applications sur les anciens appareils via Google Play en permettant à l'utilisateur d'ajouter un compte Google ou en demandant à votre DPC d'ajouter un compte Google Play d'entreprise à l'ancien appareil.
L'ancien mode est déconseillé pour les déploiements dans lesquels vous pouvez implémenter le mode propriétaire de l'appareil ou le mode propriétaire de profil. Vous devez utiliser le niveau de gestion des appareils le plus élevé possible au lieu d'utiliser une solution de "dénominateur commun le plus bas" sur un parc de grande taille.
Méthodes de provisionnement des propriétaires d'appareils
Vous devez provisionner le mode de fonctionnement propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après le rétablissement de la configuration d'usine. Le mode propriétaire de l'appareil ne peut pas être configuré sur un autre appareil.
Selon le cas d'utilisation, il existe deux types principaux de méthodes de provisionnement du mode propriétaire de l'appareil.
- Dans un flux basé sur les appareils, les administrateurs informatiques peuvent utiliser la technologie NFC pour provisionner un grand nombre d'appareils. Vous pouvez utiliser cette procédure pour les comptes Google Play d'entreprise ou G Suite.
- Dans un flux géré par l'utilisateur, les options disponibles varient selon que l'organisation utilise ou non G Suite.
- Dans un scénario G Suite, l'utilisateur ajoute son compte Google lors de la configuration initiale de l'appareil, et la DPC doit guider l'utilisateur tout au long de la procédure de configuration du propriétaire de l'appareil. Un flux piloté par l'utilisateur peut aider les utilisateurs finaux à configurer de nouveaux appareils. C'est également une alternative lorsque les appareils ne sont pas compatibles avec la technologie NFC.
- Lorsqu'une organisation n'utilise pas G Suite, vous devez utiliser la méthode des comptes Google Play d'entreprise.
Méthodes de provisionnement des propriétaires de profils
La méthode recommandée pour provisionner le mode de fonctionnement propriétaire de profil varie selon que l'organisation utilise ou non G Suite.
- Dans le cas de G Suite, la méthode recommandée est un parcours utilisateur dans lequel l'utilisateur ajoute son compte Google. La DPC guide l'utilisateur tout au long de la procédure de configuration du propriétaire du profil.
- Lorsqu'une organisation n'utilise pas G Suite, la méthode recommandée est la méthode Comptes Google Play d'entreprise.
La méthode traditionnelle, dans laquelle l'utilisateur est invité à installer manuellement la DPC, est également compatible. L'utilisateur devra télécharger votre DPC depuis Google Play et l'installer, puis l'DPC guidera l'utilisateur tout au long du processus pour configurer le propriétaire du profil.
Méthodes de provisionnement pour les anciens appareils
Les anciens appareils exécutent des versions d'Android antérieures à la version 5.0 ou ne sont pas compatibles avec les profils professionnels. La méthode recommandée pour provisionner un ancien appareil varie selon que l'organisation utilise ou non des comptes Google gérés.
- Dans le cas d'un compte Google géré, la méthode recommandée est un parcours utilisateur dans lequel l'utilisateur ajoute son compte Google. La DPC guide l'utilisateur tout au long de la procédure de configuration.
- Lorsqu'une organisation n'utilise pas de comptes Google gérés, la méthode recommandée est la méthode Comptes Google Play d'entreprise, où l'utilisateur installe la DPC depuis Google Play. La DPC peut ajouter des comptes Google Play d'entreprise à un ancien appareil, de la même manière qu'elle les ajoute à un profil professionnel.
La méthode traditionnelle, où l'utilisateur est invité à installer manuellement la DPC, et où la DPC ajoute ensuite un compte Google est également compatible. L'utilisateur devra télécharger votre DPC depuis Google Play et l'installer, puis l'DPC guidera l'utilisateur tout au long du processus de configuration.
Principales différences de provisionnement entre les versions d'Android
Scénario de déploiement |
Mode de fonctionnement |
Méthode de provisionnement |
*Avant 5.0 |
5,0, 5,1 |
6.0, ultérieurement |
7.0, ultérieurement |
Détenu par l'entreprise | Propriétaire de l'appareil | Code QR | ✓ | |||
Comptes Google Play d'entreprise | ✓ | ✓ | ||||
Un compte Google | ✓ | ✓ | ||||
NFC | ✓ | ✓ | ✓ | |||
Ancien | Comptes Google Play d'entreprise | ✓ | ||||
Un compte Google | ✓ | |||||
BYOD | Propriétaire du profil | Comptes Google Play d'entreprise | ✓ | ✓ | ✓ | |
Un compte Google | **5,1 | ✓ | ✓ | |||
Installation manuelle de DPC | ✓ | ✓ | ✓ | |||
Ancien | Comptes Google Play d'entreprise | ✓ | ||||
Un compte Google | ✓ | |||||
Installation manuelle de DPC | ✓ |
*L'ancien mode est également recommandé pour les appareils non compatibles avec les profils professionnels, même s'ils exécutent une version d'Android ultérieure à la version 5.0. Il s'agit généralement d'appareils dont la mémoire RAM est faible.
**La méthode du compte Google sur Android 5.1 n'est compatible qu'avec le mode de fonctionnement propriétaire du profil, et l'utilisateur ne peut le configurer qu'à partir de Paramètres > Ajouter un compte.
Considérations générales concernant l'implémentation
Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC, quel que soit le mode de fonctionnement que vous implémentez.
Compatibilité avec les services Google Play
Le guide des APK des services Google Play demande aux développeurs de vérifier la version des services Google Play avant d'effectuer des transactions d'API. Étant donné que toute tentative de mise à jour des services Google Play entraîne de graves interruptions dans le processus de configuration de l'appareil, votre DPC ne doit pas tenter de mettre à jour les services Google Play avant la fin du provisionnement de l'appareil.
Voici les points clés concernant la compatibilité de la DPC avec les services Google Play:
- La DPC doit s'exécuter à l'aide des services Google Play fournis avec un appareil spécifique.
- La DPC ne doit pas s'appuyer sur les nouvelles fonctionnalités des futures versions des services Google Play disponibles au moment du provisionnement de l'appareil.
Une fois le provisionnement de l'appareil terminé, l'application DPC peut inviter l'utilisateur à mettre à jour les services Google Play afin qu'il puisse utiliser les dernières fonctionnalités. Toutefois, si une fonctionnalité n'est pas disponible pour une raison quelconque, la DPC doit revenir normalement à la version fournie avec l'appareil.
Remarques concernant l'implémentation pour le mode Propriétaire du profil
Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC pour mettre en œuvre le mode de fonctionnement propriétaire du profil.
Supprimer ou désactiver la DPC personnelle
Lorsque vous provisionnez le mode de fonctionnement propriétaire du profil, la DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel. Une fois le profil professionnel créé, la DPC s'exécute également dans le profil professionnel. La DPC du profil professionnel termine le processus de provisionnement. À ce stade, l'application DPC du profil personnel doit se désactiver ou l'utilisateur de l'appareil doit la supprimer.
L'utilisateur supprime l'application DPC personnelle
- L'application DPC personnelle écoute pour
ACTION_MANAGED_PROFILE_PROVISIONED.
(pour les appareils Android 5.1, elle doit écouterACTION_MANAGED_PROFILE_ADDED
). - Le DPC personnel émet une demande de désinstallation
ACTION_UNINSTALL_PACKAGE
. L'utilisateur est alors invité à désinstaller la DPC personnelle. Pour une expérience utilisateur optimale, le processus de désinstallation doit avoir lieu pendant le flux de provisionnement.
DPC personnel désactivé
- L'application DPC personnelle écoute pour
ACTION_MANAGED_PROFILE_PROVISIONED.
(pour les appareils Android 5.1, elle doit écouterACTION_MANAGED_PROFILE_ADDED
). - Le cas échéant, l'outil DPC personnel doit libérer les droits d'administrateur de l'appareil avant de le désactiver.
- L'outil DPC personnel lance une requête de désactivation de
setApplicationEnabledSetting
avec le paramètreCOMPONENT_ENABLED_STATE_DISABLED
. - L'utilisateur peut réactiver l'application DPC personnelle depuis Google Play.
Remarques concernant l'implémentation pour le mode Propriétaire de l'appareil
Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC afin de mettre en œuvre le mode de fonctionnement propriétaire de l'appareil.
L'appareil doit être neuf ou réinitialisé
Vous devez provisionner le mode de fonctionnement propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après le rétablissement de la configuration d'usine. Le mode propriétaire de l'appareil ne peut pas être configuré sur un autre appareil.
Le mode Propriétaire de l'appareil permet à la DPC de contrôler entièrement un appareil. Si le provisionnement du mode propriétaire de l'appareil après la configuration initiale était autorisé:
- Les logiciels malveillants peuvent potentiellement créer le propriétaire d'un appareil et prendre le contrôle de celui-ci.
- Des problèmes de confidentialité peuvent survenir si l'appareil possédait déjà des données utilisateur ou des applications.
Configurer le mode Propriétaire de l'appareil uniquement sur les appareils détenus par l'entreprise
Vous ne devez provisionner le mode propriétaire de l'appareil que sur les appareils que vous identifiez comme appartenant à l'entreprise de votre client. Vous pouvez le vérifier en détectant un identifiant d'appareil unique (tel qu'un numéro de série) ou en utilisant un ensemble dédié de comptes autorisés à enregistrer des appareils via votre stratégie EMM.
Si vous ne parvenez pas à valider la propriété d'un appareil par l'entreprise, vous devez créer un mécanisme de sécurité pour éviter que le mode propriétaire de l'appareil ne soit provisionné par erreur. Par exemple, vous pouvez inviter l'utilisateur de l'appareil à confirmer ou à confirmer une action avant de provisionner le mode propriétaire de l'appareil.
Activer les applications système
Lorsque la DPC provisionne un profil professionnel, toutes les applications système sans icône de lanceur sont considérées comme essentielles à l'appareil et sont automatiquement autorisées à s'exécuter dans le profil professionnel. Les applications système dotées d'icônes de lanceur sont considérées comme facultatives. Vous pouvez décider de les activer ou non.
Activer les applications système via Google Play
Vous pouvez facilement activer des applications système sur Google Play, et les utilisateurs reçoivent les mises à jour dès qu'elles sont disponibles.
Activer les applications système à l'aide des API Android Framework
Si vous souhaitez que les utilisateurs voient les applications système dès qu'ils commencent à utiliser leurs appareils, activez les applications système dans le cadre du processus de provisionnement des appareils. La DPC active les applications système par nom de package ou par intent à l'aide de DevicePolicyManager.enableSystemApp()
.
Il existe plusieurs façons d'identifier les applications système que vous souhaitez activer et présenter dans votre console EMM aux administrateurs informatiques.
Créer des catalogues d'applications système
Avec cette méthode, chaque appareil détermine quelles applications sont installées sur l'appareil et renvoie ces données à la console EMM. La console EMM affiche ces données de manière dynamique lors de la création de l'application Device Policy, ce qui permet à l'administrateur informatique de gérer les applications pour chaque application.
- Si le profil professionnel n'est pas encore configuré sur l'appareil, extrayez une liste de toutes les applications avec des icônes de lanceur sur un appareil à l'aide de
queryIntentActivities()
:
private List
getAppsWithLauncher() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
return getPackageManager().queryIntentActivities(i, 0);
} - Si le profil professionnel est déjà configuré sur l'appareil, extrayez une liste de toutes les applications du profil professionnel à l'aide de
PackageManager.GET_DISABLED_COMPONENTS
etPackageManager.GET_UNINSTALLED_PACKAGES
. - Recherchez les applications système dans la liste des applications en cochant
FLAG_SYSTEM
, qui indique si une application est installée sur l'image système de l'appareil.
Avantages :
- Fournit aux administrateurs informatiques un aperçu complet des applications sur tous les appareils.
- Permet de contrôler précisément les applications activées.
Inconvénients :
- Étant donné que chaque appareil possède son propre catalogue d'applications, il est difficile d'appliquer un modèle de configuration avec une seule règle à plusieurs types d'appareils.
- Il peut être difficile de présenter le volume d'applications propres aux OEM de manière significative pour les administrateurs informatiques.
Classer les applications système par fonctionnalité
Lorsqu'un administrateur informatique souhaite activer une application système pour un groupe d'appareils, il sélectionne une application générique en fonction de ses fonctionnalités (par exemple, "Navigateur système"). L'outil DPC autorise ensuite toutes les applications système pour cet intent.
Avantages :
- Activation simple basée sur les fonctionnalités pour les administrateurs informatiques.
- Garantit une fonctionnalité cohérente sur divers appareils (au moins pour les cas d'utilisation courants).
Inconvénients :
- Limite les applications système à celles compatibles avec tous les types d'appareils.
- Les administrateurs informatiques peuvent opter pour une version OEM d'une application (telle qu'un navigateur Samsung®), mais pas d'une autre (telle qu'un navigateur LG®).
- Les administrateurs informatiques ne souhaitent peut-être pas transférer plusieurs applications, mais ils ne peuvent pas l'empêcher lorsqu'il existe plusieurs gestionnaires d'intents.
N'accepter que les applications système approuvées
Vous travaillez avec l'OEM pour identifier des packages OEM spécifiques et n'acceptez que ceux-ci dans la console EMM. Cela vous permet également de cataloguer les configurations gérées pour l'application OEM, ce que vous ne connaîtrez pas autrement, car l'application OEM n'est pas hébergée sur Google Play.
Avantages :
- Il simplifie grandement le workflow d'intégration et élimine les cas limites qui posent problème dans les deux premières options.
- Vous pouvez cataloguer les configurations gérées pour l'application OEM et les présenter dans la console EMM pour les administrateurs informatiques.
- Permet d'établir des relations étroites avec les OEM pour assurer la compatibilité avec les appareils phares.
Inconvénients :
- Elles sont moins évolutives et réduisent donc le choix des consommateurs.
Remarques sur l'implémentation pour l'ancien mode
Voici quelques éléments à prendre en compte lorsque vous écrivez votre DPC pour mettre en œuvre l'ancien mode de fonctionnement.
Déterminer si un appareil est compatible avec les profils professionnels
Pour les appareils non compatibles avec les profils professionnels, vous pouvez provisionner l'ancien mode de fonctionnement. Un appareil n'est pas compatible avec les profils professionnels lorsque l'appareil:
- Version d'Android antérieure à 5.0
- Elle dispose d'une faible quantité de mémoire RAM, même si elle exécute une version d'Android ultérieure à la version 5.0.
Pour déterminer si les profils professionnels sont compatibles, le DPC peut utiliser PackageManager.
if (!getPackageManager().hasSystemFeature(
PackageManager.FEATURE_MANAGED_USERS)) {
// Use legacy mode
...
}
Scénarios de test pour votre DPC
Test DPC est une application Open Source fournie par Google permettant de tester les fonctionnalités d'entreprise de votre application DPC de test. Elle est disponible sur GitHub ou Google Play. Vous pouvez utiliser l'outil DPC de test pour:
- Simuler des fonctionnalités dans Android
- Définir et appliquer des règles
- Définir des restrictions d'application et d'intent
- Configurer des profils professionnels
- Configurer des appareils Android entièrement gérés
Bien que l'outil DPC de test soit principalement destiné à tester votre solution d'entreprise pour Android, vous pouvez également l'utiliser comme source d'exemple de code pour les fonctionnalités Android.
Personnaliser la gestion des comptes
Lors du provisionnement des appareils, l'interface utilisateur du système affiche une couleur par défaut dans la barre d'état et un logo par défaut en haut de l'écran. Définissez des couleurs et des logos personnalisés pour assurer une transition visuelle cohérente entre votre DPC et l'interface système, ou autorisez les administrateurs à le faire à l'aide de votre console EMM. Par exemple, un administrateur peut importer le logo d'une entreprise ou personnaliser l'apparence des écrans qui affichent des notifications.
Votre DPC applique les choix de couleur et de logo à l'aide des options DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR
et DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI
.
Pour définir une couleur personnalisée, utilisez EXTRA_PROVISIONING_MAIN_COLOR
pour définir un entier indiquant la couleur dominante à afficher lors du provisionnement de l'appareil. Intégrez l'élément supplémentaire (constant) dans un intent avec ACTION_PROVISION_MANAGED_PROFILE
ou ACTION_PROVISION_MANAGED_DEVICE
.
Pour découvrir comment les entiers sont représentés, consultez Couleur. Pour obtenir un exemple, consultez MAIN_COLOR in
the TestDPC app
.
Pour définir un logo personnalisé, utilisez EXTRA_PROVISIONING_LOGO_URI
afin de définir une image qui s'affichera en haut de l'écran lors de la gestion des appareils. Intégrez l'élément supplémentaire (constant) dans un intent à l'aide de ACTION_PROVISION_MANAGED_PROFILE
ou ACTION_PROVISION_MANAGED_DEVICE
. Assurez-vous que l'image présente une densité de pixels raisonnable pour l'appareil.
Pour consulter un exemple, reportez-vous à LOGO_URI
dans l'application TestDPC.
Méthode du code QR
La méthode de provisionnement des codes QR définit et configure le mode Propriétaire de l'appareil en scannant un code QR à partir de l'assistant de configuration. Le code QR contient une charge utile de paires clé/valeur avec toutes les informations nécessaires à la DPC pour provisionner un appareil.
Votre console EMM doit permettre aux administrateurs informatiques de créer des codes QR pour les appareils qu'ils souhaitent provisionner. L'administrateur informatique envoie les codes QR à leurs utilisateurs finaux, qui les provisionnent en scannant les codes QR.
Cas d'utilisation du provisionnement du code QR
Certains appareils, tels que les tablettes, ne sont pas compatibles avec la technologie NFC. Le provisionnement par code QR est un moyen simple de provisionner un parc distribué d'appareils non compatibles avec la technologie NFC. Un administrateur informatique peut envoyer des codes QR à ses utilisateurs pour permettre le provisionnement géré par l'utilisateur.
Le provisionnement par code QR ne nécessite pas d'identité Google, comme un domaine ou un compte Google. Les organisations qui utilisent Android, mais pas G Suite, n'ont pas d'identité Google.
À l'instar de la technologie NFC, le provisionnement de code QR permet des déploiements en mode kiosque et à usage unique lorsqu'une identité Google (ou toute autre identité) n'est pas nécessaire ni souhaitable. Par exemple, un appareil kiosque dans un magasin n'appartient à personne et ne doit pas avoir d'identité d'utilisateur final.
Créer un code QR
Un code QR valide pour la gestion des codes QR est une chaîne JSON® JSON® encodée au format UTF-8. Vous pouvez inclure les propriétés suivantes dans un code QR valide:
Toujours obligatoire
Obligatoire si une application DPC n'est pas déjà installée sur l'appareil
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM
Recommandé si l'appareil n'est pas déjà connecté au Wi-Fi
Optional
EXTRA_PROVISIONING_LOCALE
EXTRA_PROVISIONING_TIME_ZONE
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER
EXTRA_PROVISIONING_LOCAL_TIME
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_SKIP_ENCRYPTION
Cet exemple génère un code QR valide:
{ "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.emm.android/com.emm.android.DeviceAdminReceiver", "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=", "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://path.to/dpc.apk", "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false, "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork", "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": { "dpc_company_name": "Acme Inc.", "emm_server_url": "https://server.emm.biz:8787", "another_custom_dpc_key": "dpc_custom_value" } }
Processus de provisionnement de code QR
- L'assistant de configuration invite l'utilisateur à appuyer six fois sur l'écran de bienvenue. Les appuis doivent être effectués au même endroit sur l'écran.
- L'assistant de configuration invite l'utilisateur à se connecter à Internet afin qu'il puisse télécharger un lecteur de code QR.
- Les services Google Play téléchargent un module contenant un moteur de reconnaissance de code QR.
- L'utilisateur scanne le code QR fourni par son administrateur informatique.
- L'assistant de configuration télécharge votre application DPC et lance le processus de provisionnement du propriétaire de l'appareil à l'aide de
ACTION_PROVISION_MANAGED_DEVICE
.
Méthode des comptes Google Play d'entreprise
Un DPC peut utiliser la méthode de provisionnement des comptes Google Play d'entreprise pour configurer le mode propriétaire de l'appareil ou le mode propriétaire de profil. Cette méthode de provisionnement cible les organisations qui n'utilisent pas G Suite actuellement.
La méthode de provisionnement des comptes Google Play d'entreprise utilise la bibliothèque d'assistance DPC. Cette bibliothèque cliente assure le bon fonctionnement des comptes Google Play d'entreprise. Il assure également la compatibilité avec les futures mises à jour du processus de provisionnement des comptes Google Play d'entreprise.
Conditions préalables au provisionnement des appareils
- L'ID d'entreprise est créé et enregistré avec une identité EMM, et l'ESA est défini, comme décrit dans Créer et enregistrer une entreprise.
- L'identité de l'entreprise de l'utilisateur est connue de votre console EMM.
- L'utilisateur peut se connecter à l'application DPC à l'aide des identifiants acceptés par votre console EMM, généralement des identifiants de messagerie d'entreprise.
Configurer le mode Propriétaire du profil
Vous pouvez provisionner le mode de fonctionnement propriétaire du profil sur un appareil utilisé dans un scénario BYOD en tant qu'appareil personnel.
- L'utilisateur télécharge manuellement votre DPC depuis Google Play et la lance.
- La DPC provisionne le profil professionnel à l'aide de
ACTION_PROVISION_MANAGED_PROFILE
. - Suivez la dernière étape de configuration.
Configurer le mode Propriétaire de l'appareil
Vous devez provisionner le mode de fonctionnement propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après le rétablissement de la configuration d'usine. Le mode propriétaire de l'appareil ne peut pas être configuré sur un autre appareil.
Lors de la configuration de l'appareil, l'utilisateur saisit un jeton spécifique à l'invite DPC lorsqu'il est invité à ajouter un compte. Un jeton est au format "afw#DPC_IDENTIFIER". Pour un fournisseur EMM nommé ACME, "afw#acme" installe le fichier DPC par défaut du fournisseur EMM ACME. Chaque fournisseur EMM doit demander un identifiant DPC spécifique à Google avant de pouvoir l'utiliser dans le processus de provisionnement.
- L'utilisateur allume un appareil neuf ou réinitialisé et lance l'assistant de configuration.
- Lorsqu'il est invité à ajouter un compte, l'utilisateur saisit un jeton spécial au format "afw#DPC_IDENTIFIER", qui identifie la DPC pour votre EMM.
- En utilisant l'identifiant DPC dans le jeton, l'assistant de configuration ajoute un compte Google temporaire à l'appareil. Ce compte temporaire sert uniquement à télécharger l'application DPC pour votre EMM depuis Google Play. Il est supprimé lors des étapes de la configuration finale.
- La DPC provisionne l'appareil à l'aide de
ACTION_PROVISION_MANAGED_DEVICE
. - Suivez la dernière étape de configuration.
Méthode du compte Google
Un DPC peut utiliser la méthode de provisionnement de compte Google pour configurer le mode propriétaire de l'appareil, le mode propriétaire de profil ou l'ancien mode. Avec la méthode de provisionnement des comptes Google, l'outil DPC guide l'utilisateur tout au long de la procédure de provisionnement après l'ajout de son compte Google lors de la configuration initiale de l'appareil.
Lorsqu'un utilisateur saisit les identifiants de son compte Google:
- Le serveur d'authentification de Google authentifie le compte utilisateur.
- Le serveur d'authentification communique ensuite avec le serveur d'entreprise pour vérifier si le domaine du compte est enregistré en tant que domaine G Suite ou domaine géré par EMM.
- Si tel est le cas, le système télécharge automatiquement l'application DPC associée au domaine depuis Google Play et l'installe.
Configurer le mode Propriétaire du profil
Vous pouvez configurer le mode d'opération du propriétaire du profil lors de la configuration initiale d'un appareil ou lorsque l'utilisateur ajoute un compte dans Paramètres > Ajouter un compte.
- L'authentification du compte est lancée par l'assistant de configuration ou depuis Paramètres > Ajouter un compte.
GMSCore lance le provisionnement du profil professionnel à l'aide de
[PROVISION_FROM_TRUSTED_SOURCE]
.L'application DPC est automatiquement téléchargée sur l'appareil et lancée à l'aide du gestionnaire
ACTION_GET_PROVISIONING_MODE
afin de vérifier que le provisionnement du profil professionnel est compatible avec l'application DPC.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
: informations supplémentaires pour le profil professionnel, telles que l'adresse e-mail. Le DPC recevra également is_setup_wizard ici dans le cadre de ce bundle. Ce groupe sera inclus dans les gestionnairesACTION_GET_PROVISIONING_MODE
etACTION_ADMIN_POLICY_COMPLIANCE
.
EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
: nom du compte authentifié à migrer vers le nouveau profil professionnel.La plate-forme effectue le provisionnement du profil professionnel.
Une fois le profil professionnel provisionné, la DPC reçoit la diffusion
ACTION_PROFILE_PROVISIONING_COMPLETE
. Le gestionnaireACTION_ADMIN_POLICY_COMPLIANCE
de la DPC est lancé dans le profil professionnel.
Une fois le profil professionnel créé, la DPC s'exécute également dans le profil professionnel. La DPC applique des règles pour ce compte Google géré, s'assure que l'appareil n'est pas compromis et vérifie que les règles sont appliquées (par exemple, un mot de passe).La DPC du profil personnel se désactive automatiquement ou l'utilisateur la supprime.

Configurer le mode propriétaire de l'appareil ou COPE
Vous devez provisionner le mode de fonctionnement propriétaire de l'appareil lors de la configuration initiale d'un nouvel appareil ou après le rétablissement de la configuration d'usine. Vous ne pouvez pas ajouter le mode Propriétaire de l'appareil à un autre moment.
- L'authentification du compte est lancée par un utilisateur à partir de l'assistant de configuration.
- GMSCore lance la gestion des comptes des propriétaires d'appareils à l'aide de
[PROVISION_FROM_TRUSTED\SOURCE]
. 3.L'application DPC est automatiquement téléchargée sur l'appareil et lancée via le gestionnaireGET_PROVISIONING_MODE
afin de choisir le mode de provisionnement souhaité.EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
: informations supplémentaires pour le profil professionnel, telles que les paramètres régionaux, le Wi-Fi et l'adresse e-mail. Le DPC recevra également is_setup_wizard ici dans le cadre de ce bundle. Ce groupe sera inclus dans les gestionnairesACTION_GET_PROVISIONING_MODE
etACTION_ADMIN_POLICY_COMPLIANCE
. - La plate-forme provisionne l'appareil selon le mode de provisionnement souhaité.
Lorsque l'appareil est provisionné, la DPC reçoit ces diffusions et le gestionnaire
ACTION_ADMIN_POLICY_COMPLIANCE
de la DPC est lancé:
ACTION_READY_FOR_USER_INITIALIZATION
ACTION_PROFILE_PROVISIONING_COMPLETE
.La DPC utilise la valeur de
Global.DEVICE_PROVISIONED
pour vérifier que l'appareil est neuf ou dont la configuration d'usine a été rétablie (non provisionné) :
0 : non géré.
1 : Géré.La DPC termine le processus de provisionnement en transférant les règles pour cet appareil géré, en s'assurant que l'appareil n'est pas compromis et en vérifiant qu'elles sont appliquées (par exemple, la demande d'un mot de passe).

Configurer l'ancien mode
Vous pouvez configurer l'ancien mode de fonctionnement pendant la configuration initiale d'un appareil ou lorsque l'utilisateur ajoute un compte dans Paramètres > Ajouter un compte. Les conditions requises pour que la plate-forme Google Play d'entreprise soit disponible pour les utilisateurs disposant d'un compte Google sont les suivantes:
- Le compte Google fait partie d'un domaine Google géré.
- Le domaine Google géré est configuré pour Android avec un fournisseur EMM lié à l'API EMM Google Play.
Si vous souhaitez uniquement gérer les applications sur les anciens appareils, vous n'avez pas besoin d'application de contrôle des règles relatives aux appareils. Dans ce cas, l'utilisateur ajoute son compte Google dans Paramètres > Ajouter un compte. La gestion des applications comprend l'organisation des applications recommandées, la mise à disposition d'applications privées, l'achat de licences et leur distribution.
Si vous souhaitez que votre DPC ajoute le compte Google:
- L'utilisateur télécharge votre DPC depuis Google Play et le lance.
- La DPC ajoute le compte Google géré à l'aide de
AccountManager.addAccount()
. Consultez TestDPC pour voir un exemple d'implémentation d'un compte Google spécifique à l'aide deAccountManager.KEY_ACCOUNT_NAME
. - (Facultatif) La DPC se définit comme administrateur de l'appareil. En tant qu'administrateur de l'appareil, l'application DPC dispose de fonctionnalités de gestion des appareils autres que la gestion des applications.
Remarques concernant l'implémentation pour la méthode de compte Google
La DPC doit détecter le flux d'authentification du compte Google en recherchant des options supplémentaires dans l'intent de lancement utilisé (voir
LaunchIntentUtil
):- Compte de type
android.accounts.Account
: indique que le compte a été ajouté à partir de l'assistant de configuration ou depuis Paramètres > Ajouter un compte, ce qui exige que l'application DPC lancée gère l'appareil ou le profil. is_setup_wizard
de type booléen : si la valeur est définie sur "true", le DPC a été lancé dans l'assistant de configuration avant la fin de l'assistant de configuration. Sinon, à partir de Settings > Add account (Paramètres > Ajouter un compte) ou d'un autre flux.
Pour vous assurer simplement que la DPC a été lancée dans le cadre de la méthode de compte Google, procédez comme suit:
- Compte de type
boolean isSynchronousAuthLaunch(Intent launchIntent) { return launchIntent.hasExtra(“is_setup_wizard”); }
La DPC ne doit pas appeler
finish()
avant la fin de la configuration. Elle doit également renvoyer un code de résultat positif (tel queRESULT_OK
), car la DPC est lancée avecstartActivityForResult()
et attend un résultat.La DPC doit attendre le code de résultat du processus de provisionnement avant d'appeler
finish()
si le flux de configuration de l'application DPC atteint le point d'envoi d'un intentACTION_PROVISION_*
. Utilisez les rappelsstartActivityForResult()
etonActivityResult()
lors du lancement des intentsACTION_PROVISION_*
. (VoirLaunchActivity
etSetupSyncAuthManagement
pour des exemples.)En raison de la nature potentiellement asynchrone du processus de configuration, la DPC ne peut pas utiliser le code de résultat
RESULT_OK
pour indiquer que le provisionnement a réussi. Le seul moyen garanti est de s'appuyer sur des rappelsDeviceAdminReceiver
pour le provisionnement réussi.RESULT_CANCELED
indique que l'utilisateur a effectué une sauvegarde dans une partie synchrone du flux de configuration et que l'application DPC doit réagir en conséquence.Dans cet exemple, la DPC lance le provisionnement et attend le code de résultat d'une activité:
Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE); startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
...
@Override public void onActivityResult(int req, int res, Intent i) { if (req == REQUEST_MANAGED_PROFILE) { if (res == Activity.RESULT_OK) { setResult(Activity.RESULT_OK); finish(); } else { Toast.makeText(this, “Provisioning failed”, Toast.LENGTH_SHORT).show(); } } }
- La DPC ne doit pas tenter de configurer le mode de fonctionnement du propriétaire de l'appareil si ce dernier est déjà provisionné (voir
ProvisioningStateUtil.isDeviceProvisioned()
). Dans cet exemple, la DPC vérifie si l'appareil est provisionné:
public static boolean isDeviceProvisioned(Context context) { ContentResolver cr = context.getContentResolver(); return Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0; }
- Facultatif. La DPC peut utiliser le
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
supplémentaire lors du lancement de la gestion des comptes pour transmettre les informations d'état à sonDeviceAdminReceiver
(qui, dans le cas du propriétaire du profil, est exécuté dans le profil professionnel). L'outil de test DPC de test utilise ce niveau supplémentaire pour saisir un autre ensemble d'activités dans le flux du compte Google une fois le provisionnement terminé. Pour en savoir plus, consultezDeviceAdminReceiver
.
public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver { @Override public void onProfileProvisioningComplete(Context context, Intent intent) { // Retrieve the admin extras bundle, which we can use to determine the original context for // Test DPC’s launch. PersistableBundle extras = intent.getParcelableExtra( EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE); ...
- Pour configurer un profil professionnel, la DPC doit migrer le compte ajouté vers le nouveau profil professionnel. Pour ce faire, la DPC doit transmettre le compte fourni dans l'intent de lancement pour
ACTION_PROVISION_MANAGED_PROFILE
. - La DPC doit fournir à l'utilisateur une incitation à l'action claire (par exemple, un bouton "Finish") pour quitter l'application à la fin de la configuration afin qu'il ne pense pas avoir atteint une impasse dans le flux.
- La DPC doit utiliser le thème ou la bibliothèque de mise en page de l'assistant de configuration pour que l'expérience utilisateur soit fluide et bien intégrée.
Méthode NFC
Un DPC peut utiliser la méthode de provisionnement NFC pour configurer le mode propriétaire de l'appareil. Dans la méthode de provisionnement NFC (ou bosse NFC), vous créez une application de programmeur NFC contenant les règles initiales ainsi que la configuration, les paramètres et les détails de provisionnement du Wi-Fi requis par votre client pour configurer le mode de fonctionnement propriétaire de l'appareil. Lorsque vous ou votre client installez l'application de programmateur NFC sur un appareil Android, celui-ci devient l'appareil de programmation.
Pour provisionner un appareil, l'administrateur informatique prend un nouvel appareil prêt à l'emploi et le compare à l'appareil programmeur. La connexion transfère les configurations à l'appareil afin qu'il se connecte à Internet et télécharge les règles et paramètres appropriés. L'appareil est ensuite géré par votre DPC.
Une fois qu'un appareil est provisionné, Google Play affiche pendant une courte période du contenu non géré grand public au lieu des applications et des collections approuvées qui doivent s'afficher. Ce délai peut être compris entre quelques minutes et une heure.
Créer l'application et le dispositif de programmation NFC
- Téléchargez l'exemple d'application de programmeur NFC auprès de la communauté EMM sur Google Cloud Connect. Vous pouvez utiliser l'exemple d'application tel quel ou le modifier pour utiliser vos valeurs par défaut. Consultez l'exemple de code Paramètres par défaut.
- Installez l'application de programmateur NFC sur l'appareil qui deviendra le programmeur.
- Lancez le programmeur NFC et sélectionnez Charger les valeurs par défaut pour com.example.android.apis. (Ce texte peut varier en fonction des paramètres par défaut que vous avez définis.)
Provisionner un appareil client
- Branchez l'appareil de programmation avec un nouvel appareil ou un appareil qui a été réinitialisé.
- Vérifiez que l'appareil reste sur l'écran de accueil initial qui s'affiche au démarrage. Le texte est spécifié dans
Ready to send:{...}
dans l'application de programmation. - Attendez que la DPC s'affiche :
- Chiffre l'appareil.
- S'il s'agit d'un appareil CDMA (Code-Division Multiple Access) : active le téléphone lorsqu'une interface utilisateur de téléphonie est affichée (aucune interaction requise).
- Permet de configurer la connexion Wi-Fi.
- Télécharge le fichier .apk pour com.example.android.apis.
- installe com.example.android.apis.
- Définit l'exemple d'administrateur d'appareil dans com.example.android.apis comme propriétaire de l'appareil.
- Affiche un toast lorsque le propriétaire de l'appareil est activé.
- Une fois revenu à la page d'accueil (l'assistant de configuration est ignoré automatiquement), vérifiez que com.example.android.apis est défini comme propriétaire de l'appareil :
- Dans Paramètres > Sécurité > Administrateurs de l'appareil, assurez-vous que vous ne pouvez pas supprimer l'exemple d'administrateur de l'appareil.
- Dans Paramètres > Utilisateurs > Utilisateurs et profils > Vous (propriétaire), assurez-vous que le propriétaire est le seul compte disponible (un appareil ne peut être associé qu'à un seul propriétaire d'appareil actif à la fois).
Exemples de code de l'application de programmation NFC
Les sections de l'application de programmation NFC que vous trouvez particulièrement utiles comportent des commentaires intégrés. Pour afficher l'intégralité de l'exemple de code dans l'application de programmation NFC, décompressez le fichier d'exemple .apk à l'aide d'un programme de décodage Java.
Méthode initializePropertyUI()
La méthode initializePropertyUI()
initialise les éléments d'interface utilisateur (zones de texte et cases à cocher modifiables) dans l'application de programmeur NFC. Les modifications apportées à ces éléments sont synchronisées avec les paires clé-valeur (KVP) contenues dans la variable mProps
. La variable mProps
est à terme envoyée à un appareil sur une connexion NFC.
private void initializePropertyUI(int paramInt1, int paramInt2, final String paramString) { Log.d("DeviceProvisioningProgrammerSample","initializeProperty for " + paramString); final EditText localEditText = (EditText)findViewById(paramInt1); final CheckBox localCheckBox =(CheckBox)findViewById(paramInt2); /* Here we initialize text boxes so that when their text is edited the changes are synced to mProps. */ if(localEditText != null) localEditText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable paramAnonymousEditable) { } public void beforeTextChanged(CharSequence paramAnonymousCharSequence, int paramAnonymousInt1, int paramAnonymousInt2, int paramAnonymousInt3) { } public void onTextChanged(CharSequence paramAnonymousCharSequence, int paramAnonymousInt1, int paramAnonymousInt2, in paramAnonymousInt3) { if ((localCheckBox != null) && (localCheckBox.isChecked())) { DeviceProvisioningProgrammerSample.this.mProps.put(paramString, localEditText.getText().toString()); DeviceProvisioningProgrammerSample.this.refreshMessageView(); } } }); /* Here we initialize check boxes, so that when they are unchecked, the edit boxes are disabled, and the corresponding KVPs are removed from mProps. When they are checked the KVPs are re added, and the text boxes are enabled. */ if (localCheckBox != null) localCheckBox.setOnCheckedChangeListener (new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton paramAnonymousCompoundButton, boolean paramAnonymousBoolean) { Log.d("DeviceProvisioningProgrammerSample", "onCheckedChanged for " + localEditText.getText().toString() + " isChecked = " + paramAnonymousBoolean); if (paramAnonymousBoolean) { localEditText.setEnabled(true); DeviceProvisioningProgrammerSample.this.mProps.put(paramString, localEditText.getText().toString()); DeviceProvisioningProgrammerSample.this.refreshMessageView(); return; } localEditText.setEnabled(false); DeviceProvisioningProgrammerSample.this.mProps.remove(paramString); DeviceProvisioningProgrammerSample.this.refreshMessageView(); } }); }
Paramètres par défaut
Cet exemple de code définit les valeurs par défaut qui seront envoyées à un appareil via une connexion NFC. Certains paramètres configurables ne sont pas inclus dans l'exemple, mais vous devrez peut-être les inclure dans votre implémentation. (Vous trouverez des paramètres qui ne figurent pas dans l'exemple sur cette page.)
public void loadDefaults1(View paramView) { /* This EditText holds the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME */ ((EditText)findViewById(2131034114)).setText("com.example.android.apis"); ((CheckBox)findViewById(2131034113)).setChecked(true); /* This EditText holds the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION */ ((EditText)findViewById(2131034116)).setText ("https://sites.google.com/site/apidemodownload/somepage/ApiDemos.apk"); ((CheckBox)findViewById(2131034115)).setChecked(true); /* This EditText holds the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM (note: must be URL-safe)*/ ((EditText)findViewById(2131034118)).setText("ZYk5xsY0xqic51CTqB9kLiMLqwk"); ((CheckBox)findViewById(2131034117)).setChecked(true); /* This EditText holds the KVP for EXTRA_PROVISIONING_WIFI_SSID */ ((EditText)findViewById(2131034120)).setText("\"GoogleGuest\""); ((CheckBox)findViewById(2131034119)).setChecked(true); /* This EditText holds the KVP for EXTRA_PROVISIONING_TIME_ZONE*/ ((EditText)findViewById(2131034122)).setText("Europe/London"); ((CheckBox)findViewById(2131034121)).setChecked(true); ((CheckBox)findViewById(2131034123)).setChecked(false); /* This EditText holds the KVP for EXTRA_PROVISIONING_LOCALE ((EditText)findViewById(2131034126)).setText("en_GB"); ((CheckBox)findViewById(2131034125)).setChecked(true); }
Méthode onCreate()
La méthode onCreate()
initialise l'application de programmation NFC, ainsi que ses fonctions et ses capacités.
Les chaînes android.app.extra correspondent aux chaînes décrites dans la documentation DevicePolicyManager
. Par exemple : DevicePolicyManager.EXTRA_ PROVISIONING_WIFI_SSID ==
"android.app.extra.PROVISIONING_WIFI_SSID"
.
protected void onCreate(Bundle paramBundle) { Log.d("DeviceProvisioningProgrammerSample", "onCreate"); super.onCreate(paramBundle); setContentView(2130903040); this.mTextView = ((TextView)findViewById(2131034112)); this.mProps = new Properties(); initializePropertyUI(2131034114, 2131034113, "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME"); initializePropertyUI(2131034116, 2131034115, "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION"); initializePropertyUI(2131034118, 2131034117, "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM"); initializePropertyUI(2131034120, 2131034119, "android.app.extra.PROVISIONING_WIFI_SSID"); initializePropertyUI(2131034122, 2131034121, "android.app.extra.PROVISIONING_TIME_ZONE"); initializePropertyUI(2131034124, 2131034123, "android.app.extra.PROVISIONING_LOCAL_TIME"); initializePropertyUI(2131034126, 2131034125, "android.app.extra.PROVISIONING_LOCALE"); refreshMessageView(); /* Next we get the default NFC adapter for the Android device being used, and define CreateNdefMessageCallback() for that adapter, which is invoked when another NFC device capable of NDEF push (Android Beam) is within range. CreateNdefMessageCallback is an interface that has one abstract method that needs to be defined. That method, createNdefMessage, creates the message to be pushed. */ NfcAdapter.getDefaultAdapter(this).setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() { public NdefMessage createNdefMessage(NfcEvent paramAnonymousNfcEvent) { /* Here ndefMessage creates an output stream which contains the values from mProps. */ Log.d("DeviceProvisioningProgrammerSample", "Sending Nfc"); ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); try { DeviceProvisioningProgrammerSample.this.mProps.store(localByteArrayOutputStream, DeviceProvisioningProgrammerSample.this.getString(2130968578)); DeviceProvisioningProgrammerSample.this.mTextView.post(new Runnable() { public void run() { DeviceProvisioningProgrammerSample.this.refreshMessageView(); } }); /* Here NdefMessage is created containing an NdefRecord. The NdefRecord contains its record type, and a byte array derived from the mProps output stream. */ return new NdefMessage(new NdefRecord[] { NdefRecord.createMime("application/com.android.managedprovisioning", localByteArrayOutputStream.toByteArray()) }); } catch (IOException localIOException) { while (true) Log.e("DeviceProvisioningProgrammerSample", "io exception", localIOException); } } } , this, new Activity[0]); }
Ressources supplémentaires
La section NFC avancée décrit des sujets avancés sur NFC, comme l'utilisation de différentes technologies de tag, l'écriture de tags NFC et le dispatching au premier plan.
Méthode d'installation DPC manuelle
Pour configurer le mode propriétaire du profil à l'aide de la méthode manuelle de provisionnement des installations DPC, l'utilisateur télécharge votre DPC depuis Google Play et l'installe. Ensuite, l'outil DPC guide l'utilisateur tout au long du processus pour configurer le propriétaire du profil pour le compte Google géré.
La DPC peut ajouter le compte Google géré avant ou après la création du profil professionnel. Par exemple, la DPC peut créer un profil professionnel en fonction des identifiants EMM d'un utilisateur au lieu de demander d'abord le compte Google géré.
Configurer le mode Propriétaire du profil
Ajoutez d'abord le compte Google géré
- L'utilisateur télécharge votre DPC depuis Google Play et l'installe.
- La DPC ajoute le compte Google géré avant de créer le profil professionnel à l'aide de
AccountManager.addAccount()
. - La DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel à l'aide de la commande
ACTION_PROVISION_MANAGED_PROFILE
: provisionne le profil professionnel.
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
: informations supplémentaires sur le profil professionnel, telles que les paramètres régionaux, le Wi-Fi et l'adresse e-mail.
EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
: nom du compte authentifié à migrer vers le nouveau profil professionnel. - La DPC du profil professionnel termine le processus de provisionnement. Une fois le profil professionnel créé, la DPC s'exécute également dans le profil professionnel. La DPC du profil professionnel termine le processus de provisionnement en transmettant les règles pour ce compte Google géré, en s'assurant que l'appareil n'est pas compromis et en vérifiant qu'elles sont appliquées (par exemple, un mot de passe requis).
- Une fois le profil professionnel provisionné, la DPC reçoit la diffusion
ACTION_PROFILE_PROVISIONING_COMPLETE
. - La DPC du profil personnel se désactive automatiquement ou l'utilisateur la supprime.

Commencez par créer le profil professionnel
- L'utilisateur télécharge votre DPC depuis Google Play et l'installe.
- La DPC commence à s'exécuter dans le profil personnel et lance le processus de création d'un profil professionnel à l'aide de la commande
ACTION_PROVISION_MANAGED_PROFILE
: provisionne le profil professionnel.
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
: informations supplémentaires sur le profil professionnel, telles que les paramètres régionaux, le Wi-Fi et l'adresse e-mail. - La DPC ajoute le compte Google géré à l'aide de
AccountManager.addAccount()
. - La DPC reçoit la diffusion
ACTION_PROFILE_PROVISIONING_COMPLETE
et litEXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
. - La DPC du profil professionnel termine le processus de provisionnement. Une fois le profil professionnel créé, la DPC s'exécute également dans le profil professionnel. La DPC du profil professionnel termine le processus de provisionnement en transmettant les règles pour ce compte Google géré, en s'assurant que l'appareil n'est pas compromis et en vérifiant qu'elles sont appliquées (par exemple, un mot de passe requis).
- La DPC active le profil professionnel à l'aide de
DevicePolicyManager.setProfileEnabled()
. - La DPC du profil personnel se désactive automatiquement ou l'utilisateur la supprime.

Configurer l'ancien mode
Vous pouvez configurer l'ancien mode de fonctionnement pendant la configuration initiale d'un appareil ou lorsque l'utilisateur ajoute un compte dans Paramètres > Ajouter un compte. Les conditions requises pour que la plate-forme Google Play d'entreprise soit disponible pour les utilisateurs disposant d'un compte Google sont les suivantes:
- Le compte Google fait partie d'un domaine Google géré.
- Le domaine Google géré est configuré pour Android dans l'entreprise, avec un fournisseur EMM lié à l'API EMM Google Play.
Si vous souhaitez uniquement gérer les applications sur les anciens appareils, vous n'avez pas besoin d'application de contrôle des règles relatives aux appareils. Dans ce cas, l'utilisateur ajoute son compte Google dans Paramètres > Ajouter un compte. La gestion des applications comprend l'organisation des applications recommandées, la mise à disposition d'applications privées, l'achat de licences et leur distribution.
Si vous souhaitez que votre DPC ajoute le compte Google:
- L'utilisateur télécharge votre DPC depuis Google Play et le lance.
- La DPC ajoute le compte Google géré à l'aide de
AccountManager.addAccount()
. Consultez TestDPC pour voir un exemple d'implémentation d'un compte Google spécifique à l'aide deAccountManager.KEY_ACCOUNT_NAME
. - (Facultatif) La DPC se définit comme administrateur de l'appareil. En tant qu'administrateur de l'appareil, l'application DPC dispose de fonctionnalités de gestion des appareils autres que la gestion des applications.