Compartilhar via


SDK do Aplicativo do Intune para Android – Configuração do aplicativo

O SDK do aplicativo Microsoft Intune para Android permite que você incorpore políticas de proteção de aplicativo do Intune (também conhecidas como políticas de APP ou MAM) em seu aplicativo Java/Kotlin Android nativo. Um aplicativo gerenciado pelo Intune é integrado ao SDK do Aplicativo do Intune. Os administradores do Intune podem implantar facilmente políticas de proteção de aplicativo em seu aplicativo gerenciado pelo Intune quando o Intune gerencia ativamente o aplicativo.

Observação

Este guia é dividido em vários estágios distintos. Comece examinando a Fase 1: Planeje a Integração.

Estágio 6: Configuração de Aplicativos

Goals de estágio

  • Saiba mais sobre as opções de configuração do aplicativo no Android.
  • Decida quais configurações, se houver, seu aplicativo deve adicionar.
  • Integre as APIs de configuração do aplicativo SDK do Intune App.
  • Implemente a lógica de resolução de conflitos para suas configurações de aplicativo personalizado.

Configuração de Aplicativos no Android

As configurações do aplicativo, também conhecidas como configurações gerenciadas ou restrições de aplicativo, são configurações específicas do aplicativo e definidas pelo desenvolvedor que você pode adicionar ao seu aplicativo para dar aos administradores controle adicional sobre a experiência do aplicativo quando usado em uma configuração gerenciada. Por exemplo, se seu aplicativo for um navegador, você poderá optar por adicionar configurações que permitem aos administradores pré-definir indicadores, bloquear determinadas páginas da Web ou desabilitar modos incógnitos. A configuração do aplicativo é uma ferramenta totalmente opcional, mas poderosa, para aprimorar a experiência de gerenciamento do aplicativo.

Consulte Políticas de configuração de aplicativo para obter Microsoft Intune para obter mais detalhes.

Configurações do aplicativo Built-In do Android

O Android tem a configuração do aplicativo interna na plataforma, chamada de configurações gerenciadas. Essas configurações não têm dependência do SDK do Aplicativo do Intune e podem ser habilitadas em aplicativos que não integram o SDK do Aplicativo do Intune. Essas configurações só se aplicam quando seu aplicativo é usado em um dispositivo gerenciado com um dos modos Android Enterprise do Google. Consulte Registrar dispositivos Android para obter detalhes sobre como configurar esses modos Android Enterprise em Microsoft Intune. Os administradores podem configurar essas políticas de configuração de aplicativo para dispositivos Android Enterprise gerenciados em Microsoft Intune.

Seu aplicativo pode recuperar esses valores configurados pelo administrador por meio do Android ou por meio do RestrictionsManager SDK do Aplicativo do Intune. Consulte recuperar a configuração do aplicativo do SDK para obter mais informações.

Escopos delegados para aplicativos gerenciados do Google Play

Os desenvolvedores de aplicativos podem usar escopos delegados para integrar permissões aprimoradas para seus aplicativos gerenciados do Google Play. Os escopos delegados fornecem os seguintes recursos para aplicativos gerenciados do Google Play:

  • Permitir que outros aplicativos instalem e gerenciem certificados
  • Permitir que o aplicativo acesse logs de segurança do Android
  • Permitir que o aplicativo acesse logs de atividades de rede Android

Depois que esses recursos forem integrados a um aplicativo Gerenciado do Google Play usando a API do Google, você poderá configurar essas configurações no Intune usando perfis de configuração de dispositivo. Para obter mais informações, confira Configurações do dispositivo Android Enterprise – Aplicativos.

Para obter detalhes da implementação do aplicativo, confira Documentação do desenvolvedor do Android – Escopos de delegação.

Configurações do aplicativo SDK do Intune

O SDK do Aplicativo do Intune dá suporte a outro mecanismo para fornecer configurações de aplicativo, separadas das configurações gerenciadas pelo Android Enterprise. Essas configurações são exclusivas para Microsoft Intune e se aplicam apenas a aplicativos que integraram o SDK do Aplicativo do Intune. No entanto, essas configurações não se limitam a dispositivos com gerenciamento do Android Enterprise. Os administradores podem configurar essas políticas de configuração de aplicativo para aplicativos gerenciados em Microsoft Intune.

Observação

A configuração do aplicativo também pode ser configurada usando o API do Graph. Para obter informações, consulte a documentação API do Graph para configuração de destino do MAM.

