Iframe de Google Play administrado

Con el iframe de Google Play administrado, puedes incorporar Google Play administrado directamente en tu consola de EMM para ofrecer a los clientes una experiencia de administración de movilidad unificada.

iframe de Google Play administrado
Figura 1. El iframe de Google Play administrado que muestra la página de apps de búsqueda.

El iframe contiene una barra de título y un menú lateral expandible. Desde el menú, los usuarios pueden navegar a diferentes páginas:

  • Buscar apps: Permite que los administradores de TI busquen y exploren apps de Google Play, vean detalles de las apps y seleccionen apps.
  • Apps privadas: Permite que los administradores de TI publiquen y administren apps privadas para su empresa.
  • Apps web: Permite que los administradores de TI publiquen y distribuyan atajos de sitios web como apps.
  • Organizar apps: Permite que los administradores de TI configuren la forma en que se organizan las apps en la app de Play Store en los dispositivos de sus usuarios.

Todas las páginas están habilitadas en el iframe de forma predeterminada, pero se pueden inhabilitar de forma individual (consulta Cómo agregar el iframe a tu consola).


Funciones

En esta sección, se describen las funciones disponibles en el iframe de Google Play administrado. Para obtener información sobre cómo incorporar el iframe y, luego, implementar estas funciones, consulta Cómo agregar el iframe a tu consola.


Agrega el iframe a tu consola

Paso 1: Genera un token web

Para generar un token web que identifique a la empresa, llama a Enterprises.createWebToken. En el siguiente ejemplo, se muestra cómo recuperar el token con la biblioteca cliente de la API de Google Play EMM para Java.

Todas las páginas del iframe están habilitadas de forma predeterminada. Cuando generas un token web, puedes especificar qué páginas inhabilitar. En el siguiente ejemplo, se inhabilitan las apps privadas, las apps web y la opción para organizar las 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();
}

Debes incluir el token que se muestra, junto con otros parámetros, cuando renderices el iframe en tu consola.

Paso 2: Renderiza el iframe

Este es un ejemplo de cómo renderizar el iframe de Play administrado:

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

Este código genera un iframe dentro del contenedor div. Los atributos que se aplicarán a la etiqueta de iframe se pueden establecer con la opción "attributes", como se indicó anteriormente.

Parámetros de URL

En la siguiente tabla, se enumeran todos los parámetros disponibles para el iframe que se pueden agregar a la URL como parámetros de URL, p. ej.:

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
Parámetro Página Obligatorio Descripción
token N/A El token que se muestra en el Paso 1
iframehomepage N/A No Es la página inicial que se muestra cuando se renderiza el iframe. Los valores posibles son PLAY_SEARCH, WEB_APPS, PRIVATE_APPS y STORE_BUILDER (organizar apps). Si no se especifica, el siguiente orden de prioridad determina qué página se muestra: 1. PLAY_SEARCH, 2. PRIVATE_APPS, 3. WEB_APPS, 4. STORE_BUILDER.
locale N/A No Una etiqueta de idioma BCP 47 bien formada que se usa para localizar el contenido en el iframe Si no se especifica, el valor predeterminado es en_US.
mode Buscar apps No SELECT: Permite que los administradores de TI seleccionen apps.
APPROVE (predeterminado): Permite que los administradores de TI seleccionen, aprueben y rechacen apps.
showsearchbox Buscar apps No TRUE (predeterminado): Muestra el cuadro de búsqueda e inicia la búsqueda desde el iframe.
FALSE: no se muestra el cuadro de búsqueda.
search Buscar apps No Cadena de búsqueda. Si se especifica, el iframe dirige al administrador de TI a los resultados de la búsqueda con la cadena especificada.

Paso 3: Cómo controlar eventos de iframe

También debes controlar los siguientes eventos como parte de tu integración.

EventoDescripción
onproductselect El usuario selecciona o aprueba una app. Esto muestra un objeto que contiene lo siguiente:
{
    "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".
}
    
En el siguiente ejemplo, se muestra cómo escuchar onproductselect:
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);