Distribuir apps

As seções a seguir fornecem informações úteis sobre a distribuição de apps na Google Play Store gerenciada.

Instalar apps

É possível instalar apps Android da Google Play Store em dispositivos usando a política. Para usar esse recurso, você precisa saber o nome do pacote do app que quer instalar. Para encontrar o nome do pacote do app, você tem duas opções:

  1. O nome do pacote do app está no URL da página da Google Play Store. Por exemplo, o URL da página do app Google Chrome é

    https://play.google.com/store/apps/details?id=com.android.chrome
    e o nome do pacote é com.android.chrome.

  2. É possível incorporar o iframe do Google Play gerenciado no console de EMM para permitir que os clientes naveguem pela Google Play Store. Quando o cliente seleciona um app no iframe, o console de EMM recebe o nome do pacote no evento.

Em seguida, adicione o app à política do dispositivo:

"applications":[
   {
      "installType":"FORCE_INSTALLED",
      "packageName":"com.android.chrome",
   },
],

Quando você aplica a política a um dispositivo, o app é instalado nele ou adicionado à Google Play Store gerenciada.

Distribuir apps para testes fechados

No Play Console, os desenvolvedores de apps podem criar uma versão fechada (faixa fechada) para testar versões de pré-lançamento do app com um grupo de testadores. Isso é chamado de teste fechado. A compatibilidade com a distribuição de faixa fechada permite que as organizações testem apps de terceiros, bem como qualquer app particular desenvolvido internamente.

Ao configurar um teste fechado no Play Console, os desenvolvedores de apps podem segmentar até 100 organizações (enterprises). É possível usar a API Android Management para recuperar as faixas fechadas segmentadas para uma empresa e distribuir essas faixas para dispositivos usando a política.

Apps qualificados para testes fechados

Antes de configurar um teste fechado, os desenvolvedores precisam garantir que o app atenda aos seguintes requisitos:

  • Uma versão de produção do app é publicada no Google Play (ou no Google Play gerenciado, para apps particulares)
  • No Google Play Console, a opção Google Play gerenciado está ativada na página Configurações avançadas do app.
  • Todas as versões fechadas do app atendem aos requisitos do código de versão.

Adicionar uma empresa a testes fechados

Ao configurar um teste fechado, os desenvolvedores de apps podem conceder a uma organização acesso a testes fechados adicionando o ID da organização. Seus clientes podem localizar o ID da organização usando estas instruções:

  1. Faça login no Google Play gerenciado usando uma conta de administrador.
  2. Clique em Configurações de administrador.
  3. Copie a string do ID da organização na caixa de informações correspondente e envie para o desenvolvedor.

Para 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. Confira as instruções em Publicar apps particulares no Play Console.

Distribuir faixas fechadas para os usuários

Para recuperar uma lista de faixas disponíveis para uma empresa em um app especificado, chame enterprises.applications. A lista appTrackInfo[] incluída na resposta contém o seguinte para determinados apps:

  • trackId: o identificador exclusivo da faixa, extraído de releaseTrackId no URL da página no Play Console que mostra as informações da faixa do app.
  • trackAlias: o nome legível para humanos da faixa, que pode ser modificado no Play Console.

Para instalar uma faixa fechada no dispositivo de um usuário, especifique o accessibleTrackIds na política do dispositivo:

"applications":[
   {
      "installType":"AVAILABLE",
      "packageName":"com.google.android.gm",
      "accessibleTrackIds":[
          "123456",
          "789101"
       ]
   },
],

Se uma política tiver várias faixas do mesmo app (como no exemplo acima), ela vai instalar a faixa com o código de versão mais recente.

Os trackIds são removidos automaticamente da chamada enterprises.applications em determinados cenários, como estes:

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

Iframe do Google Play gerenciado

Com o iframe do Google Play gerenciado, você pode incorporar o Google Play gerenciado diretamente no console de EMM para oferecer aos clientes uma experiência de gerenciamento de mobilidade unificada.

managed-play-iframe
Figura 1. Iframe do Google Play gerenciado

