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