Importante: Ya no aceptamos registros nuevos para la API de EMM de Play. Más información

Configurar apps

Algunas apps diseñadas para empresas incluyen una configuración integrada llamada configuraciones administradas que los administradores de TI pueden configurar de forma remota. Por ejemplo, una app puede tener la opción de sincronizar datos solo cuando un dispositivo está conectado a Wi-Fi. Proporcionar a los administradores de TI la capacidad de especificar las configuraciones administradas y aplicarlas a los dispositivos es un requisito para todos los conjuntos de soluciones.

En el siguiente diagrama, se ilustran algunas de las etapas clave de la administración de configuración administrada con una descripción general de las opciones disponibles a través de la API de EMM de Google Play.

Cómo comprobar si una app admite configuraciones administradas

Usa Products.getAppRestrictionsSchema para determinar si una app admite configuraciones administradas. A continuación, verás un ejemplo que usa la biblioteca cliente de la API de EMM de Google Play para Java.

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

Todas las apps muestran un esquema de restricciones (configuraciones administradas) de apps. Si la llamada muestra un esquema vacío, la app no admite la administración de configuraciones. Si la llamada muestra un esquema que contiene un conjunto de restricciones, la app admite configuraciones administradas. Por ejemplo, una app que tiene una propiedad para habilitar la impresión remota a través de una VPN podría mostrar la siguiente respuesta a 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"
                }
              ]
            }
          ]
        }
      ]
    }

Especifica configuraciones administradas

Para las apps que admiten configuraciones administradas, puedes permitir que los administradores de TI las establezcan desde tu consola de EMM. Para ello, debes incorporar el iframe de configuración administrada o desarrollar tu propia IU.

Opción 1: Incorporar el iframe de configuración administrada

La forma más fácil de admitir configuraciones administradas es incorporar el iframe de configuraciones administradas en tu consola de EMM. El iframe recupera el esquema de configuraciones administradas de una app específica y permite a los administradores de TI guardar, editar y borrar perfiles de configuración personalizados. Puedes usar la API de EMM de Play para aplicar perfiles personalizados a los dispositivos del usuario. Para obtener más información sobre el iframe y cómo agregarlo a tu consola, consulta iframe de configuraciones administradas.

Opción 2: Crea tu propia IU

Con las opciones de configuración que muestra Products.getAppRestrictionsSchema, puedes crear tu propia IU para que los administradores de TI puedan gestionar las configuraciones de la app.

Aplica configuraciones administradas

Para aplicar configuraciones administradas a los dispositivos, tu DPC debe estar integrado a la biblioteca de compatibilidad de DPC, como se detalla en Cómo compilar un controlador de política de dispositivo. La biblioteca de compatibilidad de DPC administra con transparencia la delegación a Google Play para aplicar las configuraciones administradas.

Puedes aplicar configuraciones administradas a un dispositivo si configuras policy.productPolicy.managedConfiguration en el policy de Device.

Con un mcmId

Cada vez que un administrador de TI guarda un perfil de configuración nuevo desde el iframe de configuración administrado, el iframe muestra un identificador único llamado mcmId. Una mcmId no tiene límite en la cantidad de dispositivos en los que se puede aplicar y no tiene fecha de vencimiento.

Para aplicar un perfil de configuración a un dispositivo, configura policy.productPolicy.managedConfiguration.configurationVariables.mcmId en el policy de Device.

Si deseas permitir que tus administradores de TI usen variables en el iframe de opciones de configuración administradas (como $FirstName, $LastName), debes definir cualquier variable en el perfil con policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[].

Usa una lista de propiedades administradas

También puedes incluir un conjunto de propiedades administradas mediante la configuración de policy.productPolicy.managedConfiguration.managedProperty[] en el policy de Device.

En el siguiente ejemplo, se muestra cómo definir una configuración. Esta configuración contiene un bundle_array (una lista) compuesta por dos propiedades de paquete (un grupo de propiedades relacionadas, en este caso, propiedades para una 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")))))));

Para obtener más información sobre las diferentes propiedades de configuración que una app puede admitir, consulta Cómo definir configuraciones administradas.

Enumerar los perfiles de configuración de una app

Según cómo diseñes tu solución, es posible que desees mostrar una lista de perfiles de configuración guardados para una app. Para recuperar esta lista, llama a Managedconfigurationssettings.list.