Obsługa konfiguracji zarządzanych

Niektóre aplikacje przeznaczone dla firm mają wbudowane ustawienia zarządzane konfiguracji, które administratorzy IT mogą konfigurować zdalnie. Aplikacja może na przykład mogą synchronizować dane tylko wtedy, gdy urządzenie jest połączone z siecią Wi-Fi. Dostarczanie możliwość określania i stosowania konfiguracji zarządzanych przez administratorów IT, urządzeń jest wymagane dla wszystkich zestawów rozwiązań. Konfiguracje zarządzane można obsługiwać w konsoli EMM na 2 sposoby:

  • Utwórz własny interfejs i zastosuj ustawienia za pomocą narzędzia managedConfiguration w ApplicationPolicy.
  • Dodaj do konsoli element iframe konfiguracji zarządzanych (szczegółowe instrukcje) poniżej) i zastosuj ustawienia za pomocą opcji managedConfigurationTemplate w ApplicationPolicy


Element iframe konfiguracji zarządzanych to możliwy do umieszczenia interfejs użytkownika, który umożliwia administratorom IT umieszczanie w nim elementów. zapisywania, edytowania i usuwania ustawień konfiguracji zarządzanej aplikacji. Możesz na przykład wyświetlać przycisk (lub podobny element interfejsu) w szczegółach aplikacji lub strony ustawień, która otwiera element iframe.

Działania dostępne dla administratorów IT z poziomu elementu iframe

iframe MCM
Rysunek 1. Przykładowy element iframe z konfiguracjami zarządzanymi w Gmailu.

Ustawianie i zapisywanie profili konfiguracji

Element iframe pobiera i wyświetla schemat konfiguracji zarządzanych dla w przypadku określonej aplikacji. W elemencie iframe administrator może określić konfiguracje i zapisać jako profil konfiguracji. Za każdym razem, gdy administrator zapisze nowy plik profilu konfiguracji, element iframe zwraca unikalny identyfikator o nazwie mcmId. Dzięki temu administratorzy IT mogą tworzyć wiele profili dla tego samego .

Edytuj profile konfiguracji

Element iframe może wyświetlać zapisane profile konfiguracji. Administratorzy IT mogą zaktualizować ustawienia w profilu i zapisać zmiany.

Usuń profile konfiguracji

Administratorzy IT mogą usuwać profile konfiguracji z elementu iframe. Ta funkcja jest domyślnie wyłączone.

Dodawanie elementu iframe do konsoli

Generowanie tokena internetowego

Użyj formatu enterprises.webTokens.create aby wygenerować token sieciowy identyfikujący firmę i ustawić iframeFeature jako MANAGED_CONFIGURATIONS Musisz dołączyć zwrócony token wraz z innymi podczas renderowania elementu iframe w konsoli.

Renderowanie elementu iframe

Oto przykład renderowania elementu iframe konfiguracji zarządzanych:

<script src="https://apis.google.com/js/api.js"></script>
<div id="container" style="width: 1000px; height: 1000px"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/managed/mcm?token=web_token&packageName=app_package_name',
      'where': document.getElementById('container'),
      'attributes': { style: 'height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

Parametry adresu URL

Tabela poniżej zawiera wszystkie dostępne parametry adresu URL elementu iframe.

ParametrWymaganeOpis
token Tak Token zwrócony z serwera Enterprises.createWebToken.
packageName Tak Identyfikator produktu aplikacji. Przykład: com.google.android.gm
mcmId Nie Identyfikator profilu konfiguracji zarządzanych.
canDelete Nie Jeśli wartość to TRUE, włącza w elemencie iframe przycisk, który umożliwia IT usunięcia profilu konfiguracji zarządzanych przez administratorów. Jeśli FALSE (wartość domyślna) – przycisk jest wyłączony.
locale Nie Prawidłowo sformułowana BCP 47 language, który służy do lokalizowania treści w elemencie iframe. Jeśli nie, wartością domyślną jest en_US.

Zdarzenia iframe

W ramach integracji musisz też obsługiwać poniższe zdarzenia.

ZdarzenieOpis
onconfigupdated Użytkownik aktualizuje istniejący profil konfiguracji zarządzanych lub tworzy nowy jeden. Spowoduje to zwrócenie obiektu zawierającego:
{
  "mcmId": The ID of the managed configurations profile.
  "name": The name of the updated or newly created managed configurations profile.
}
onconfigdeleted Użytkownik usunie istniejący profil konfiguracji zarządzanych. Powoduje to zwrot obiekt zawierający:
{
  "mcmId": The ID of the managed configurations profile.
}

Z przykładu poniżej dowiesz się, jak nasłuchiwać elementu onconfigupdated:

iframe.register('onconfigupdated', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);

Aktualizacje schematu konfiguracji zarządzanych aplikacji

Jeśli deweloper zaktualizuje schemat konfiguracji zarządzanej aplikacji, zapisano są automatycznie aktualizowane. Jeśli na przykład deweloper spowoduje usunięcie opcji, zostanie ona usunięta ze wszystkich istniejących konfiguracji profili aplikacji. Jeśli programista doda opcję, domyślną wartością parametru opcja (zdefiniowana przez programistę) zostanie dodana do całej istniejącej konfiguracji profili aplikacji.

Zastosuj profile konfiguracji do zasady

Każdy profil konfiguracji jest zapisywany jako unikalny element mcmId. Aby zastosować profilu konfiguracji do zasady, określ mcmId w managedConfigurationTemplate


Zrozumienie zachowania polegającego na wyborze i odznaczeniu

Element iframe konfiguracji zarządzanych umożliwia teraz administratorom IT wyraźne odznaczenie miejsca ograniczenia aplikacji w konfiguracji zarządzanej, gdy ich nie potrzebują. Ten jest zmianą w stosunku do wcześniejszego zachowania i może mieć wpływ na to, jakie są wysyłane do Twojej aplikacji na podstawie wyboru administratora.

W sekcji poniżej opisujemy, jak działa element iframe w konfiguracjach zarządzanych nowego wzorca odznaczenia i tego, czego deweloperzy mogą się spodziewać z konfiguracją zarządzaną.

Używanie wartości domyślnej ograniczenia aplikacji

Jeśli w przypadku ograniczeń aplikacji typu bool choice, integer, wybór wielokrotny lub ciąg znaków z wartością domyślną, która zostanie zastosowana jako ograniczenia aplikacji, jeśli administratorzy zapiszą konfigurację zarządzaną bez zastosowanie jakichkolwiek zmian w tym ograniczeniu aplikacji.

Na przykład za pomocą tego schematu ograniczeń aplikacji:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "defaultValue": {
        "type": "bool",
        "valueBool": false
    }
}]

Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "value": {
        "type": "bool",
        "valueBool": false
    }
}]

