Distribuir apps

A API Google Play EMM oferece suporte aos seguintes métodos de distribuição para apps públicos e particulares:

Instalar apps manualmente pela Google Play Store gerenciada

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

O comportamento da Play Store gerenciada é definido pelo valor de 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 layout de armazenamento da empresa. O layout da loja da empresa é a página inicial da Play Store gerenciada quando whitelist está selecionado e pode ser acessado em uma guia "Apps de trabalho" quando all é selecionado. Você pode permitir que seu cliente personalize o layout da loja da empresa incorporando o iframe do Google Play gerenciado. Consulte Organizar apps com o iframe do Google Play gerenciado.

Instalar remotamente aplicativos nos dispositivos do usuário

Para instalar remotamente um app (também chamado de instalação push) no dispositivo de um usuário, defina policy.productPolicy.autoInstallPolicy no policy do Device. Ao provisionar um novo dispositivo, defina a política antes de adicionar a conta do Google Play gerenciada ao dispositivo. Caso contrário, a política não será aplicada por um curto período 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 é instalado automaticamente uma vez. Se o usuário desinstalar, ele não será instalado de novo.
  • forceAutoInstall: o app será instalado automaticamente. Se o usuário desinstalar, ele será instalado de novo. Em dispositivos gerenciados, o DPC precisa bloquear a desinstalação usando DevicePolicyManager.setUninstallBlocked.

Em caso de falha (perda de conectividade, falta de armazenamento etc.), as instalações são repetidas automaticamente até serem concluídas. Uma estratégia de nova tentativa com espera exponencial é aplicada para evitar o desperdício de bateria e dados no caso de falhas irrecuperáveis.

Prioridade de instalação

Para escolher a ordem de instalações, defina autoInstallPriority. A prioridade precisa ser um número inteiro sem assinatura, e o valor padrão é 0. Os apps serão instalados em ordem ou prioridade crescente, o que significa que os apps com o valor de prioridade menor serão instalados primeiro.

Restrições de instalação

Você pode definir restrições de instalação para cada app definindo um autoInstallConstraint, permitindo controlar o estado necessário do dispositivo durante a instalação:

  • se o dispositivo deve estar 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 colocadas na fila até que as restrições sejam atendidas.

Em uma autoInstallConstraint, a regra AND é aplicada entre os campos. Por exemplo, com o autoInstallConstraint abaixo, o dispositivo precisa estar carregando e conectado a uma rede ilimitada (por exemplo, Wi-Fi) para que o app seja instalado:

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

Instalação automática de apps 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 em dispositivos recém-provisionados, detecte notificações NewDeviceEvent. A partir de cada NewDeviceEvent, recupere o userId e o deviceId e, em seguida, chame Devices.update para definir a política para esse dispositivo.

Para saber como receber notificações de EMM, consulte Configurar notificações de EMM.

Distribuir apps para testes fechados

Os testes fechados permitem que os desenvolvedores de apps recebam feedback de usuários confiáveis sobre as primeiras versões do app. Os desenvolvedores podem configurar testes fechados no Google Play Console. Use a API Play EMM para permitir que os administradores de TI distribuam versões fechadas (também chamadas de faixas) de apps para usuários específicos. Os clientes empresariais podem usar esse recurso não apenas para testar apps 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 precisa 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 página Configurações avançadas do app.
  • Todas as versões fechadas do app atendem aos requisitos de código de versão.

Adicionar uma empresa aos testes fechados

Os desenvolvedores de apps podem adicionar empresas a testes que usam os métodos Teste Alfa fechado ou Teste Alfa usando 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 empresarial, de cada empresa participante. Os administradores de TI podem fornecer o ID da organização a desenvolvedores de apps externos 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 de informações correspondente e envie 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 da página Configurações avançadas do app. Para conferir as instruções, consulte Publicar um app particular.

Distribuir faixas fechadas para os usuários

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

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

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

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

Monitorar as licenças de apps pagos

Em apps pagos, o objeto Grouplicenses monitora quantas licenças uma empresa tem e quantas estão em uso. Você pode chamar Grouplicenses.get para ver 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, o app será instalado no dispositivo e um objeto Entitlements será criado. Um objeto 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 falhará e nenhum objeto Entitlements será criado.

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