Configurar apps

Alguns aplicativos desenvolvidos para empresas têm configurações integradas chamadas de gerenciamento personalizadas que os administradores de TI podem definir remotamente. Por exemplo, um app pode têm a opção de sincronizar dados apenas quando um dispositivo está conectado ao Wi-Fi. Fornecer Os administradores de TI podem especificar e aplicar configurações gerenciadas a de dispositivos é um requisito para todos os conjuntos de soluções.

O diagrama abaixo ilustra alguns dos principais estágios da configuração gerenciada com uma visão geral das opções disponíveis no EMM do Google Play API.

Verificar se um app oferece suporte às configurações gerenciadas

Usar Products.getAppRestrictionsSchema para determinar se um app oferece suporte a configurações gerenciadas. Aqui está um exemplo que usa o Biblioteca de cliente da API Google Play EMM para Java.

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

Todos os apps retornam um esquema de restrições de apps (configurações gerenciadas). Se a ligação retornar um esquema vazio, o app não vai aceitar configurações de gerenciamento. Se a chamada retornar um esquema que contém um conjunto de restrições, o aplicativo oferece suporte a configurações gerenciadas. Por exemplo, um app que tem uma propriedade para a ativação da impressão remota em uma VPN pode retornar a seguinte resposta para 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"
                }
              ]
            }
          ]
        }
      ]
    }

Especificar configurações gerenciadas

Para apps compatíveis com configurações gerenciadas, você pode permitir que os administradores de TI definam pelo console de EMM, incorporando o iframe de configurações gerenciadas ou desenvolver sua própria interface.

Opção 1: incorporar o iframe de configurações gerenciadas

A maneira mais fácil de dar suporte a configurações gerenciadas é incorporar o de configurações de iframe no console de EMM. O iframe recupera o arquivo de configuração do Terraform para um aplicativo específico e permite que os administradores de TI salvem, editem e excluir perfis de configuração personalizados. Você pode usar a API Play EMM para perfis personalizados aos dispositivos dos usuários. Para saber mais sobre o iframe e como adicionar ao seu console, consulte iframe de configurações gerenciadas.

Opção 2: criar sua própria interface

Usando as configurações retornadas pelo Products.getAppRestrictionsSchema, podem criar sua própria IU para que os administradores de TI gerenciem configurações de aplicativos.

Aplicar configurações gerenciadas

Para aplicar configurações gerenciadas a dispositivos, seu DPC precisa estar integrado com a Biblioteca de Suporte de DPC, conforme detalhado em Criar uma política de dispositivo Controller (link em inglês). A Biblioteca de Suporte de DPC lida de forma transparente com a delegação ao Google Play para aplicar políticas personalizadas.

Para aplicar configurações gerenciadas a um dispositivo, defina policy.productPolicy.managedConfiguration no policy de Device.

Como usar um mcmId

Cada vez que um administrador de TI salva um novo perfil de configuração da de configurações de iframe, o iframe retorna um identificador exclusivo com o nome mcmId. Um O mcmId não tem limite para o número de dispositivos em que pode ser aplicado e tem não têm prazo de validade.

Para aplicar um perfil de configuração a um dispositivo, defina policy.productPolicy.managedConfiguration.configurationVariables.mcmId no policy de Device.

Para permitir que os administradores de TI usem variáveis no ambiente de configuração iframe (como $FirstName, $LastName), você precisa definir variáveis contidas no perfil usando policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]:

Como usar uma lista de propriedades gerenciadas

Também é possível incluir um conjunto de propriedades gerenciadas definindo policy.productPolicy.managedConfiguration.managedProperty[] no policy de Device.

O exemplo abaixo mostra como definir uma configuração. Essa configuração contém um bundle_array (uma lista) que é composto de duas propriedades de pacote (uma grupo de propriedades relacionadas, neste caso, propriedades para uma 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 mais informações sobre as diferentes propriedades de configuração que um aplicativo pode consulte a seção Definir Configurações.

Listar os perfis de configuração de um app

Dependendo de como você projeta sua solução, pode ser necessário mostrar uma lista de os perfis de configuração salvos de um app. Para recuperar essa lista, chame Managedconfigurationssettings.list