Jako deweloper możesz chcieć umożliwić administratorom ChromeOS Enterprise dynamiczne konfigurowanie Twojej aplikacji. Interfejs Managed Configuration API to zaawansowane narzędzie, które pozwala im zarządzać działaniem aplikacji po jej zainstalowaniu. Możesz zdefiniować interfejs, który umożliwi administratorom przekazywanie konfiguracji do aplikacji i dynamiczne zmienianie jej działania, w tym m.in.:
- Ustawianie określonego rozmiaru okna podczas otwierania.
- wstępnie wypełniać adresy serwerów lub konfiguracje uwierzytelniania;
- włączanie i wyłączanie funkcji aplikacji;
Konfigurowanie interfejsu Web Managed Configuration API
Konfiguracja zarządzana wymaga wykonania czynności zarówno przez deweloperów, jak i administratorów Enterprise. Deweloperzy muszą zaimplementować interfejs API i opublikować swój interfejs. Administratorzy wersji Enterprise muszą skonfigurować instancję w konsoli administracyjnej. Aby zilustrować te kroki, użyjemy jako przykładu konfigurowania różnych opcji logowania. Administrator wersji Enterprise może zezwolić niektórym użytkownikom lub jednostkom organizacyjnym na logowanie się za pomocą określonych danych logowania, a innym użytkownikom lub jednostkom organizacyjnym może to uniemożliwić.
Zdefiniuj i udostępnij interfejs z możliwością konfiguracji
Podobnie jak w przypadku każdego innego typu usługi zewnętrznej, warto zacząć od zdefiniowania interfejsu, który można udostępnić zewnętrznie każdemu klientowi, który chce skonfigurować Twoją aplikację. Konfiguracja zarządzana wysyła do aplikacji słownik JSON, dlatego zalecamy udokumentowanie każdego parametru za pomocą opisu, typu, wartości domyślnej i prawidłowych opcji. Oto jak może wyglądać parametr wyłączający opcje logowania:
| Parametr | Typ | Domyślny | Opcje | Opis |
|---|---|---|---|---|
| Ciąg znaków[] |
|
| Lista opcji logowania, które mają być wyłączone. |
Dokumentowanie interfejsu w ten sposób ułatwia komunikację z zespołami zewnętrznymi i klientami oraz pomaga w jego utrzymaniu w dłuższej perspektywie. W tym celu administrator organizacji może użyć tego kodu JSON, aby wyłączyć logowanie za pomocą "email":
{ “DisableLoginOptions”: ["email"] };
Ustawianie konfiguracji zarządzanej
Konsola administracyjna Google udostępnia interfejs, który umożliwia administratorom Enterprise konfigurowanie zarządzanych ustawień. W momencie pisania tego artykułu opcja ta jest widoczna po prawej stronie wybranej aplikacji pod nazwą **Konfiguracja zarządzana**. Wpisanie wartości i zapisanie konfiguracji powoduje, że jest ona automatycznie dostępna do użycia przez zarządzaną aplikację.
interfejs konsoli administracyjnej Google do wstawiania pól konfiguracji zarządzanej;
Aby na przykład wyłączyć logowanie, administrator Enterprise może skonfigurować aplikację za pomocą { "‘DisableLoginOptions’" : ["email"]} dla wszystkich użytkowników w głównej jednostce organizacyjnej. Po zapisaniu zmian ta konfiguracja będzie automatycznie dostępna dla zarządzanej aplikacji.
Pobieranie konfiguracji z aplikacji
Po zdefiniowaniu interfejsu i wysłaniu konfiguracji do aplikacji musisz ją pobrać w aplikacji. Aby to zrobić, wywołaj interfejs Managed Configuration API:
navigator.managed.getManagedConfiguration(['DisableLoginOptions']).then(function (result) { // result = { "‘DisableLoginOptions’" : ["email"]} // hide email login option });
getManagedConfiguration to funkcja oparta na obietnicach, która przyjmuje klucz w postaci tablicy ciągów znaków i zwraca wynik jako obiekt JSON. Jest to wartość wpisana przez administratora firmy w poprzednim kroku.
Uwaga: jeśli w kodzie używasz wcześniej macierzy przekształceń dla elementu TextureView, podgląd może wyglądać nieprawidłowo na urządzeniu w orientacji poziomej, takim jak Chromebook. Prawdopodobnie macierz przekształcenia nieprawidłowo zakłada, że orientacja czujnika wynosi 90 lub 270 stopni. Obejście tego problemu znajdziesz w tym zatwierdzeniu w GitHubie, ale zdecydowanie zalecamy przeniesienie aplikacji na metodę opisaną tutaj.
Wynik można następnie wykorzystać do zmiany działania aplikacji,co pozwala administratorom dynamicznie konfigurować aplikację i dostosowywać ją do potrzeb wszystkich jednostek organizacyjnych.