Distribuir apps

A API Google Play EMM é compatível com os seguintes métodos de distribuição para apps públicos e privados:

Instalar apps manualmente a partir da Google Play Store gerenciada

Você pode definir quais apps estão disponíveis para instalação de um usuário no Device policy e configure-a chamando Devices.update. Quando provisionando um novo dispositivo, defina a política antes de adicionar o conta do Google Play ao dispositivo. Caso contrário, a política não será aplicada a após a adição da conta ao dispositivo.

O comportamento da Play Store gerenciada é definido pelo valor policy.productAvailabilityPolicy:

  • all: todos os apps públicos da Play Store estão disponíveis.
  • whitelist: somente os apps listados em policy.productPolicy estão disponíveis.

Em ambos os casos, todos os apps em policy.productPolicy são adicionados por padrão ao o layout de loja da empresa. O layout da loja da empresa é a página inicial da Play Store gerenciada quando o app whitelist está selecionado e pode ser acessado em um "Apps de trabalho" quando all estiver selecionado. Você pode permitir que seu cliente personalizar o layout da loja incorporando o Google Play gerenciado iframe (consulte Organizar apps com o iframe do Google Play gerenciado).

Instalar apps remotamente nos dispositivos dos usuários

Para instalar remotamente um aplicativo (também chamado de instalação push) no dispositivo de um usuário, defina policy.productPolicy.autoInstallPolicy no policy do Device. Quando provisionando um novo dispositivo, defina a política antes de adicionar o conta do Google Play ao dispositivo. Caso contrário, a política não será aplicada a após a adição da conta ao dispositivo.

O autoInstallMode pode ser definido como:

  • doNotAutoInstall: o app não é instalado automaticamente.
  • autoInstallOnce: o app será instalado automaticamente uma vez, se o usuário desinstalar o app e ele não será instalado novamente.
  • forceAutoInstall: o app será instalado automaticamente se o usuário desinstalará o app que será instalado novamente. Em dispositivos gerenciados, o DPC deve bloquear a desinstalação usando DevicePolicyManager.setUninstallBlocked

Em caso de falha (perda de conectividade, falta de armazenamento etc.), as instalações serão que tentaram de novo automaticamente até conseguirem. Uma estratégia de nova tentativa com espera exponencial é aplicado para evitar o desperdício de bateria e dados em caso de perda de segurança.

Prioridade de instalação

É possível escolher a ordem das instalações definindo autoInstallPriority. A a prioridade precisa ser um número inteiro não assinado e o valor padrão é 0. Os apps serão são instalados em ordem crescente ou prioridade, ou seja, os apps com menor o valor de prioridade será instalado primeiro.

Instalar restrições

Você pode definir restrições de instalação para cada aplicativo definindo uma autoInstallConstraint, permitindo que você controle o estado necessário da durante a instalação:

  • se o dispositivo deve ser conectado a uma rede Wi-Fi
  • se o dispositivo deve estar carregando,
  • e se o dispositivo deve estar ocioso (não usado ativamente pelo usuário).

Se as restrições não forem atendidas imediatamente, as instalações afetadas serão enfileiradas até que as restrições sejam atendidas.

Em um autoInstallConstraint, a regra AND é aplicada entre os campos. Para exemplo, com o autoInstallConstraint a seguir, o dispositivo precisa ser ambos carregando e conectado a uma rede ilimitada (por exemplo, Wi-Fi) para que o aplicativo seja instalado:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

Instalar apps automaticamente em dispositivos recém-provisionados

A API Google Play EMM envia uma notificação NewDeviceEvent quando um dispositivo é provisionado pela primeira vez. Para instalar apps por push automaticamente para os recém-provisionados dispositivos, ouça notificações de NewDeviceEvent. A cada NewDeviceEvent, recuperar userId e deviceId e, em seguida, chamar Devices.update para definir a política desse dispositivo.

Para saber como se inscrever nas notificações de EMM, consulte Configure as notificações de EMM.

Distribuir apps para testes fechados

Os testes fechados permitem que os desenvolvedores de apps recebam feedback sobre as versões iniciais dos app de usuários confiáveis. Os desenvolvedores podem configurar testes fechados no Google Play do Cloud. Você usa a API Play EMM para permitir que os administradores de TI distribuam apps fechados versões (também chamadas de faixas) de apps para usuários específicos. Sua empresa os clientes podem usar esse recurso não apenas para testar aplicativos de terceiros, mas também para testar apps particulares desenvolvidos internamente.

Apps qualificados

Antes de um desenvolvedor adicionar uma empresa à lista de testadores fechados de um app, o app deve atender aos seguintes critérios:

  • Uma versão de produção do app é publicada no Google Play.
  • No Google Play Console, o Google Play gerenciado está ativado na interface Configurações avançadas.
  • Todas as versões fechadas do app atendem requisitos do código de versão.

Adicionar uma empresa a testes fechados

Os desenvolvedores de apps podem adicionar empresas a testes que usam os métodos Alfa fechado testes ou Testes Alfa com os Grupos do Google. Para instruções, consulte o guia sobre como configurar um teste aberto, fechado ou interno. O desenvolvedor precisa inserir o ID da organização (também conhecido como ID da empresa) de cada empresa participante. os administradores de TI podem fornecer o ID da organização a desenvolvedores de apps de terceiros, seguindo estas etapas:

  1. Faça login na Google Play Store gerenciada.
  2. Clique em Configurações de administrador.
  3. Copie a string do ID da organização na caixa "Informações da organização" e e enviá-lo ao desenvolvedor.

Requisitos adicionais para apps particulares

No caso de apps particulares, o desenvolvedor também precisa adicionar o ID da organização de cada empresa participante na guia Google Play gerenciado do sistema "Configurações avançadas". Para instruções, consulte Publicar um app particular

Distribuir faixas fechadas para os usuários

Para recuperar uma lista das faixas disponíveis para uma empresa em um app específico, faça o seguinte: chame Products.get. A lista appTracks[] contida na resposta inclui as faixas disponíveis para cada app. O appTracks[].trackAlias é um usuário legível para a faixa que pode ser exibida no console de EMM e o appTracks[].trackId é o ID legível por máquina da faixa.

Para conceder a um usuário visibilidade da faixa fechada de um app, defina o policy.productPolicy[].trackIds[] no policy de Device. Se várias faixas estiverem disponíveis para um dispositivo, o versão disponível com o código de versão mais alto será instalada.

Os trackIds serão removidos automaticamente da chamada Products.get em determinadas cenários como os seguintes:

  • O APK da faixa é promovido para outra faixa ou para a produção.
  • A versão de produção é atualizada com uma versão superior à da faixa.
  • Um desenvolvedor interrompe a faixa.

Monitore as licenças de apps pagos

Para apps pagos, o objeto Grouplicenses monitora quantas licenças um que a empresa possui e quantas licenças estão em uso. Você pode ligar Grouplicenses.get para acessar os detalhes da licença de um app.

Antes que um app pago possa ser instalado em um dispositivo, a empresa precisa ter uma licença disponível para o app. Se uma licença estiver disponível, isso significa que o app está instalado no dispositivo, e um objeto Entitlements é criado. Um Entitlements vincula uma licença a um usuário e diminui o número de licenças disponíveis para o app. Se não houver licenças disponíveis, a instalação do app vai falhar e nenhum objeto Entitlements é criado.

Os objetos Grouplicenses e Entitlements não são usados por aplicativos distribuídos sem custo financeiro.