Kuruluşlar için tasarlanan bazı uygulamalarda, BT yöneticilerinin uzaktan yapılandırabileceği yönetilen yapılandırmalar adı verilen yerleşik ayarlar bulunur. Örneğin, bir uygulama yalnızca bir cihaz kablosuz ağa bağlıyken verileri senkronize etme seçeneğine sahip olabilir. BT yöneticilerine yönetilen yapılandırmalar belirleme ve bunları cihazlara uygulama olanağı sağlamak, tüm çözüm grupları için bir zorunluluktur. EMM konsolunuzda yönetilen yapılandırmaları desteklemenin iki yolu vardır:
- ApplicationPolicy'de kendi kullanıcı arayüzünüzü oluşturup ayarları
managedConfiguration
aracılığıyla uygulayın. - Yönetilen yapılandırma iframe'ini konsolunuza ekleyin (talimatlar aşağıda açıklanmıştır) ve ApplicationPolicy'de ayarları
managedConfigurationTemplate
aracılığıyla uygulayın.
Yönetilen yapılandırma iframe'i, BT yöneticilerinin bir uygulamanın yönetilen yapılandırma ayarlarını kaydetmesine, düzenlemesine ve silmesine olanak tanıyan yerleştirilebilir bir kullanıcı arayüzüdür. Örneğin, bir uygulamanın iframe'i açan ayrıntılar veya ayarlar sayfasında bir düğme (veya benzer bir kullanıcı arayüzü öğesi) görüntüleyebilirsiniz.
BT yöneticilerinin iframe'den yararlanabilecekleri işlemler
![mm iframe](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/play/emm-api/images/mcm_iframe.png?authuser=3&hl=tr)
Yapılandırma profillerini ayarlama ve kaydetme
iframe, belirtilen bir uygulama için yönetilen yapılandırmalar şemasını alır ve görüntüler. iframe içinde bir BT yöneticisi yapılandırmaları ayarlayabilir ve bunları bir yapılandırma profili olarak kaydedebilir. BT yöneticisinin yeni bir yapılandırma profili kaydettiği her seferde iframe, mcmId
adlı benzersiz bir tanımlayıcı döndürür.
Bu, BT yöneticilerinin aynı uygulama için birden fazla profil oluşturmasına olanak tanır.
Yapılandırma profillerini düzenle
iframe, kayıtlı yapılandırma profillerini görüntüleyebilir. BT yöneticileri, bir profildeki ayarları güncelleyebilir ve değişikliklerini kaydedebilir.
Yapılandırma profillerini silme
BT yöneticileri, yapılandırma profillerini iframe'den silebilir. Bu özellik varsayılan olarak devre dışıdır.
iframe'i konsolunuza ekleme
Web jetonu oluşturma
Kuruluşu tanımlayan bir web jetonu oluşturmak için enterprises.webTokens.create
kodunu kullanın ve iframeFeature
öğesini MANAGED_CONFIGURATIONS
olarak ayarlayın. Konsolunuzda iframe'i oluştururken diğer parametrelerle birlikte döndürülen jetonu da eklemeniz gerekir.
iframe'i oluşturma
Aşağıda, yönetilen yapılandırma iframe'inin nasıl oluşturulacağına ilişkin bir örnek verilmiştir:
<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>
URL parametreleri
Aşağıdaki tabloda, iframe URL'si için kullanılabilen tüm parametreler listelenmiştir.
Parametre | Gerekli | Açıklama |
---|---|---|
token |
Evet | Enterprises.createWebToken cihazından döndürülen jeton. |
packageName |
Evet | Uygulamanın ürün kimliğidir. Örneğin, com.google.android.gm . |
mcmId |
Hayır | Yönetilen yapılandırma profilinin kimliği. |
canDelete |
Hayır | TRUE ise iframe'de, BT yöneticilerinin yönetilen yapılandırmalar profilini silmesine olanak tanıyan bir düğmeyi etkinleştirir. FALSE (varsayılan değer) değerine ayarlanırsa düğme devre dışıdır. |
locale |
Hayır | iframe'deki içeriği yerelleştirmek için kullanılan, iyi oluşturulmuş bir BCP 47 language etiketi. Belirtilmezse varsayılan değer en_US olur. |
iFrame etkinlikleri
Entegrasyonunuzun bir parçası olarak aşağıdaki etkinlikleri de yönetmeniz gerekir.
Etkinlik | Açıklama |
---|---|
onconfigupdated |
Kullanıcı mevcut bir yönetilen yapılandırma profilini günceller veya yeni bir profil oluşturur. Bu komut, şunları içeren bir nesne döndürür:
{ "mcmId": The ID of the managed configurations profile. "name": The name of the updated or newly created managed configurations profile. } |
onconfigdeleted |
Kullanıcı mevcut bir yönetilen yapılandırma profilini silerse. Bu komut, şunları içeren bir nesne döndürür:
{ "mcmId": The ID of the managed configurations profile. } |
Aşağıdaki örnekte onconfigupdated
ifadesinin nasıl dinleneceği gösterilmektedir:
iframe.register('onconfigupdated', function(event) {
console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);
Bir uygulamanın yönetilen yapılandırma şemasında yapılan güncellemeler
Geliştirici bir uygulamanın yönetilen yapılandırma şemasını güncellerse kayıtlı yapılandırma profilleri otomatik olarak güncellenir. Örneğin, geliştirici bir seçeneği kaldırırsa bu seçenek, uygulamanın mevcut tüm yapılandırma profillerinden kaldırılır. Geliştirici bir seçenek eklerse, uygulamanın varsayılan değeri (geliştirici tarafından tanımlanır) uygulamanın mevcut tüm yapılandırma profillerine eklenir.
Yapılandırma profillerini politikaya uygula
Her yapılandırma profili benzersiz bir mcmId
olarak kaydedilir. Bir politikaya yapılandırma profili uygulamak için managedConfigurationTemplate
bölümünde mcmId
değerini belirtin.
Seçme/seçimini kaldırma davranışını anlama
Yönetilen yapılandırma iframe'i artık BT yöneticilerinin, ihtiyaç duymadıkları zaman yönetilen bir yapılandırmaya ait uygulama kısıtlamalarının seçimini açık bir şekilde kaldırmalarına olanak tanıyor. Bu durum, önceki davranışın değişmesine neden olur ve yöneticinin seçimine bağlı olarak uygulamanıza hangi kısıtlamaların gönderileceğini etkileyebilir.
Aşağıdaki bölümde, yönetilen yapılandırma iframe'inin bu yeni seçimi kaldırma kalıbıyla nasıl davrandığı ve geliştiricilerin, yönetilen yapılandırmalarının bir parçası olarak ne gönderilmesini bekleyebilecekleri özetlenmektedir.
Bir uygulama kısıtlaması için varsayılan değer kullanılıyor
bool, choice, integer, çoklu seçim veya dize türündeki uygulama kısıtlamalarına varsayılan bir değer sağlanırsa yöneticiler, yönetilen yapılandırmayı uygulama kısıtlamasında herhangi bir değişiklik yapmadan kaydettiğinde, uygulama kısıtlamasının değeri olarak varsayılan değer uygulanır.
Örneğin, aşağıdaki uygulama kısıtlama şeması ile:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
Cihaza gönderilen uygulama kısıtlamaları:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
Uygulama kısıtlamaları için varsayılan değerler kullanılmadan
bool, choice, integer, multi-select veya string türündeki uygulama kısıtlamalarına varsayılan bir değer sağlanmazsa yöneticiler, yönetilen yapılandırmayı uygulama kısıtlamasında herhangi bir değişiklik yapmadan kaydettiğinde bu uygulama kısıtlamaları dahil edilmez.
Örneğin, aşağıdaki uygulama kısıtlama şeması ile:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
Cihaza gönderilen uygulama kısıtlamaları:
"restrictions": [
// Empty
]
Şemanızda paketleri kullanma
Bu bölüm, paket uygulama kısıtlamaları için geçerlidir:
Paket uygulama kısıtlamasında varsayılan değere sahip en az bir alt uygulama kısıtlamasına sahip olma
Paket uygulama kısıtlaması kapsamında, bool, choice, tamsayı, çoklu seçim veya dize türüne sahip alt uygulama kısıtlamalarından en az birine varsayılan bir değer sağlanırsa, uygulama kısıtlamasının değeri olarak varsayılan değer uygulanır. Yöneticiler herhangi bir değişiklik yapmadan yönetilen uygulamayı kaydettiğinde, varsayılan değere sahip olmayanlar hariç tutulur.
"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.
}
]
}]
Cihaza gönderilen uygulama kısıtlamaları:
"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.
]
}]
Varsayılan değeri olmayan tüm alt uygulama kısıtlamaları
Paket uygulaması kısıtlaması dahilinde, bool, choice, tamsayı, çoklu seçim veya dize türüne sahip tüm alt uygulama kısıtlamalarına varsayılan bir değer sağlanmazsa yöneticiler yönetilen yapılandırmayı herhangi bir değişiklik yapmadan kaydettiğinde paket uygulama kısıtlaması dahil edilmez.
Örneğin, aşağıdaki uygulama kısıtlama şeması ile:
"restrictions": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key_1",
"restrictionType": "bool",
// defaultValue absent.
},
{
"key": "bool_key_2",
"restrictionType": "bool"
// defaultValue absent.
}
]
}]
Cihaza gönderilen uygulama kısıtlamaları:
"restrictions": [
// Empty
]
Şemanızda Bundle_array kullanma
Bu bölüm, bundle_array uygulama kısıtlamaları için geçerlidir. bool, choice, integer, multi-select veya string türündeki alt uygulama kısıtlamalarının varsayılan değerleri varsa bu sınır geçerli değildir.
Örneğin, aşağıdaki uygulama kısıtlama şeması ile:
"restrictions": [{
"key": "bundle_array_key",
"restrictionType": "bundleArray",
"nestedRestriction": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": true
}
}]
}]
}]
Bundle_array uygulama kısıtlamasında en az bir paket grubuna sahip olma
En az bir bundle grubu ayarlanmışsa yöneticiler yönetilen yapılandırmayı kaydettiğinde bundle_array uygulama kısıtlaması dahil edilir.
Cihaza gönderilen uygulama kısıtlamaları:
"restrictions": [{
"key": "bundle_array_key",
"restrictionType": "bundleArray",
"nestedRestriction": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": true
}
}]
}]
}]
Bir kısıtlama veya paket grubu kaydedilirse bundle_array
genelindeki tüm kısıtlamalar/gruplar aşağıdaki öncelik sırasına göre ayarlanır:
- yönetici tarafından seçilen değer
- ilgili paket/kısıtlama için listelenen varsayılan değerdir.
- varsayılan değer yoksa iFrame'de görüntülenen değer
Bundle_array uygulama kısıtlamasında paket grubu yok
Yöneticiler, yönetilen yapılandırmayı bir bundle grubu eklemeden kaydettiğinde bundle_array uygulama kısıtlaması dahil edilmez. Cihaza gönderilen uygulama kısıtlamaları:
"restrictions": [
// Empty
]