मैनेज किए जा रहे कॉन्फ़िगरेशन iframe में एम्बेड किया जा सकने वाला यूज़र इंटरफ़ेस (यूआई) होता है. इसकी मदद से, आईटी एडमिन ऐप्लिकेशन की मैनेज की जा रही कॉन्फ़िगरेशन सेटिंग को सेव करना, उनमें बदलाव करना, और उन्हें मिटाना. आप ये काम कर सकते हैं, उदाहरण के लिए, किसी ऐप्लिकेशन की जानकारी में कोई बटन या मिलता-जुलता यूज़र इंटरफ़ेस (यूआई) एलिमेंट दिखाएं या जो iframe खोलता है.
आईटी एडमिन के लिए iframe से उपलब्ध कार्रवाइयां
![mcm iframe](https://developers-dot-devsite-v2-prod.appspot.com/static/android/work/play/emm-api/images/mcm_iframe.png?authuser=2&hl=hi)
कॉन्फ़िगरेशन प्रोफ़ाइल को सेट और सेव करें
iframe
दिया गया ऐप्लिकेशन. iframe में, आईटी एडमिन कॉन्फ़िगरेशन सेट कर सकता है और
उन्हें कॉन्फ़िगरेशन प्रोफ़ाइल के रूप में शामिल कर सकते हैं. जब भी कोई आईटी एडमिन, सेव किए गए
कॉन्फ़िगरेशन प्रोफ़ाइल मौजूद है, तो iframe एक यूनीक आइडेंटिफ़ायर दिखाता है. इस आइडेंटिफ़ायर को mcmId
कहते हैं.
इससे आईटी एडमिन, एक ही आईडी के लिए कई प्रोफ़ाइलें बना सकते हैं
है.
कॉन्फ़िगरेशन प्रोफ़ाइलों में बदलाव करें
iframe में सेव की गई कॉन्फ़िगरेशन प्रोफ़ाइल दिखाई जा सकती हैं. आईटी एडमिन ये काम कर सकते हैं किसी प्रोफ़ाइल में सेटिंग अपडेट करना और उनके बदलावों को सेव करना.
कॉन्फ़िगरेशन प्रोफ़ाइल मिटाएं
आईटी एडमिन, iframe से कॉन्फ़िगरेशन प्रोफ़ाइल मिटा सकते हैं. इस सुविधा में डिफ़ॉल्ट रूप से बंद रहता है.
अपने कंसोल में मैनेज किया जा रहा कॉन्फ़िगरेशन iframe दिखाएं
वेब टोकन जनरेट करें
Enterprises.createWebToken
का इस्तेमाल करके, एंटरप्राइज़ की पहचान करने वाला वेब टोकन जनरेट करें. आपको इसे शामिल करना होगा
आपके ब्राउज़र में iframe को रेंडर करते समय अन्य पैरामीटर के साथ टोकन लौटाया गया
कंसोल. यहां दिए गए उदाहरण में, Google
Java के लिए ईएमएम एपीआई क्लाइंट लाइब्रेरी Play.
public AdministratorWebToken getAdministratorWebToken(
String enterpriseId,
AdministratorWebTokenSpec tokenSpec) throws IOException {
return androidEnterprise
.enterprise()
.createWebToken(enterpriseId, tokenSpec)
.execute();
}
iframe को रेंडर करना
यहां दिए गए उदाहरण में मैनेज किए गए कॉन्फ़िगरेशन iframe को रेंडर करने का तरीका बताया गया है:
<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>
यूआरएल पैरामीटर
नीचे दी गई टेबल में, iframe यूआरएल के लिए उपलब्ध सभी पैरामीटर दिए गए हैं.
पैरामीटर | ज़रूरी है | ब्यौरा |
---|---|---|
token |
हां | Enterprises.createWebToken से टोकन वापस किया गया. |
packageName |
हां | ऐप्लिकेशन का प्रॉडक्ट आईडी. उदाहरण के लिए,
com.google.android.gm . |
mcmId |
नहीं | मैनेज की जा रही कॉन्फ़िगरेशन प्रोफ़ाइल का आईडी. |
canDelete |
नहीं | अगर TRUE है, तो iframe में उस बटन को चालू करता है जो आईटी को अनुमति देता है एडमिन, मैनेज की जा रही कॉन्फ़िगरेशन प्रोफ़ाइल मिटा सकते हैं. अगर आपने FALSE (डिफ़ॉल्ट वैल्यू), बटन बंद होता है. |
locale |
नहीं | बेहतर तरीके से बनाया गया बीसीपी 47 language टैग शामिल हो जिसका इस्तेमाल iframe में कॉन्टेंट को स्थानीय भाषा में लिखने के लिए किया जाता है. अगर नहीं बताई गई डिफ़ॉल्ट वैल्यू en_US है. |
Iframe इवेंट
आपको इंटिग्रेशन के दौरान, इन इवेंट को भी मैनेज करना चाहिए.
इवेंट | ब्यौरा |
---|---|
onconfigupdated |
उपयोगकर्ता, मैनेज की जा रही किसी मौजूदा कॉन्फ़िगरेशन प्रोफ़ाइल को अपडेट करता है या नई प्रोफ़ाइल बनाता है
एक. इससे एक ऑब्जेक्ट मिलता है, जिसमें:
{ "mcmId": The ID of the managed configurations profile. "name": The name of the updated or newly created managed configurations profile. } |
onconfigdeleted |
उपयोगकर्ता, मैनेज की जा रही मौजूदा कॉन्फ़िगरेशन प्रोफ़ाइल को मिटाता है. इससे रिटर्न
एक ऑब्जेक्ट में शामिल है:
{ "mcmId": The ID of the managed configurations profile. } |
यहां दिए गए उदाहरण में, onconfigupdated
को सुनने का तरीका बताया गया है. जैसे:
iframe.register('onconfigupdated', function(event) {
console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);
किसी ऐप्लिकेशन के मैनेज किए जा रहे कॉन्फ़िगरेशन स्कीमा में अपडेट
अगर डेवलपर, किसी ऐप्लिकेशन के लिए मैनेज किए जा रहे कॉन्फ़िगरेशन स्कीमा को अपडेट करता है, तो कॉन्फ़िगरेशन प्रोफ़ाइल अपने-आप अपडेट हो जाती हैं. उदाहरण के लिए, अगर डेवलपर किसी विकल्प को हटाने पर, वह विकल्प सभी मौजूदा कॉन्फ़िगरेशन से हट जाएगा प्रोफ़ाइल बनाने के लिए किया जा सकता है. अगर डेवलपर कोई विकल्प जोड़ता है, तो विकल्प (डेवलपर ने तय किया है) को सभी मौजूदा कॉन्फ़िगरेशन में जोड़ दिया जाएगा प्रोफ़ाइल बनाने के लिए किया जा सकता है.
उपयोगकर्ताओं के मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करें डिवाइस
उपयोगकर्ताओं के मैनेज किए जा रहे कॉन्फ़िगरेशन को लागू करने का तरीका जानने के लिए डिवाइस, देखें मैनेज किए जा रहे कॉन्फ़िगरेशन लागू करें.
चुनें या चुने हुए का निशान हटाएं
मैनेज किए जा रहे कॉन्फ़िगरेशन का iframe अब आईटी एडमिन को, चुने हुए का निशान हटाने की अनुमति देता है मैनेज किए जा रहे कॉन्फ़िगरेशन के लिए, ऐप्लिकेशन पर लगी पाबंदियां हटाना. यह पुराने तरीके में बदलाव हुआ है और इससे पाबंदियों पर भी असर पड़ सकता है एडमिन के चुने हुए विकल्प के हिसाब से, आपके ऐप्लिकेशन पर भेजी जाती हैं.
नीचे दिया गया सेक्शन बताता है कि मैनेज किए जा रहे कॉन्फ़िगरेशन iframe के साथ कैसे काम करते हैं यह नया पैटर्न और इस बात का ध्यान रखें कि डेवलपर, मैनेज किया जा रहा कॉन्फ़िगरेशन.
ऐप्लिकेशन पर पाबंदी के लिए, डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जा रहा है
अगर बूल टाइप वाले ऐप्लिकेशन पर पाबंदियां लगी हैं, विकल्प, integer, एक से ज़्यादा चुनें या स्ट्रिंग एक डिफ़ॉल्ट वैल्यू दी गई होती है और डिफ़ॉल्ट वैल्यू इस तरह लागू होती है: जब एडमिन, मैनेज किए जा रहे कॉन्फ़िगरेशन को इसके बिना सेव करते हैं, तो ऐप्लिकेशन पर लगी पाबंदी की वैल्यू उस ऐप्लिकेशन प्रतिबंध पर कोई भी बदलाव लागू करके.
उदाहरण के लिए, ऐप्लिकेशन पर पाबंदी लगाने वाले इस स्कीमा का इस्तेमाल करके:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
ऐप्लिकेशन से जुड़ी पाबंदियों के लिए डिफ़ॉल्ट वैल्यू का इस्तेमाल किए बिना
अगर बूल टाइप वाले ऐप्लिकेशन पर पाबंदियां लगी हैं, विकल्प, integer, एक से ज़्यादा चुनें या स्ट्रिंग की डिफ़ॉल्ट वैल्यू नहीं दी जाती है, ऐप्लिकेशन की ये पाबंदियां यह नीति तब शामिल की जाती है, जब एडमिन बिना कोई बदलाव किए, मैनेज किए जा रहे कॉन्फ़िगरेशन को सेव करते हैं की अनुमति नहीं है.
उदाहरण के लिए, ऐप्लिकेशन पर पाबंदी लगाने वाले इस स्कीमा का इस्तेमाल करके:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"restrictions": [
// Empty
]
अपने स्कीमा में बंडल का इस्तेमाल करना
यह सेक्शन बंडल पर लागू होता है ऐप्लिकेशन पाबंदियां:
बंडल ऐप्लिकेशन पाबंदी में डिफ़ॉल्ट वैल्यू के साथ, कम से कम एक चाइल्ड ऐप्लिकेशन पर पाबंदी होना
अगर बंडल में है bool टाइप वाले चाइल्ड ऐप्लिकेशन पर लगी पाबंदियों में से कम से कम एक पर, ऐप्लिकेशन पर पाबंदी लगाई गई है, विकल्प, integer, एक से ज़्यादा विकल्प चुनें या स्ट्रिंग एक डिफ़ॉल्ट वैल्यू दी गई होती है और डिफ़ॉल्ट वैल्यू इस तरह लागू होती है: ऐप्लिकेशन पर पाबंदी की वैल्यू और बिना डिफ़ॉल्ट वैल्यू को शामिल नहीं किया जाएगा जब एडमिन, मैनेज किए जा रहे कॉन्फ़िगरेशन को बिना कोई बदलाव लागू किए सेव कर लेते हैं ऐप्लिकेशन प्रतिबंध.
"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.
}
]
}]
डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"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.
]
}]
डिफ़ॉल्ट वैल्यू के बिना चाइल्ड ऐप्लिकेशन की सभी पाबंदियां
अगर बंडल में है bool टाइप वाली सभी चाइल्ड ऐप्लिकेशन पाबंदियां, विकल्प, integer, एक से ज़्यादा विकल्प चुनें या स्ट्रिंग किसी डिफ़ॉल्ट वैल्यू, बंडल के साथ नहीं दिए गए हैं जब एडमिन मैनेज किए जा रहे कॉन्फ़िगरेशन को सेव करेंगे, तो ऐप्लिकेशन पर लगी पाबंदी को शामिल नहीं किया जाएगा ध्यान दें कि वे ऐप्लिकेशन में कोई बदलाव न कर सकें.
उदाहरण के लिए, ऐप्लिकेशन पर पाबंदी लगाने वाले इस स्कीमा का इस्तेमाल करके:
"restrictions": [{
"key": "bundle_key",
"restrictionType": "bundle",
"nestedRestriction": [{
"key": "bool_key_1",
"restrictionType": "bool",
// defaultValue absent.
},
{
"key": "bool_key_2",
"restrictionType": "bool"
// defaultValue absent.
}
]
}]
डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"restrictions": [
// Empty
]
अपने स्कीमा में bundle_array का इस्तेमाल करना
यह सेक्शन bundle_array पर लागू होता है ऐप्लिकेशन के ऐक्सेस पर पाबंदियां लगाएं. अगर bool टाइप वाले चाइल्ड ऐप्लिकेशन पर पाबंदियां हैं, तो यह काम का नहीं है, विकल्प, integer, एक से ज़्यादा चुनें या स्ट्रिंग डिफ़ॉल्ट मान हैं.
उदाहरण के लिए, ऐप्लिकेशन पर पाबंदी लगाने वाले इस स्कीमा का इस्तेमाल करके:
"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 जब एडमिन मैनेज किए जा रहे कॉन्फ़िगरेशन को सेव करेंगे, तो ऐप्लिकेशन पर लगी पाबंदी को लागू कर दिया जाएगा.
डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"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 जब एडमिन मैनेज किए जा रहे कॉन्फ़िगरेशन को सेव करेंगे, तो ऐप्लिकेशन पर लगी पाबंदी को शामिल नहीं किया जाएगा बंडल जोड़े बिना ग्रुप. डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"restrictions": [
// Empty
]