Distribuir apps

Veja abaixo informações úteis sobre a distribuição de apps na Google Play Store gerenciada.

Instalar apps

Você pode instalar apps Android da Google Play Store nos dispositivos por meio de políticas. Para usar esse recurso, você precisa saber o nome do pacote do app que quer instalar. Há duas opções para encontrar o nome do pacote do app:

  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 aplicativo do Google Chrome é

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

  2. Incorpore o iframe do Google Play gerenciado no console de EMM para permitir que os clientes naveguem na 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 no dispositivo ou adicionado à Google Play Store gerenciada no dispositivo.

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 conjunto de testadores. Isso é chamado de teste fechado. O suporte à distribuição de faixas fechadas permite que as organizações testem apps de terceiros e qualquer app particular que desenvolvam 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 direcionadas a uma empresa e distribuir essas faixas fechadas para dispositivos via política.

Apps qualificados para testes fechados

Antes de configurar um teste fechado, os desenvolvedores precisam verificar se o app atende aos seguintes requisitos:

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

Adicionar uma empresa aos testes fechados

Ao configurar um teste fechado, os desenvolvedores de apps podem conceder acesso a testes fechados a uma organização adicionando o ID da organização deles. Para localizar o ID da organização, seus clientes precisam seguir 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-a ao desenvolvedor.

Para apps particulares, o desenvolvedor também precisa adicionar o ID da organização de cada empresa participante na página Preços e distribuição do Play Console. Veja 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 para 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 do releaseTrackId no URL da página no Play Console que mostra as informações da faixa do app.
  • trackAlias: o nome legível 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), a política vai instalar a faixa com o código de versão mais recente.

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

  • 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 interrompe a faixa.

iframe do Google Play gerenciado

Com o iframe do Google Play gerenciado, é possível incorporar o Google Play gerenciado diretamente ao console de EMM para oferecer aos clientes uma experiência unificada de gerenciamento de mobilidade.

iframe-play-gerenciado
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 em apps do Google Play, além de ver detalhes dos apps e selecionar apps.
  • Apps particulares: permitem que os 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 a forma como os apps são organizados no app Play Store nos dispositivos dos usuários.

Recursos

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


Adicionar o iframe ao seu 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 serão ativados no iframe: PLAY_SEARCH, PRIVATE_APPS, WEB_APPS, STORE_BUILDER (organizar apps). Se iframeFeature não estiver definido, o iframe ativará todos os recursos por padrão.

Etapa 2: Renderizar o iframe

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

<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 de iframe podem ser definidos com a opção "attributes", conforme mostrado acima.

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 da 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 especificada, a ordem de precedência a seguir determinará 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 valor 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 reprovem apps. Esse modo está obsoleto. Use SELECT. O modo APROVAÇÃO só funciona se PlaySearch.ApproveApps estiver definido como true no token da Web.
showsearchbox Pesquisar apps Não TRUE (padrão): exibe a caixa de pesquisa e inicia a consulta de pesquisa do iframe.
FALSE: a caixa de pesquisa não é exibida.
search Pesquisar apps Não String de pesquisa. Se especificado, o iframe direciona o administrador de TI para os resultados da pesquisa com a string especificada.

Etapa 3. Processar eventos de iframe

Também é preciso processar os eventos a seguir como parte da sua integração.

EventoDescrição
onproductselect O usuário seleciona ou aprova um app. Isso retorna um objeto contendo:
{
    "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 próprio app na Google Play Store

Se você ou seu cliente desenvolver um app Android, faça upload dele na Play Store usando o Google Play Console.

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