Niektóre aplikacje przeznaczone dla firm mają wbudowane ustawienia nazywane konfiguracjami zarządzanymi, które administratorzy IT mogą konfigurować zdalnie. Na przykład aplikacja może mieć opcję synchronizowania danych tylko wtedy, gdy urządzenie jest połączone z Wi-Fi. W przypadku wszystkich zestawów rozwiązań wymagane jest umożliwienie administratorom IT określania konfiguracji zarządzanych i stosowania ich na urządzeniach. Konfiguracje zarządzane możesz obsługiwać w konsoli EMM na 2 sposoby:
- Utwórz własny interfejs i zastosuj ustawienia za pomocą
managedConfiguration
w ApplicationPolicy. - Dodaj do konsoli element iframe konfiguracji zarządzanej (instrukcje znajdziesz poniżej) i zastosuj ustawienia za pomocą
managedConfigurationTemplate
w ApplicationPolicy
Element iframe konfiguracji zarządzanej to możliwy do umieszczenia interfejs, który umożliwia administratorom IT zapisywanie, edytowanie i usuwanie ustawień konfiguracji zarządzanej aplikacji. Możesz na przykład wyświetlić przycisk (lub podobny element interfejsu) na stronie z informacjami lub ustawieniami aplikacji, który otwiera element iframe.
Działania dostępne dla administratorów IT w elemencie iframe
Ustawianie i zapisywanie profili konfiguracji
Element iframe pobiera i wyświetla schemat konfiguracji zarządzanych dla określonej aplikacji. W elemencie iframe administrator IT może ustawiać konfiguracje i zapisywać je jako profile konfiguracji. Za każdym razem, gdy administrator IT zapisuje nowy profil konfiguracji, element iframe zwraca unikalny identyfikator o nazwie mcmId
.
Dzięki temu administratorzy IT mogą tworzyć wiele profili dla tej samej aplikacji.
Edytowanie profili konfiguracji
Element iframe może wyświetlać zapisane profile konfiguracji. Administratorzy IT mogą aktualizować ustawienia w profilu i zapisywać zmiany.
Usuń profile konfiguracji
Administratorzy IT mogą usuwać profile konfiguracji z elementu iframe. Ta funkcja jest domyślnie wyłączona.
Dodawanie elementu iframe do konsoli
Generowanie tokena internetowego
Za pomocą enterprises.webTokens.create
wygeneruj token internetowy, który identyfikuje firmę, i ustaw iframeFeature
na MANAGED_CONFIGURATIONS
. Podczas renderowania elementu iframe w konsoli musisz uwzględnić zwrócony token wraz z innymi parametrami.
Renderowanie elementu iframe
Oto przykład renderowania elementu iframe konfiguracji zarządzanej:
<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.
Parametr | Wymagane | Opis |
---|---|---|
token |
Tak | Token zwrócony z Enterprises.createWebToken . |
packageName |
Tak | Identyfikator produktu aplikacji. Na przykład com.google.android.gm . |
mcmId |
Nie | Identyfikator profilu konfiguracji zarządzanej. |
canDelete |
Nie | Jeśli ma wartość TRUE, włącza w elemencie iframe przycisk, który umożliwia administratorom IT usunięcie profilu konfiguracji zarządzanej. Jeśli wartość domyślna to FALSE, przycisk jest wyłączony. |
locale |
Nie | Prawidłowo sformatowany tag języka BCP 47, który służy do lokalizowania treści w elemencie iframe. Jeśli nie podasz żadnej wartości, domyślną wartością będzie en_US. |
Zdarzenia iframe
W ramach integracji musisz też obsługiwać poniższe zdarzenia.
Zdarzenie | Opis |
---|---|
onconfigupdated |
Użytkownik zaktualizuje istniejący profil konfiguracji zarządzanej lub utworzy nowy. Zwraca on obiekt zawierający:{ "mcmId": The ID of the managed configurations profile. "name": The name of the updated or newly created managed configurations profile. } |
onconfigdeleted |
Użytkownik usuwa istniejący profil konfiguracji zarządzanej. Zwraca on obiekt zawierający:{ "mcmId": The ID of the managed configurations profile. } |
Ten przykład pokazuje, jak nasłuchiwać słowa onconfigupdated
:
iframe.register('onconfigupdated', function(event) {
console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);
Aktualizacje schematu konfiguracji zarządzanych w aplikacji
Jeśli deweloper zaktualizuje schemat konfiguracji zarządzanej aplikacji, zapisane profile konfiguracji zostaną automatycznie zaktualizowane. Jeśli na przykład deweloper usunie jakąś opcję, zostanie ona usunięta ze wszystkich istniejących profili konfiguracji aplikacji. Jeśli deweloper doda opcję, jej domyślna wartość (zdefiniowana przez dewelopera) zostanie dodana do wszystkich istniejących profili konfiguracji aplikacji.
Zastosuj profile konfiguracji do zasady
Każdy profil konfiguracji jest zapisywany jako unikalny identyfikator mcmId
. Aby zastosować do zasady profil konfiguracji, wpisz mcmId
w managedConfigurationTemplate
.
Działanie po zaznaczeniu/odznaczeniu
Element iframe konfiguracji zarządzanej umożliwia teraz administratorom IT jawne odznaczanie ograniczeń aplikacji w konfiguracji zarządzanej, gdy ich nie potrzebują. Jest to zmiana w stosunku do poprzedniego sposobu działania i może mieć wpływ na ograniczenia wysyłane do aplikacji w zależności od wyboru administratora.
W sekcji poniżej opisujemy, jak działa element iframe konfiguracji zarządzanej z nowym wzorcem odznaczania, a także informacje, jakie deweloperzy mogą się spodziewać w ramach konfiguracji zarządzanej.
Używanie wartości domyślnej ograniczenia aplikacji
Jeśli ograniczenia aplikacji z typem bool, choice, integer, wielokrotny wybór lub ciąg znaków mają wartość domyślną, ta wartość będzie stosowana jako wartość ograniczenia aplikacji, gdy administratorzy zapiszą konfigurację zarządzaną bez konieczności wprowadzania zmian w tym ograniczeniu.
Na przykład z tym schematem ograniczeń aplikacji:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
Ograniczenia aplikacji wysłane na urządzenie będą:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
Bez używania domyślnych wartości ograniczeń aplikacji
Jeśli ograniczenia aplikacji z typem bool, choice, integer, wielokrotny wybór lub ciąg znaków nie mają wartości domyślnej, te ograniczenia aplikacji nie są uwzględniane, gdy administratorzy zapisują konfigurację zarządzaną bez zastosowania w nich żadnych zmian.
Na przykład z tym schematem ograniczeń aplikacji:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
Ograniczenia aplikacji wysłane na urządzenie będą:
"restrictions": [
// Empty
]
Używanie pakietów w schemacie
Ta sekcja dotyczy ograniczeń aplikacji dotyczących pakietów:
mieć co najmniej 1 ograniczenie dotyczące aplikacji dla dzieci z wartością domyślną w ograniczeniu dotyczącym pakietu aplikacji.
Jeśli w ramach pakietu w ramach ograniczenia dotyczącego aplikacji podrzędnej co najmniej jedno ograniczenie dotyczące aplikacji podrzędnej ma typ bool, wybór, całkowite, wielokrotny wybór lub ciąg znaków z wartością domyślną, wartość domyślna jest stosowana jako wartość ograniczenia aplikacji, a te bez wartości domyślnych zostaną wykluczone, gdy administratorzy zapiszą konfigurację zarządzaną bez wprowadzania w nich żadnych zmian.
"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 wysł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 ramach pakietu ograniczenia dotyczące aplikacji podrzędnych podlegają ograniczeniom typu bool, wybór, liczba całkowita, wielokrotny wybór lub ciąg znaków, nie mają wartości domyślnej, ograniczenie dotyczące pakietu aplikacji nie zostanie uwzględnione, gdy administratorzy zapiszą konfigurację zarządzaną bez zastosowania żadnych zmian w tym zakresie.
Na przykład z tym schematem 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 wysłane na urządzenie będą:
"restrictions": [
// Empty
]
Korzystanie z tablicy_pakietu w schemacie
Ta sekcja dotyczy ograniczeń aplikacji związanych z atrybutem bundle_array. Nie ma znaczenia, jeśli ograniczenia dotyczące aplikacji podrzędnych z typem bool, choice, integer, wyborem wielokrotnym lub ciągiem znaków mają wartości domyślne.
Na przykład z tym schematem 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
}
}]
}]
}]
Ograniczenie dotyczące aplikacji „bundle_array” zawiera co najmniej 1 grupę pakietów.
Jeśli skonfigurowana jest co najmniej 1 grupa pakietów, po zapisaniu konfiguracji zarządzanej przez administratora zostanie uwzględnione ograniczenie aplikacji bundle_array.
Ograniczenia aplikacji wysł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 zapiszesz jedno ograniczenie lub grupę pakietów, wszystkie ograniczenia/pakiety w całym bundle_array
będą miały takie priorytety:
- wartość wybrana przez administratora
- domyślna wartość podana dla tego pakietu/ograniczenia.
- wartość wyświetlana w elemencie iframe, jeśli nie ma wartości domyślnej.
Brak grup pakietów w ograniczeniu dotyczącym aplikacji „bundle_array”
Ograniczenie aplikacji bundle_array nie zostanie uwzględnione, gdy administratorzy zapiszą konfigurację zarządzaną bez dodawania grupy pakietu. Ograniczenia aplikacji wysłane na urządzenie będą:
"restrictions": [
// Empty
]