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 do Google Play gerenciado
Figura 1. O iframe do Google Play gerenciado mostrando a página "Apps de pesquisa".

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.

Todas as páginas são ativadas no iframe por padrão, mas podem ser desativadas individualmente (consulte Adicionar o iframe ao seu console).


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

Para gerar um token da Web que identifique a empresa, chame Enterprises.createWebToken. O exemplo a seguir mostra como recuperar o token usando a biblioteca de cliente da API EMM do Google Play para Java.

Todas as páginas no iframe são ativadas por padrão. Ao gerar um token da Web, é possível especificar quais páginas devem ser desativadas. O exemplo abaixo desativa apps particulares, apps da Web e "Organizar apps".

public AdministratorWebToken getAdministratorWebToken(
        String enterpriseId) throws IOException {
    AdministratorWebTokenSpec tokenSpec = new AdministratorWebTokenSpec();
    tokenSpec.setParent("https://my-emm-console.com");
    tokenSpec.setPlaySearch(new AdministratorWebTokenSpecPlaySearch());
    tokenSpec.setPrivateApps(new AdministratorWebTokenSpecPrivateApps().setEnabled(false));
    tokenSpec.setWebApps(new AdministratorWebTokenSpecWebApps().setEnabled(false));
    tokenSpec.setStoreBuilder(new AdministratorWebTokenSpecStoreBuilder().setEnabled(false));
    return androidEnterprise
        .enterprise()
        .createWebToken(enterpriseId, tokenSpec)
        .execute();
}

É necessário incluir o token retornado, junto com outros parâmetros, ao renderizar o iframe no console.

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);