Como desenvolvedor, talvez você queira permitir que os administradores do ChromeOS Enterprise configurem seu app de forma dinâmica. A API Managed Configuration oferece uma maneira eficiente de permitir que eles gerenciem o comportamento do app quando ele é instalado. É possível definir uma interface para permitir que os administradores transmitam a configuração ao app e mudem o comportamento dele de forma dinâmica, incluindo, entre outros:
- Definir um tamanho de janela específico ao abrir.
- Pré-preencher endereços de servidores ou configurações de autenticação.
- Ativar ou desativar recursos do app.
Como configurar a API Web Managed Configuration
A configuração gerenciada exige etapas a serem realizadas por desenvolvedores e administradores empresariais. Os desenvolvedores precisam implementar a API e publicar a interface. Os administradores corporativos precisam configurar a instância no Admin Console. Para ilustrar essas etapas, vamos usar como exemplo a configuração de diferentes opções de login. Um administrador do Enterprise pode querer permitir que alguns usuários ou unidades organizacionais façam login com determinadas credenciais e desativar outras.
Definir e compartilhar sua interface configurável
Assim como em qualquer outro tipo de serviço externo, é uma boa prática começar definindo uma interface que possa ser compartilhada externamente com qualquer cliente que queira configurar seu app. A configuração gerenciada envia um dicionário JSON para o app. Por isso, recomendamos que você documente cada parâmetro com uma descrição, um tipo, um padrão e opções válidas. Confira um exemplo de como isso pode aparecer em um parâmetro para desativar as opções de login:
| Parâmetro | Tipo | Padrão | Opções | Descrição |
|---|---|---|---|---|
| String[] |
|
| Uma lista de opções de login a serem desativadas. |
Documentar a interface dessa forma ajuda a comunicar o serviço com equipes e clientes externos e pode ajudar você a mantê-lo a longo prazo. Com o código acima, um administrador empresarial pode usar o seguinte JSON para desativar o login do "email":
{ “DisableLoginOptions”: ["email"] };
Definir configuração gerenciada
O Google Admin Console oferece uma interface para que os administradores empresariais configurem uma configuração gerenciada. No momento da redação deste artigo, a opção aparece à direita do aplicativo selecionado, abaixo do nome **Configuração gerenciada**. Ao inserir um valor e salvar a configuração, ela fica disponível automaticamente para o aplicativo gerenciado usar.
A interface do Google Admin Console para inserir campos de configuração gerenciados
Para desativar um login, por exemplo, o administrador corporativo pode configurar o app com { "‘DisableLoginOptions’" : ["email"]} para todos os usuários na unidade organizacional raiz. Isso vai disponibilizar automaticamente a configuração para o app gerenciado depois de salvar as mudanças.
Recuperar a configuração do seu app
Com a interface definida e a configuração enviada ao app, agora é necessário recuperá-la dentro do app. Para isso, chame a API Managed Configuration:
navigator.managed.getManagedConfiguration(['DisableLoginOptions']).then(function (result) { // result = { "‘DisableLoginOptions’" : ["email"]} // hide email login option });
getManagedConfiguration é uma função baseada em promessas que recebe uma chave como uma matriz de strings e retorna o resultado como um objeto JSON. Esse é o valor inserido pelo administrador corporativo na etapa anterior.
Observação: se você já usou a matriz de transformação para TextureView no seu código, a prévia pode não aparecer corretamente em um dispositivo naturalmente horizontal, como os Chromebooks. É provável que sua matriz de transformação assuma incorretamente que a orientação do sensor é de 90 ou 270 graus. Consulte este commit no GitHub para uma solução alternativa, mas recomendamos migrar seu app para usar o método descrito aqui.
O resultado pode ser usado para mudar o comportamento do app,permitindo que os administradores o configurem de forma dinâmica e o ajustem às necessidades de todas as unidades organizacionais.