एंटरप्राइज़ के लिए डिज़ाइन किए गए कुछ ऐप्लिकेशन में, मैनेज किया जा रहा है” नाम की पहले से मौजूद सेटिंग मौजूद होती हैं कॉन्फ़िगरेशन जिसे आईटी एडमिन रिमोट तरीके से भी कॉन्फ़िगर कर सकते हैं. उदाहरण के लिए, कोई ऐप्लिकेशन डिवाइस के वाई-फ़ाई से कनेक्ट होने पर ही डेटा सिंक करने का विकल्प होता है. उपलब्ध कराया जा रहा है आईटी एडमिन के पास, मैनेज किए जा रहे कॉन्फ़िगरेशन की जानकारी देने और उन्हें इन कॉन्फ़िगरेशन पर लागू करने की सुविधा होती है सभी सॉलूशन सेट के लिए डिवाइसों का इस्तेमाल करना ज़रूरी है. ईएमएम कंसोल में, मैनेज किए जा रहे कॉन्फ़िगरेशन की सुविधा देने के दो तरीके हैं:
- अपना यूआई बनाएं और 
managedConfigurationकी मदद से इसमें सेटिंग लागू करें ApplicationPolicy. - अपने कंसोल में मैनेज किया जा रहा कॉन्फ़िगरेशन iframe जोड़ें (निर्देशों के बारे में ज़्यादा जानकारी दी गई है
नीचे दिया गया है) और इसमें 
managedConfigurationTemplateके ज़रिए सेटिंग लागू करें ApplicationPolicy 
मैनेज किए जा रहे कॉन्फ़िगरेशन iframe में एम्बेड किया जा सकने वाला यूज़र इंटरफ़ेस (यूआई) होता है. इसकी मदद से, आईटी एडमिन ऐप्लिकेशन की मैनेज की जा रही कॉन्फ़िगरेशन सेटिंग को सेव करना, उनमें बदलाव करना, और उन्हें मिटाना. आप ये काम कर सकते हैं, उदाहरण के लिए, ऐप्लिकेशन की जानकारी में कोई बटन या मिलता-जुलता यूज़र इंटरफ़ेस (यूआई) एलिमेंट दिखाएं या जो iframe खोलता है.
आईटी एडमिन के लिए iframe से उपलब्ध कार्रवाइयां
  कॉन्फ़िगरेशन प्रोफ़ाइल को सेट और सेव करें
iframe
दिया गया ऐप्लिकेशन. iframe में, आईटी एडमिन कॉन्फ़िगरेशन सेट कर सकता है और
उन्हें कॉन्फ़िगरेशन प्रोफ़ाइल के रूप में शामिल कर सकते हैं.  जब भी कोई आईटी एडमिन, सेव किए गए
कॉन्फ़िगरेशन प्रोफ़ाइल मौजूद है, तो iframe एक यूनीक आइडेंटिफ़ायर दिखाता है. इस आइडेंटिफ़ायर को mcmId कहते हैं.
इससे आईटी एडमिन, एक ही आईडी के लिए कई प्रोफ़ाइलें बना सकते हैं
है.
कॉन्फ़िगरेशन प्रोफ़ाइलों में बदलाव करें
iframe में सेव की गई कॉन्फ़िगरेशन प्रोफ़ाइल दिखाई जा सकती हैं. आईटी एडमिन ये काम कर सकते हैं किसी प्रोफ़ाइल में सेटिंग अपडेट करना और उनके बदलावों को सेव करना.
कॉन्फ़िगरेशन प्रोफ़ाइल मिटाएं
आईटी एडमिन, iframe से कॉन्फ़िगरेशन प्रोफ़ाइल मिटा सकते हैं. इस सुविधा में डिफ़ॉल्ट रूप से बंद रहता है.
अपने कंसोल में iframe जोड़ना
वेब टोकन जनरेट करें
enterprises.webTokens.create का इस्तेमाल करें
एंटरप्राइज़ की पहचान करने वाला वेब टोकन जनरेट करने के लिए. साथ ही, iframeFeature को
MANAGED_CONFIGURATIONS. आपको दूसरे टोकन के साथ-साथ, लौटाए गए टोकन की जानकारी भी देनी होगी
पैरामीटर का इस्तेमाल करें.
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);
किसी ऐप्लिकेशन के मैनेज किए जा रहे कॉन्फ़िगरेशन स्कीमा में अपडेट
अगर डेवलपर, किसी ऐप्लिकेशन के लिए मैनेज किए जा रहे कॉन्फ़िगरेशन स्कीमा को अपडेट करता है, तो कॉन्फ़िगरेशन प्रोफ़ाइल अपने-आप अपडेट हो जाती हैं. उदाहरण के लिए, अगर डेवलपर किसी विकल्प को हटाने पर, वह विकल्प सभी मौजूदा कॉन्फ़िगरेशन से हट जाएगा प्रोफ़ाइल बनाने के लिए किया जा सकता है. अगर डेवलपर कोई विकल्प जोड़ता है, तो विकल्प (डेवलपर ने तय किया है) को सभी मौजूदा कॉन्फ़िगरेशन में जोड़ दिया जाएगा प्रोफ़ाइल बनाने के लिए किया जा सकता है.
नीति में कॉन्फ़िगरेशन प्रोफ़ाइल लागू करें
हर कॉन्फ़िगरेशन प्रोफ़ाइल को एक यूनीक mcmId के तौर पर सेव किया जाता है. इन रणनीतियों का इस्तेमाल करने के लिए
कॉन्फ़िगरेशन प्रोफ़ाइल को नीति से जोड़ें, इसमें mcmId शामिल करें
managedConfigurationTemplate.
चुनें या चुने हुए का निशान हटाएं
मैनेज किए जा रहे कॉन्फ़िगरेशन का 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.
    ]
}]
डिफ़ॉल्ट वैल्यू के बिना चाइल्ड ऐप्लिकेशन की सभी पाबंदियां
अगर बंडल में है ऐप्लिकेशन पर पाबंदी लगाने के लिए, चाइल्ड ऐप्लिकेशन पर लगी सभी पाबंदियां बूल, विकल्प, 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 पर लागू होता है ऐप्लिकेशन के ऐक्सेस पर पाबंदियां लगाएं. अगर चाइल्ड ऐप्लिकेशन पर ये पाबंदियां हैं, तो यह काम की नहीं है बूल, विकल्प, 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 में, नीचे दी गई प्राथमिकता से तय होगा:
- एडमिन की चुनी गई वैल्यू
 - उस बंडल/पाबंदी के लिए दी गई डिफ़ॉल्ट वैल्यू शामिल होगी.
 - कोई डिफ़ॉल्ट वैल्यू न होने पर, iFrame में दिखाई जाने वाली वैल्यू
 
बंडल_एरे ऐप्लिकेशन की पाबंदी में कोई बंडल ग्रुप नहीं है
bundle_array जब एडमिन मैनेज किए जा रहे कॉन्फ़िगरेशन को सेव करेंगे, तो ऐप्लिकेशन पर लगी पाबंदी को शामिल नहीं किया जाएगा बंडल जोड़े बिना ग्रुप. डिवाइस पर भेजे गए ऐप्लिकेशन पाबंदियां:
"restrictions": [
    // Empty
]