Configuración administrada web

Como desarrollador, es posible que desees permitir que los administradores de ChromeOS Enterprise configuren tu app de forma dinámica. La API de Managed Configuration te ofrece una forma eficaz de permitirles administrar el comportamiento de tu app cuando se instala. Puedes definir una interfaz para permitir que los administradores pasen la configuración a tu app y cambien su comportamiento de forma dinámica, lo que incluye, sin limitaciones, lo siguiente:

  • Establece un tamaño de ventana determinado al abrirla.
  • Prepropaga las direcciones del servidor o las configuraciones de autenticación.
  • Habilitar o inhabilitar funciones de la app

Configura la API de Web Managed Configuration

La configuración administrada requiere que tanto los desarrolladores como los administradores empresariales realicen ciertos pasos. Los desarrolladores deben implementar la API y publicar su interfaz. Los administradores de Enterprise deben configurar su instancia desde la Consola del administrador. Para ilustrar estos pasos, usaremos como ejemplo la configuración de diferentes opciones de acceso. Es posible que un administrador de Enterprise quiera permitir que algunos usuarios o unidades organizativas accedan con ciertas credenciales y, luego, inhabilitar a otros.

Define y comparte tu interfaz configurable

Al igual que con cualquier otro tipo de servicio externo, es una buena práctica comenzar por definir una interfaz que se pueda compartir de forma externa con cualquier cliente que desee configurar tu app. La configuración administrada envía un diccionario JSON a tu app, por lo que te recomendamos que documentes cada parámetro con una descripción, un tipo, un valor predeterminado y opciones válidas. Así es como podría verse un parámetro para inhabilitar las opciones de acceso:

                                                                                   
ParámetroTipoPredeterminadaOpcionesDescripción

DisableLoginOptions

String[]

[]

"email", "google"

Es una lista de opciones de acceso que se inhabilitarán.

Documentar la interfaz de esta manera ayuda a comunicar el servicio con equipos y clientes externos, y puede ayudarte a mantenerlo a largo plazo. Con lo anterior, un administrador de Enterprise puede usar el siguiente JSON para inhabilitar el acceso con "email":

{
  “DisableLoginOptions: ["email"]
};

Establece la configuración administrada

​​La Consola del administrador de Google proporciona una interfaz que permite a los administradores empresariales configurar una configuración administrada. En el momento de escribir este artículo, la opción aparece a la derecha de la aplicación seleccionada, con el nombre **Configuración administrada**. Si ingresas un valor y guardas la configuración, este estará disponible automáticamente para que lo use la aplicación administrada.

IU de la Consola del administrador de Google para insertar campos de configuración administrados

IU de la Consola del administrador de Google para insertar campos de configuración administrados

Para inhabilitar un acceso, por ejemplo, el administrador de Enterprise puede configurar la app con { "‘DisableLoginOptions’" : ["email"]} para todos los usuarios de la unidad organizativa raíz. Esto hará que esa configuración esté disponible automáticamente para la app administrada después de guardar los cambios.

Recupera la configuración de tu app

Una vez que definiste tu interfaz y se envía la configuración a tu app, ahora debes recuperarla dentro de ella. Para ello, llama a la API de Managed Configuration:

navigator.managed.getManagedConfiguration(['DisableLoginOptions']).then(function (result) {
  // result = { "‘DisableLoginOptions’" : ["email"]}
  // hide email login option
});

getManagedConfiguration es una función basada en promesas que recibe una clave como un array de cadenas y devuelve el resultado como un objeto JSON. Este es el valor que ingresó el administrador de la empresa en el paso anterior.

Nota: Si ya usaste la matriz de transformación para TextureView en tu código, es posible que la vista previa no se vea bien en un dispositivo con orientación horizontal natural, como las Chromebooks. Es probable que tu matriz de transformación suponga incorrectamente que la orientación del sensor es de 90 o 270 grados. Puedes consultar esta confirmación en GitHub para obtener una solución alternativa, pero te recomendamos que migres tu app para que use el método que se describe aquí.

Luego, el resultado se puede usar para cambiar el comportamiento de tu app, lo que permite que los administradores la configuren de forma dinámica y la ajusten a las necesidades de todas sus unidades organizativas.