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 ayrıntılarında veya ayarlar sayfasında iframe'i açan 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=7&hl=tr)
Yapılandırma profillerini ayarlama ve kaydetme
iframe, belirtilen bir uygulamanın yönetilen yapılandırma şemasını alır ve görüntüler. iframe içinde bir BT yöneticisi yapılandırmaları ayarlayıp yapılandırma profili olarak kaydedebilir. BT yöneticisi her yeni yapılandırma profili kaydettiğinde 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üncelleyip 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.
Yönetilen yapılandırmalar iframe'ini konsolunuzda görüntüleyin
Web jetonu oluşturma
Kuruluşu tanımlayan bir web jetonu oluşturmak için Enterprises.createWebToken
kodunu kullanın. Konsolda iframe'i oluştururken diğer parametrelerle birlikte döndürülen jetonu da eklemeniz gerekir. Aşağıdaki örnekte, Java için Google Play EMM API İstemci Kitaplığı'nı kullanarak jetonun nasıl alınacağı gösterilmektedir.
public AdministratorWebToken getAdministratorWebToken(
String enterpriseId,
AdministratorWebTokenSpec tokenSpec) throws IOException {
return androidEnterprise
.enterprise()
.createWebToken(enterpriseId, tokenSpec)
.execute();
}
iframe'i oluşturma
Aşağıda, yönetilen yapılandırmalar 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ği. Ö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 ise (varsayılan değer) düğme devre dışıdır. |
locale |
Hayır | iframe'deki içeriği yerelleştirmek için kullanılan, iyi biçimlendirilmiş BCP 47language etiketi. Belirtilmezse varsayılan değer en_US olur. |
iFrame etkinlikleri
Entegrasyonunuzun bir parçası olarak aşağıdaki etkinlikleri de yönetmelisiniz.
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 siler. Bu komut, şunları içeren bir nesne döndürür:
{ "mcmId": The ID of the managed configurations profile. } |
Aşağıdaki örnekte, onconfigupdated
metninin 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ırmalar ş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 seçeneğin varsayılan değeri (geliştirici tarafından tanımlanır) uygulamanın mevcut tüm yapılandırma profillerine eklenir.
Yönetilen yapılandırmaları kullanıcı cihazlarına uygulama
Yönetilen yapılandırmaları kullanıcıların cihazlarına nasıl uygulayacağınızı öğrenmek için Yönetilen yapılandırmaları uygulama başlıklı makaleyi inceleyin.
Seçme/seçim kaldırma davranışını anlama
Yönetilen yapılandırmalar iframe'i, artık BT yöneticilerinin ihtiyaç duymadıkları bir yönetilen yapılandırmanın uygulama kısıtlamalarının seçimini açık bir şekilde kaldırmasına olanak tanıyor. Bu, önceki davranıştan kaynaklanan bir değişikliktir 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çim 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 söz konusu uygulama kısıtlamasında herhangi bir değişiklik yapmadan yönetilen yapılandırmayı 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, çoklu seçim veya dize 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ı dahilinde 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, yönetilen yapılandırmayı herhangi bir değişiklik yapmadan bu yapılandırmaya kaydettiğinde varsayılan değer 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 uygulama kısıtlaması kapsamında 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 söz konusu uygulama kısıtlamasında herhangi bir değişiklik yapmadan yönetilen yapılandırmayı 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 durum 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 ayarlanırsa 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
}
}]
}]
}]
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
]