Element iframe konfiguracji zarządzanych

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.

Wyświetlanie elementu iframe konfiguracji zarządzanych w konsoli

Generowanie tokena internetowego

Użyj narzędzia Enterprises.createWebToken, aby wygenerować token internetowy identyfikujący firmę. Musisz dołączyć parametr zwrócony token wraz z innymi parametrami, podczas renderowania elementu iframe konsoli. Poniższy przykład pokazuje, jak pobrać token za pomocą polecenia Google Biblioteka klienta Play EMM API dla języka Java

public AdministratorWebToken getAdministratorWebToken(
    String enterpriseId,
    AdministratorWebTokenSpec tokenSpec) throws IOException {
  return androidEnterprise
     .enterprise()
     .createWebToken(enterpriseId, tokenSpec)
     .execute();
}

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.

Stosuj konfiguracje zarządzane do użytkowników urządzenia

Aby dowiedzieć się, jak stosować konfiguracje zarządzane do użytkowników urządzeń, zobacz Zastosuj konfiguracje zarządzane


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 dla wszystkich aplikacji podrzędnych 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 dotyczy on ograniczeń aplikacji podrzędnych 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
            }
        }]
    }]
}]

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
]