SDK da Aplicação Intune para Android – Configuração da aplicação
O SDK da Aplicação Microsoft Intune para Android permite-lhe incorporar políticas de proteção de aplicações do Intune (também conhecidas como políticas de APLICAÇÃO ou MAM) na sua aplicação Java/Kotlin Android nativa. Uma aplicação gerida pelo Intune é uma aplicação integrada com o SDK da Aplicação intune. Os administradores do Intune podem facilmente implementar políticas de proteção de aplicações na sua aplicação gerida pelo Intune quando o Intune gere ativamente a aplicação.
Observação
Este guia está dividido em várias fases distintas. Comece por rever a Fase 1: Planear a Integração.
Fase 6: Configuração da Aplicação
Objetivos de Fase
- Saiba mais sobre as opções de configuração de aplicações no Android.
- Decida que configurações, se existirem, a sua aplicação deve adicionar.
- Integre as APIs de configuração de aplicações do SDK da Aplicação Intune.
- Implemente a lógica de resolução de conflitos para as configurações de aplicações personalizadas.
Configuração da Aplicação no Android
As configurações de aplicações, também conhecidas como configurações geridas ou restrições de aplicações, são definições específicas da aplicação e definidas pelo programador que pode adicionar à sua aplicação para dar aos administradores controlo adicional sobre a experiência da aplicação quando utilizada numa definição gerida. Por exemplo, se a sua aplicação for um browser, pode optar por adicionar configurações que permitam aos administradores pré-definir marcadores, bloquear determinadas páginas Web ou desativar modos incógnitos. A configuração da aplicação é uma ferramenta totalmente opcional, mas poderosa, para melhorar a experiência de gestão da sua aplicação.
Veja Políticas de configuração de aplicações para o Microsoft Intune para obter mais detalhes.
Configurações da Aplicação Built-In do Android
O Android tem a configuração da aplicação incorporada na plataforma, denominada configurações geridas. Estas configurações não têm dependência no SDK da Aplicação intune e podem ser ativadas em aplicações que não integram o SDK da Aplicação intune. Estas configurações só se aplicam quando a sua aplicação é utilizada num dispositivo gerido com um dos modos Android Enterprise da Google. Consulte Inscrever dispositivos Android para obter detalhes sobre como configurar estes modos Android Enterprise no Microsoft Intune. Os administradores podem configurar estas políticas de configuração de aplicações para dispositivos Android Enterprise geridos no Microsoft Intune.
A sua aplicação pode obter estes valores configurados pelo administrador através do Android ou através do RestrictionsManager
SDK da Aplicação Intune.
Veja Obter a configuração da aplicação a partir do SDK para obter mais informações.
Âmbitos delegados para aplicações do Managed Google Play
Os programadores de aplicações podem utilizar âmbitos delegados para integrar permissões melhoradas para as respetivas aplicações do Managed Google Play. Os âmbitos delegados fornecem as seguintes capacidades para aplicações do Managed Google Play:
- Permitir que outras aplicações instalem e giram certificados
- Permitir que a aplicação aceda aos registos de segurança do Android
- Permitir que a aplicação aceda aos registos de atividades da rede Android
Assim que estas capacidades tiverem sido integradas numa aplicação do Managed Google Play com a API da Google, pode configurar estas definições no Intune através de perfis de configuração de dispositivos. Para obter mais informações, veja Definições do dispositivo Android Enterprise – Aplicações.
Para obter detalhes sobre a implementação de aplicações, veja a documentação do programador Android – Âmbitos de delegação.
Configurações da Aplicação SDK da Aplicação Intune
O SDK da Aplicação Intune suporta outro mecanismo para fornecer configurações de aplicações, separadas das configurações geridas pelo Android Enterprise. Estas configurações são exclusivas do Microsoft Intune e aplicam-se apenas a aplicações que tenham integrado o SDK da Aplicação intune. No entanto, estas configurações não estão limitadas a dispositivos com gestão do Android Enterprise. Os administradores podem configurar estas políticas de configuração de aplicações para aplicações geridas no Microsoft Intune.
Observação
A configuração da aplicação também pode ser configurada com a Graph API. Para obter informações, veja a documentação da Graph API para Configuração de MAM Direcionada.
A sua aplicação tem de obter estes valores configurados pelo administrador através do SDK da Aplicação Intune. Veja Obter a configuração da aplicação a partir do SDK para obter mais informações.
Que configurações devo adicionar à minha aplicação?
Este guia não consegue responder a esta pergunta por si. Apenas você e a sua equipa sabem que funcionalidades tornam a sua aplicação mais valiosa quando está sob gestão.
As perguntas seguintes podem ajudar a orientar os debates e revelar as configurações que poderá querer adicionar à sua aplicação:
- Que funcionalidades a sua aplicação oferece atualmente?
- Existe algum valor na desativação de qualquer uma destas funcionalidades durante a gestão?
- Existe algum valor na alteração de qualquer uma destas funcionalidades durante a gestão?
- Como é que a sua aplicação é utilizada na gestão hoje em dia?
- Existem opções que os administradores possam pré-configurar em nome dos respetivos utilizadores?
- Existem ações que os administradores ou os utilizadores finais efetuam, exclusivas para cenários geridos?
- Os utilizadores geridos solicitaram funcionalidades que podem não ser adequadas para toda a população de utilizadores?
Para cada configuração que decidir adicionar à sua aplicação, terá de definir três itens:
- Chave – esta cadeia identifica exclusivamente esta definição a partir de outras definições. Deve ser legível por humanos, uma vez que será configurado pelos administradores.
- Tipo – que tipo de dados é esta definição? É uma cadeia, booleana, número inteiro, matriz, etc.?
- Estratégia de resolução de conflitos – como irá a sua aplicação responder se os administradores configurarem vários valores para a mesma chave? No exemplo do browser acima mencionado, uma lista de marcadores pode combinar todos os valores, enquanto uma definição para desativar incógnito pode optar por desativar se algum dos valores em conflito for "verdadeiro".
A minha aplicação deve suportar a configuração de Dispositivos Geridos ou Aplicações Geridas?
As configurações que se aplicam a dispositivos geridos e configurações que se aplicam a aplicações geridas não são mutuamente exclusivas. Deve considerar as necessidades dos seus utilizadores ao decidir qual o tipo (ou ambos) de configuração a suportar.
Área de configuração | Configuração para Dispositivos Geridos | Configuração para Aplicações Geridas |
---|---|---|
Aplicabilidade do Dispositivo | Aplica-se apenas em dispositivos na gestão de dispositivos Android Enterprise. | Aplica-se a todos os dispositivos, desde que a aplicação integre o SDK da Aplicação intune e o Portal da Empresa esteja instalado. |
Plataforma | Apenas Android, limitado a dispositivos com serviços Google | O SDK da Aplicação iOS suporta as mesmas configurações. Enquanto programador, pode partilhar estas chaves para uma experiência consistente entre plataformas. |
Aplicabilidade | Qualquer EMM | Exclusivo do Microsoft Intune |
Deteção de Esquemas | O esquema está publicamente disponível após o carregamento da aplicação para o Play | Deteção de esquema sob controlo do programador |
Ambos os tipos de configuração de aplicações dependem de pares chave-valor. O Microsoft Intune não inspeciona os conteúdos destas configurações e simplesmente transmite os valores configurados pelo administrador para a sua aplicação.
A API de configuração da aplicação SDK da Aplicação Intune inclui valores configurados pelo administrador de ambos os canais. Se a sua aplicação suportar ambos os tipos de configuração de aplicações, utilize a API conforme descrito abaixo.
Obter a configuração da aplicação a partir do SDK
As aplicações podem receber configurações de ambos os canais com as classes MAMAppConfigManager e MAMAppConfig .
MAMAppConfigManager configManager = MAMComponents.get(MAMAppConfigManager.class);
String oid = <OID of user account>;
MAMAppConfig appConfig = configManager.getAppConfigForOID(oid);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);
Se não existir uma conta registada na MAM, mas a sua aplicação ainda quiser obter os valores de configuração do Android Enterprise (que não serão direcionados para uma conta específica), pode transmitir uma null
cadeia de carateres ou vazia para o OID.
Observação
Se a sua aplicação utilizar o SDK da Aplicação Intune para obter as configurações geridas do Android Enterprise e o Portal da Empresa não estiver instalado, estas configurações serão fornecidas através de uma MAMUserNotification
identidade vazia.
A sua aplicação também pode pedir os dados não processados como uma lista de conjuntos de pares chave-valor, em vez de consultar por chaves específicas.
List<Map<String, String>> getFullData()
A sua aplicação também pode registar-se para a REFRESH_APP_CONFIG
notificação que informa a aplicação de que estão disponíveis novos dados de configuração de aplicações.
Se a sua aplicação colocar em cache os dados de configuração da aplicação, tem de se registar para esta notificação e invalidar quaisquer dados em cache no processador.
Veja Registar-se para obter notificações do SDK para obter mais detalhes.
Resolver conflitos
Se várias políticas de configuração de aplicações forem direcionadas para a mesma aplicação e conta, poderão existir vários valores em conflito disponíveis para a mesma chave.
Observação
Um valor definido na configuração da aplicação MAM substituirá um valor com a mesma chave definida na configuração do Android Enterprise.
Se um administrador configurar valores em conflito para a mesma chave, o Intune não tem qualquer forma de resolver este conflito automaticamente e disponibilizará todos os valores à sua aplicação. Este tipo de conflito pode ocorrer se o administrador tiver como destino diferentes conjuntos de configuração de aplicações com a mesma chave para vários grupos que contêm a mesma conta.
A aplicação pode pedir todos os valores de uma determinada chave a partir de um objeto MAMAppConfig , para que possa resolver conflitos com a sua própria lógica de negócio:
List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)
Em alternativa, pode pedir um valor para ser escolhido com uma das estratégias de resolução de conflitos incorporadas:
Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)
As estratégias de resolução de conflitos incorporadas disponíveis incluem:
-
BooleanQueryType.Any
,BooleanQueryType.And
,BooleanQueryType.Or
-
NumberQueryType.Any
,NumberQueryType.Min
,NumberQueryType.Max
-
StringQueryType.Any
,StringQueryType.Min
,StringQueryType.Max
, em que min e max são provenientes de uma lista ordenada alfabeticamente.
Critérios de Saída
O Intune é responsável por entregar os valores da política de configuração da aplicação à sua aplicação; posteriormente, a sua aplicação é responsável por utilizar esses valores para alterar o comportamento ou a IU dentro da aplicação. Os testes completos ponto a ponto devem abranger ambos os componentes.
Para validar que o Intune está a fornecer corretamente a política de configuração de aplicações:
- Configure uma política de configuração de aplicações direcionada para a sua aplicação e implementada na sua conta de teste.
- Se a sua aplicação suportar a configuração de aplicações para dispositivos geridos, veja políticas de configuração de aplicações para dispositivos Android Enterprise geridos.
- Se a sua aplicação suportar a configuração de aplicações para aplicações geridas, veja políticas de configuração de aplicações para aplicações geridas.
- Se a sua aplicação suportar ambos os tipos de configuração de aplicações, crie ambos os tipos de política para teste.
- Inicie sessão na sua aplicação com a sua conta de teste.
- Para dispositivos geridos, veja Políticas de configuração de aplicações do Android Enterprise e Inscrever dispositivos Android.
- Para aplicações geridas:
- Instale a sua aplicação e o Portal da Empresa do Intune.
- Inicie sessão na sua aplicação com a sua conta de teste.
- Navegue pela sua aplicação para exercer cada codepath que chama
MAMAppConfigManager
'sgetAppConfigForOID
' ougetFullData
.- Registar os resultados das chamadas para
getAppConfigForOID
é uma forma simples de validar as definições que são entregues. No entanto, uma vez que os administradores podem introduzir quaisquer dados para as definições de configuração da aplicação, tenha cuidado para não registar quaisquer dados de utilizador privado.
- Registar os resultados das chamadas para
- Veja Validar a política de configuração da aplicação aplicada.
Uma vez que as configurações da aplicação são específicas da aplicação, apenas o utilizador sabe como validar a forma como a sua aplicação deve alterar o comportamento ou a IU para cada definição de configuração da aplicação.
Ao testar, considere o seguinte:
- Garantir que todos os cenários são abrangidos pela criação de diferentes políticas de configuração de aplicações de teste com todos os valores suportados pela sua aplicação.
- Validar a lógica de resolução de conflitos da aplicação ao criar várias políticas de configuração de aplicações de teste com valores diferentes para cada definição.
- Se a aplicação tiver sido registada para a
REFRESH_APP_CONFIG
notificação, atualize a política de configuração da aplicação enquanto a aplicação estiver em utilização ativa, a aguardar que a política seja atualizada e confirme que este codepath é corretamente exercido. - Se a sua aplicação suportar ambos os tipos de configuração de aplicações, teste ambos os cenários para garantir que a implementação fornece a identidade correta para
getAppConfigForOID
.
Próximas etapas
Depois de concluir todos os Critérios de Saída acima, a sua aplicação é agora integrada com êxito como com a política de configuração de aplicações.
A secção subsequente, Fase 7: Funcionalidades de Participação da Aplicação, pode ou não ser necessária, dependendo do suporte de política de proteção de aplicações pretendido da sua aplicação. Se não tiver a certeza se alguma destas funcionalidades se aplica à sua aplicação, reveja As Principais Decisões para a integração do SDK.