Seu aplicativo deve recuperar esses valores configurados pelo administrador por meio do SDK do Aplicativo do Intune. Consulte recuperar a configuração do aplicativo do SDK para obter mais informações.

Quais configurações devo adicionar ao meu aplicativo?

Este guia não pode responder a essa pergunta para você. Somente você e sua equipe sabem quais recursos tornam seu aplicativo mais valioso quando está sob gerenciamento.

As perguntas a seguir podem ajudar a orientar discussões e revelar configurações que talvez você queira adicionar ao seu aplicativo:

  • Quais recursos seu aplicativo oferece hoje?
    • Há valor em desabilitar algum desses recursos durante o gerenciamento?
    • Há valor na alteração de algum desses recursos durante o gerenciamento?
  • Como seu aplicativo é usado sob gerenciamento hoje?
    • Há alguma opção que os administradores possam pré-configurar em nome de seus usuários?
    • Há alguma ação que os administradores ou usuários finais tomam, exclusivas para cenários gerenciados?
    • Os usuários gerenciados solicitaram recursos que podem não ser apropriados para toda a população de usuários?

Para cada configuração que você decidir adicionar ao seu aplicativo, você precisará definir três itens:

  • Chave – essa cadeia de caracteres identifica exclusivamente essa configuração de outras configurações. Ele deve ser legível pelo homem, pois será configurado pelos administradores.
  • Tipo – qual tipo de dados é essa configuração? É uma cadeia de caracteres, booliana, inteiro, matriz, etc.?
  • Estratégia de resolução de conflitos – como seu aplicativo responderá se os administradores configurarem vários valores para a mesma chave? No exemplo de navegador mencionado acima, uma lista de indicadores pode combinar todos os valores, enquanto uma configuração para desabilitar incógnito pode optar por desabilitar se algum dos valores conflitantes for "true".

Meu aplicativo deve dar suporte à configuração para Dispositivos Gerenciados ou Aplicativos Gerenciados?

Configurações que se aplicam a dispositivos gerenciados e configurações que se aplicam a aplicativos gerenciados não são mutuamente exclusivas. Você deve considerar as necessidades de seus usuários ao decidir qual tipo (ou ambos) de configuração dar suporte.

Área de configuração Configuração para dispositivos gerenciados Configuração para Aplicativos Gerenciados
Aplicabilidade do dispositivo Aplica-se apenas em dispositivos em gerenciamento de dispositivos Android Enterprise. Aplica-se a todos os dispositivos, desde que o aplicativo integre o SDK do Aplicativo do Intune e o Portal da Empresa esteja instalado.
Plataforma Somente Android, limitado a dispositivos com serviços do Google O SDK do aplicativo iOS dá suporte às mesmas configurações. Como desenvolvedor, você pode compartilhar essas chaves para uma experiência consistente entre plataformas.
Aplicabilidade Qualquer EMM Exclusivo para Microsoft Intune
Descoberta de esquema O esquema está disponível publicamente após o upload do aplicativo para o Play Descoberta de esquema sob controle de desenvolvedor

Ambos os tipos de configuração de aplicativo dependem de pares de valor-chave. Microsoft Intune não inspeciona o conteúdo dessas configurações e simplesmente passa os valores configurados pelo administrador para seu aplicativo.

A API de configuração do aplicativo SDK do Intune inclui valores configurados por administrador de ambos os canais. Se o aplicativo der suporte a ambos os tipos de configuração de aplicativo, use a API, conforme descrito abaixo.

Recuperando a configuração do aplicativo do SDK

Os aplicativos podem receber configurações de ambos os canais usando as classes MAMAppConfigManager e MAMAppConfig .

MAMAppConfigManager configManager = MAMComponents.get(MAMAppConfigManager.class);
String identity = "user@contoso.com"
MAMAppConfig appConfig = configManager.getAppConfig(identity);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);

Se não houver nenhuma conta registrada no MAM, mas seu aplicativo ainda quiser recuperar valores de configuração do Android Enterprise (que não serão direcionados a uma conta específica), você poderá passar uma null cadeia de caracteres ou vazia.

Observação

Se o aplicativo usar o SDK do Aplicativo do Intune para recuperar configurações gerenciadas do Android Enterprise e o Portal da Empresa não estiver instalado, essas configurações serão entregues por meio de uma MAMUserNotification identidade vazia.