Bez użycia wartości domyślnych ograniczeń dotyczących aplikacji

Jeśli w przypadku ograniczeń aplikacji typu bool choice, integer, wybór wielokrotny lub ciąg znaków nie mają wartości domyślnej, te ograniczenia aplikacji nie zostaną uwzględniana, gdy administratorzy zapisują konfigurację zarządzaną bez zastosowania zmian dotyczące tego ograniczenia.

Na przykład za pomocą tego schematu ograniczeń aplikacji:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool"
    // defaultValue absent.
}]

Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [
    // Empty
]

Używanie pakietów w schemacie

Ta sekcja dotyczy pakietu ograniczenia aplikacji:

Musisz mieć co najmniej 1 ograniczenie aplikacji podrzędnej z wartością domyślną w ograniczeniu dotyczącym aplikacji w pakiecie.

Jeśli w grupie ograniczenie aplikacji dla co najmniej jednego z ograniczeń aplikacji podrzędnych typu bool, choice, liczba całkowita, wybór wielokrotny lub ciąg z wartością domyślną, która zostanie zastosowana jako ograniczenia aplikacji – te bez wartości domyślnych zostaną wykluczone gdy administratorzy zapiszą konfigurację zarządzaną bez zastosowania w niej żadnych zmian. ograniczenia aplikacji.

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": false
            }
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": false
            }
        },
        // The bool_key_2 child app restriction is not included.
    ]
}]

Wszystkie ograniczenia aplikacji podrzędnych bez wartości domyślnych

Jeśli w grupie ograniczenia aplikacji wszystkie ograniczenia aplikacji podrzędnych według typu bool, choice, liczba całkowita, wybór wielokrotny lub ciąg nie są dostarczane z wartością domyślną, tj. pakiet ograniczenia aplikacji nie będą uwzględniane, gdy administratorzy zapiszą konfigurację zarządzaną bez wprowadzania zmian w tych ograniczeniach.

Na przykład za pomocą tego schematu ograniczeń aplikacji:

"restrictions": [{
    "key": "bundle_key",
    "restrictionType": "bundle",
    "nestedRestriction": [{
            "key": "bool_key_1",
            "restrictionType": "bool",
            // defaultValue absent.
        },
        {
            "key": "bool_key_2",
            "restrictionType": "bool"
            // defaultValue absent.
        }
    ]
}]

Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [
    // Empty
]

Korzystanie z pakietu „bundle_array” w schemacie

Ta sekcja dotyczy tabeli bundle_array ograniczenia aplikacji. Nie ma znaczenia, jeśli aplikacja podrzędna ma ograniczenia typu bool, choice, integer, wybór wielokrotny lub ciąg znaków mają wartości domyślne.

Na przykład za pomocą tego schematu ograniczeń aplikacji:

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "defaultValue": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

Obecność co najmniej 1 grupy pakietów w ograniczeniu aplikacji bundle_array

Jeśli co najmniej 1 grupa , atrybut bundle_array ograniczenie dotyczące aplikacji będzie uwzględniane, gdy administratorzy zapiszą konfigurację zarządzaną.

Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [{
    "key": "bundle_array_key",
    "restrictionType": "bundleArray",
    "nestedRestriction": [{
        "key": "bundle_key",
        "restrictionType": "bundle",
        "nestedRestriction": [{
            "key": "bool_key",
            "restrictionType": "bool",
            "value": {
                "type": "bool",
                "valueBool": true
            }
        }]
    }]
}]

Jeśli zapisane jest jedno ograniczenie lub grupa pakietów, wszystkie ograniczenia/pakiety w całym elemencie bundle_array będzie mieć następujący pierwszeństwo:

  • wartość wybrana przez administratora,
  • domyślna wartość podana dla tego pakietu lub tego ograniczenia.
  • wartość wyświetlana w elemencie iframe, jeśli nie ma wartości domyślnej.
.

Brak grup pakietów w ograniczeniu aplikacji bundle_array

bundle_array ograniczenia aplikacji nie będą uwzględniane, gdy administratorzy zapiszą konfigurację zarządzaną bez dodawania grupy grupy reklam. Ograniczenia aplikacji wysyłane na urządzenie będą:

"restrictions": [
    // Empty
]