Certaines applications conçues pour les entreprises comportent des paramètres intégrés appelés applications gérées de configuration que les administrateurs informatiques peuvent configurer à distance. Par exemple, une application peut proposent la possibilité de ne synchroniser les données que lorsqu'un appareil est connecté au Wi-Fi. Fournir Les administrateurs informatiques peuvent spécifier des configurations gérées et les appliquer à est obligatoire pour tous les ensembles de solutions. Il existe deux façons de prendre en charge les configurations gérées dans votre console EMM:
- Créez votre propre UI et appliquez les paramètres via
managedConfiguration
dans ApplicationPolicy : - Ajoutez l'iFrame de configurations gérées à votre console (instructions détaillées
ci-dessous) et appliquer les paramètres via
managedConfigurationTemplate
dans ApplicationPolicy
L'iFrame de configurations gérées est une interface utilisateur intégrable qui permet aux administrateurs informatiques enregistrer, modifier et supprimer les paramètres de configuration gérée d'une application. Vous pouvez, par exemple, afficher un bouton (ou un élément d'interface utilisateur similaire) dans les détails d'une application ou qui ouvre l'iFrame.
Actions disponibles pour les administrateurs informatiques depuis l'iFrame
<ph type="x-smartling-placeholder">![iFrame CM](https://developers.google.cn/static/android/work/play/emm-api/images/mcm_iframe.png?authuser=0000&hl=fr)
Définir et enregistrer des profils de configuration
L'iFrame récupère et affiche le schéma des configurations gérées pour
l'application spécifiée. Dans l'iFrame, un administrateur informatique peut définir des configurations et enregistrer
en tant que profil de configuration. Chaque fois qu'un administrateur informatique enregistre
profil de configuration, l'iFrame renvoie un identifiant unique appelé mcmId
.
Les administrateurs informatiques peuvent ainsi créer plusieurs profils pour le même
l'application.
Modifier les profils de configuration
L'iFrame peut afficher les profils de configuration enregistrés. Les administrateurs informatiques peuvent mettre à jour les paramètres d’un profil et enregistrer leurs modifications.
Supprimer des profils de configuration
Les administrateurs informatiques peuvent supprimer des profils de configuration depuis l'iFrame. Cette fonctionnalité est sont désactivées par défaut.
Ajouter l'iFrame à votre console
Générer un jeton Web
Utiliser enterprises.webTokens.create
pour générer un jeton Web qui identifie l'entreprise, et définir iframeFeature
sur
MANAGED_CONFIGURATIONS
Vous devez inclure le jeton renvoyé, ainsi que d'autres
lors de l'affichage de l'iFrame dans votre console.
Afficher l'iFrame
Voici un exemple d'affichage de l'iFrame des configurations gérées:
<script src="https://apis.google.com/js/api.js"></script>
<div id="container" style="width: 1000px; height: 1000px"></div>
<script>
gapi.load('gapi.iframes', function() {
var options = {
'url': 'https://play.google.com/managed/mcm?token=web_token&packageName=app_package_name',
'where': document.getElementById('container'),
'attributes': { style: 'height:1000px', scrolling: 'yes'}
}
var iframe = gapi.iframes.getContext().openChild(options);
});
</script>
Paramètres d'URL
Le tableau ci-dessous liste tous les paramètres disponibles pour l'URL du cadre iFrame.
Paramètre | Obligatoire | Description |
---|---|---|
token |
Oui | Jeton renvoyé par Enterprises.createWebToken . |
packageName |
Oui | ID produit de l'application. Par exemple :
com.google.android.gm |
mcmId |
Non | ID d'un profil de configuration gérée. |
canDelete |
Non | Si la valeur est TRUE, active un bouton dans l'iFrame qui permet au service informatique aux administrateurs de supprimer le profil des configurations gérées. Si FALSE (valeur par défaut) : le bouton est désactivé. |
locale |
Non | Une structure BCP 47 language utilisée pour localiser le contenu dans l'iFrame. Si ce n'est pas le cas spécifié, la valeur par défaut est en_US. |
Événements iFrame
Vous devez également gérer les événements suivants dans le cadre de votre intégration.
Événement | Description |
---|---|
onconfigupdated |
L'utilisateur met à jour un profil de configuration gérée existant ou en crée un.
1. Cette opération renvoie un objet contenant:
{ "mcmId": The ID of the managed configurations profile. "name": The name of the updated or newly created managed configurations profile. } |
onconfigdeleted |
L'utilisateur supprime un profil de configuration gérée existant. Cela renvoie
un objet contenant:
{ "mcmId": The ID of the managed configurations profile. } |
L'exemple ci-dessous montre comment écouter onconfigupdated
:
iframe.register('onconfigupdated', function(event) {
console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);
Mises à jour du schéma de configurations gérées d'une application
Si le développeur met à jour le schéma de configuration gérée d'une application, les profils de configuration sont automatiquement mis à jour. Par exemple, si le développeur supprime une option, l'option est supprimée de toutes les configurations pour l'application. Si le développeur ajoute une option, la valeur par défaut du paramètre (définie par le développeur) sera ajoutée à toutes les configurations existantes. pour l'application.
Appliquer des profils de configuration à la stratégie
Chaque profil de configuration est enregistré en tant que mcmId
unique. Pour appliquer un
profil de configuration à une règle, spécifiez mcmId
dans
managedConfigurationTemplate
Comprendre le comportement de sélection/désélection
L'iFrame des configurations gérées permet désormais aux administrateurs informatiques de désélectionner explicitement les restrictions d'application d'une configuration gérée quand elles n'en ont pas besoin. Ce est un changement par rapport au comportement antérieur et peut avoir un impact sur les restrictions sont envoyés à votre application en fonction de la sélection de l'administrateur.
La section ci-dessous décrit le comportement de l'iFrame de configurations gérées avec ce nouveau modèle de désélection et ce que les développeurs peuvent espérer recevoir leur configuration gérée.
Utiliser la valeur par défaut pour une restriction d'application
Si les restrictions de l'application sont de type bool, choice, entier, sélection multiple ou chaîne sont fournies avec une valeur par défaut, celle-ci est appliquée de restriction d'application lorsque les administrateurs enregistrent la configuration gérée si vous modifiez cette restriction d'application.
Par exemple, avec le schéma de restriction d'application suivant:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
Sans utiliser les valeurs par défaut pour les restrictions des applications
Si les restrictions de l'application sont de type bool, choice, entier, sélection multiple ou chaîne ne sont pas fournies avec une valeur par défaut, ces restrictions de l'application inclus lorsque les administrateurs enregistrent la configuration gérée sans appliquer les modifications sur cette restriction d'application.
Par exemple, avec le schéma de restriction d'application suivant:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [
// Empty
]
Utiliser des groupes dans votre schéma
Cette section concerne les lots. restrictions des applications:
Avoir au moins une restriction d'application enfant avec une valeur par défaut dans une restriction d'application de bundle
Si vous êtes dans le lot une restriction d'application de type bool au moins une des restrictions d'application enfant ; choice, entier, sélection multiple ou chaîne sont fournies avec une valeur par défaut, celle-ci est appliquée de la restriction de l'application et celles sans valeur par défaut seront exclues Lorsque les administrateurs enregistrent la configuration gérée sans y apporter de modifications. une restriction liée aux applications.
"restrictions": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key_1",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
},
{
"key": "bool_key_2",
"restrictionType": "bool"
// defaultValue absent.
}
]
}]
Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key_1",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
},
// The bool_key_2 child app restriction is not included.
]
}]
Toutes les restrictions des applications enfants sans valeurs par défaut
Si vous êtes dans le lot restriction d'application toutes les restrictions d'applications enfants avec le type bool, choice, entier, sélection multiple ou chaîne ne sont pas fournis avec une valeur par défaut, le lot La restriction d'application ne sera pas incluse lorsque les administrateurs enregistreront la configuration gérée sans modifier cette restriction d'application.
Par exemple, avec le schéma de restriction d'application suivant:
"restrictions": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key_1",
"restrictionType": "bool",
// defaultValue absent.
},
{
"key": "bool_key_2",
"restrictionType": "bool"
// defaultValue absent.
}
]
}]
Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [
// Empty
]
Utiliser bundle_array dans votre schéma
Cette section s'applique à bundle_array. les restrictions de l'application. Cela n'a pas d'importance si les restrictions de l'application enfant associées au type bool, choice, entier, sélection multiple ou chaîne ont des valeurs par défaut.
Par exemple, avec le schéma de restriction d'application suivant:
"restrictions": [{
"key": "bundle_array_key",
"restrictionType": "bundleArray",
"nestedRestriction": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": true
}
}]
}]
}]
La restriction d'application bundle_array doit comporter au moins un groupe de bundle
Si au moins un lot est défini, bundle_array une restriction liée aux applications sera incluse lorsque les administrateurs enregistreront la configuration gérée.
Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [{
"key": "bundle_array_key",
"restrictionType": "bundleArray",
"nestedRestriction": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": true
}
}]
}]
}]
Si une restriction ou un groupe de groupes est enregistré, toutes les restrictions/tous les groupes
dans l'ensemble du bundle_array
sera défini par la priorité suivante:
- la valeur choisie par l'administrateur
- la valeur par défaut indiquée pour ce groupe ou cette restriction.
- la valeur affichée dans le cadre iFrame s'il n'y a pas de valeur par défaut ;
Aucun groupe de bundle dans la restriction d'application bundle_array
bundle_array La restriction d'application ne sera pas incluse lorsque les administrateurs enregistreront la configuration gérée sans ajouter de lot groupe. Les restrictions des applications envoyées à l'appareil seront les suivantes:
"restrictions": [
// Empty
]