Configurer les applis

Certaines applications conçues pour les entreprises incluent des paramètres intégrés appelés configurations gérées que les administrateurs informatiques peuvent configurer à distance. Par exemple, une application peut avoir la possibilité de ne synchroniser les données que lorsqu'un appareil est connecté au Wi-Fi. Tous les ensembles de solutions nécessitent de donner aux administrateurs informatiques la possibilité de spécifier des configurations gérées et de les appliquer aux appareils.

Le schéma ci-dessous illustre certaines des étapes clés de la gestion des configurations gérées, avec un aperçu des options disponibles via l'API EMM Google Play.

Vérifier si une application est compatible avec les configurations gérées

Utilisez Products.getAppRestrictionsSchema pour déterminer si une application est compatible avec les configurations gérées. Voici un exemple qui utilise la bibliothèque cliente de l'API EMM Google Play pour Java.

public AppRestrictionsSchema getAppRestrictionsSchema(String enterpriseId,
    String productId, String language) throws IOException {
  return androidEnterprise
     .product()
     .getAppRestrictionsSchema(enterpriseId, productId, language)
     .execute();
}

Toutes les applications renvoient un schéma de restrictions d'application (configurations gérées). Si l'appel renvoie un schéma vide, l'application n'est pas compatible avec les configurations de gestion. Si l'appel renvoie un schéma contenant un ensemble de restrictions, l'application accepte les configurations gérées. Par exemple, une application qui possède une propriété permettant d'activer l'impression à distance via un VPN peut renvoyer la réponse suivante à Products.getAppRestrictionsSchema.

    {
      "kind": "androidenterprise#appRestrictionsSchema",
      "restrictions": [
        {
          "key": "printing_enabled",
          "title": "Enable printing",
          "restrictionType": "bool",
          "description": "Allow user to print from the app",
          "defaultValue": {
            "type": "bool",
            "valueBool": true,
          }
        },
        {
          "key": "vpn_configurations",
          "title": "VPN configurations",
          "restrictionType": "bundle_array",
          "description": "List of VPN configurations",
          "nestedRestriction": [
            {
              "key": "vpn_configuration",
              "title": "VPN configuration",
              "restrictionType": "bundle",
              "nestedRestrictions": [
                {
                  "key": "server",
                  "title": "VPN server host",
                  "restrictionType": "string"
                },
                {
                  "key": "username",
                  "title": "VPN account username",
                  "restrictionType": "string"
                }
              ]
            }
          ]
        }
      ]
    }

Spécifier des configurations gérées

Pour les applications compatibles avec les configurations gérées, vous pouvez permettre aux administrateurs informatiques de les définir depuis votre console EMM en intégrant l'iFrame des configurations gérées ou en développant votre propre interface utilisateur.

Option 1: Intégrer l'iFrame de configurations gérées

Le moyen le plus simple de prendre en charge les configurations gérées consiste à intégrer l'iFrame de configurations gérées dans votre console EMM. L'iFrame récupère le schéma des configurations gérées pour une application spécifiée, et permet aux administrateurs informatiques d'enregistrer, de modifier et de supprimer des profils de configuration personnalisés. Vous pouvez utiliser l'API EMM Play pour appliquer des profils personnalisés aux appareils des utilisateurs. Pour en savoir plus sur l'iFrame et sur la manière de l'ajouter à votre console, consultez la section iFrame de configurations gérées.

Option 2: Créer votre propre interface utilisateur

À l'aide des configurations renvoyées par Products.getAppRestrictionsSchema, vous pouvez créer votre propre UI permettant aux administrateurs informatiques de gérer les configurations d'application.

Appliquer les configurations gérées

Pour appliquer des configurations gérées aux appareils, votre DPC doit être intégré à la bibliothèque Support DPC, comme indiqué dans la section Créer un outil de contrôle des règles relatives aux appareils. La bibliothèque Support DPC gère de manière transparente la délégation à Google Play pour appliquer les configurations gérées.

Vous pouvez appliquer des configurations gérées à un appareil en définissant policy.productPolicy.managedConfiguration dans le policy de Device.

Utiliser un identifiant mcmId

Chaque fois qu'un administrateur informatique enregistre un nouveau profil de configuration à partir de l'iFrame de configurations gérées, l'iFrame renvoie un identifiant unique appelé mcmId. Une mcmId ne limite pas le nombre d'appareils sur lesquels elle peut être appliquée et n'a pas de délai d'expiration.

Pour appliquer un profil de configuration à un appareil, définissez policy.productPolicy.managedConfiguration.configurationVariables.mcmId dans le policy de Device.

Si vous souhaitez autoriser vos administrateurs informatiques à utiliser des variables dans l'iFrame de configurations gérées (par exemple, $FirstName et $LastName), vous devez définir toutes les variables contenues dans le profil à l'aide de policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[].

Utiliser une liste de propriétés gérées

Vous pouvez également inclure un ensemble de propriétés gérées en définissant policy.productPolicy.managedConfiguration.managedProperty[] dans le policy de Device.

L'exemple ci-dessous montre comment définir une configuration. Cette configuration contient une bundle_array (liste) composée de deux propriétés de bundle (un groupe de propriétés liées, dans ce cas, des propriétés pour un VPN).

    ManagedConfiguration managedConfiguration = new ManagedConfiguration()
      .setManagedProperty(
        ImmutableList.of(
            new ManagedProperty()
                .setKey("printing_enabled")
                .setValueBool(true),
            new ManagedProperty()
                .setKey("vpn_configurations")
                .setValueBundleArray(
                    ImmutableList.of(
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn1.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("john.doe"))),
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn2.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("jane.doe")))))));

Pour en savoir plus sur les différentes propriétés de configuration compatibles avec une application, consultez Définir des configurations gérées.

Lister les profils de configuration d'une application

Selon la conception de votre solution, vous pouvez afficher une liste des profils de configuration enregistrés pour une application. Pour récupérer cette liste, appelez Managedconfigurationssettings.list.