Seu aplicativo também pode solicitar os dados brutos como uma lista de conjuntos de pares de valor-chave, em vez de consultar por chaves específicas.

List<Map<String, String>> getFullData()

Seu aplicativo também pode se registrar para a REFRESH_APP_CONFIG notificação que informa ao aplicativo que novos dados de configuração de aplicativo estão disponíveis. Se o aplicativo armazenar em cache dados de configuração do aplicativo, ele deverá se registrar para essa notificação e invalidar todos os dados armazenados em cache no manipulador. Consulte Registrar para obter notificações do SDK para obter mais detalhes.

Resolvendo conflitos

Se várias políticas de configuração de aplicativo forem direcionadas para o mesmo aplicativo e conta, pode haver vários valores conflitantes disponíveis para a mesma chave.

Observação

Um valor definido na configuração do aplicativo MAM substituirá um valor com o mesmo conjunto de chaves na configuração do Android Enterprise.

Se um administrador configurar valores conflitantes para a mesma chave, o Intune não terá nenhuma maneira de resolver esse conflito automaticamente e disponibilizará todos os valores para seu aplicativo. Esse tipo de conflito poderá acontecer se o administrador direcionar diferentes conjuntos de configurações de aplicativo com a mesma chave para vários grupos que contêm a mesma conta.

Seu aplicativo pode solicitar todos os valores de uma determinada chave de um objeto MAMAppConfig, para que você possa resolve conflitos com sua própria lógica de negócios:

List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)

Como alternativa, você pode solicitar um valor a ser escolhido com uma das estratégias internas de resolução de conflitos:

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 internas disponíveis incluem:

  • BooleanQueryType.Any, BooleanQueryType.And, BooleanQueryType.Or
  • NumberQueryType.Any, NumberQueryType.Min, NumberQueryType.Max
  • StringQueryType.Any, StringQueryType.Min, StringQueryType.Max, onde min e max são de uma lista ordenada alfabéticamente.

Critérios de saída

O Intune é responsável por fornecer os valores da política de configuração do aplicativo para seu aplicativo; posteriormente, seu aplicativo é responsável por usar esses valores para alterar o comportamento ou a interface do usuário dentro do aplicativo. O teste completo de ponta a ponta deve abranger ambos os componentes.

Para validar se o Intune está fornecendo corretamente a política de configuração do aplicativo:

  1. Configure uma política de configuração de aplicativo, que é direcionada ao seu aplicativo e implantada em sua conta de teste.
  2. Faça logon em seu aplicativo com sua conta de teste.
  3. Navegue pelo aplicativo para exercer cada codepath que chama MAMAppConfigManagerde 's getAppConfig ou getFullData.
    • Registrar os resultados das chamadas getAppConfig é uma maneira simples de validar quais configurações são entregues. No entanto, como os administradores podem inserir qualquer dado para configurações de configuração do aplicativo, tenha cuidado para não registrar nenhum dado de usuário privado.
  4. Consulte Validar a política de configuração de aplicativo aplicada.

Como as configurações do aplicativo são específicas do aplicativo, somente você sabe como validar como seu aplicativo deve alterar o comportamento ou a interface do usuário para cada configuração do aplicativo.

Ao testar, considere o seguinte:

  • Garantir que todos os cenários sejam abordados criando diferentes políticas de configuração de aplicativo de teste com cada valor compatível com seu aplicativo.
  • Validando a lógica de resolução de conflitos do aplicativo criando várias políticas de configuração de aplicativo de teste com valores diferentes para cada configuração.
  • Se o aplicativo tiver se registrado para a REFRESH_APP_CONFIG notificação, atualize a política de configuração do aplicativo enquanto seu aplicativo estiver em uso ativo, aguardando a atualização da política e confirmando que esse codepath é exercido corretamente.
  • Se o aplicativo der suporte a ambos os tipos de configuração de aplicativo, teste ambos os cenários para garantir que sua implementação forneça a identidade correta para getAppConfig.

Próximas etapas

Depois de concluir todos os Critérios de Saída acima, seu aplicativo agora será integrado com êxito como com a política de configuração do aplicativo.

A seção subsequente, Estágio 7: Recursos de Participação do Aplicativo, pode ou não ser necessária, dependendo do suporte desejado da política de proteção de aplicativo do aplicativo. Se você não tiver certeza se algum desses recursos se aplica ao seu aplicativo, revisite As Principais Decisões para integração do SDK.