O iframe contém uma barra de título e um menu lateral expansível. No menu, os usuários podem navegar para diferentes páginas:

  • Pesquisar apps: permite que os administradores de TI pesquisem e naveguem pelos apps do Google Play, acessem os detalhes dos apps e selecionem apps.
  • Apps particulares: permite que administradores de TI publiquem e gerenciem apps particulares para a empresa.
  • Apps da Web: permite que administradores de TI publiquem e distribuam atalhos de sites como apps.
  • Organizar apps: permite que os administradores de TI configurem como os apps são organizados no app da Play Store nos dispositivos dos usuários.

Recursos

Esta seção descreve os recursos disponíveis no iframe do Google Play gerenciado. Para informações sobre como incorporar o iframe e implementar esses recursos, consulte Adicionar o iframe ao console.


Adicionar o iframe ao console

Etapa 1. Gerar um token da Web

Chame enterprises.webTokens.create para gerar um token da Web que identifique a empresa. A resposta contém o value do token.

  • Defina parentFrameUrl como o URL do frame pai que hospeda o iframe.
  • Use iframeFeature para especificar quais recursos ativar no iframe: PLAY_SEARCH, PRIVATE_APPS, WEB_APPS, STORE_BUILDER (organizar apps). Se iframeFeature não estiver definido, o iFrame vai ativar todos os recursos por padrão.

Etapa 2. Renderizar o iframe

Confira um exemplo de como renderizar o iframe gerenciado do Google Play:

<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
      'where': document.getElementById('container'),
      'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

Esse código gera um iframe dentro do contêiner div. Os atributos a serem aplicados à tag iframe podem ser definidos com a opção "attributes", conforme mencionado anteriormente.

Parâmetros de URL

A tabela abaixo lista todos os parâmetros disponíveis para o iframe que podem ser adicionados ao URL como parâmetros de URL, por exemplo:

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
Parâmetro Página Obrigatório Descrição
token N/A Sim O token retornado na Etapa 1.
iframehomepage N/A Não A página inicial exibida quando o iframe é renderizado. Os valores possíveis são PLAY_SEARCH, WEB_APPS, PRIVATE_APPS e STORE_BUILDER (organizar apps). Se não for especificado, a ordem de precedência a seguir determina qual página será exibida: 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3. WEB_APPS, 4. STORE_BUILDER.
locale N/A Não Uma tag de idioma BCP 47 bem formada que é usada para localizar o conteúdo no iframe. Se não for especificado, o padrão será en_US.
mode Pesquisar apps Não SELECT: permite que os administradores de TI selecionem apps.
APPROVE (padrão): permite que os administradores de TI selecionem, aprovem e cancelem a aprovação de apps.
showsearchbox Pesquisar apps Não TRUE (padrão): mostra a caixa de pesquisa e inicia a consulta de pesquisa no iframe.
FALSE: a caixa de pesquisa não é mostrada.
search Pesquisar apps Não String de pesquisa. Se especificado, o iframe direciona o administrador de TI aos resultados da pesquisa com a string especificada.

Etapa 3. Processar eventos de iframe

Você também precisa processar os eventos a seguir como parte da integração.

EventoDescrição
onproductselect O usuário seleciona ou aprova um app. Isso retorna um objeto que contém:
{
    "packageName": The package name of the app, e.g. "com.google.android.gm",
    "productId": The product ID of the app, e.g. "app:com.google.android.gm",
    "action": The type of action performed on the document. Possible values are:
    "approved", "unapproved" or "selected." If you implement the iframe in SELECT
    mode, the only possible value is "selected".
}
    
O exemplo abaixo mostra como detectar onproductselect:
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);


Fazer upload do seu app na Google Play Store

Se você ou seu cliente desenvolverem um app Android, será possível fazer upload dele na Play Store usando o Google Play Console.

Se você não quiser que o app seja disponibilizado publicamente na Play Store, é possível restringir o app a uma única empresa usando o Google Play Console. Outra opção é publicar um app particular de forma programática usando a API Google Play Custom App Publishing. Os apps particulares só estão disponíveis para a empresa a que são restritos. Eles ainda podem ser instalados usando uma política, mas não são visíveis para usuários fora da sua empresa.