پیکربندی های مدیریت شده iframe

پیکربندی های مدیریت شده iframe یک رابط کاربری قابل جاسازی است که به مدیران فناوری اطلاعات اجازه می دهد تنظیمات پیکربندی مدیریت شده برنامه را ذخیره، ویرایش و حذف کنند. برای مثال، می‌توانید یک دکمه (یا عنصر رابط کاربری مشابه) را در صفحه جزئیات یا تنظیمات برنامه نمایش دهید که iframe را باز می‌کند.

اقداماتی که از iframe برای سرپرستان فناوری اطلاعات در دسترس است

mcm iframe
شکل 1. نمونه پیکربندی های مدیریت شده iframe برای Gmail.

پروفایل های پیکربندی را تنظیم و ذخیره کنید

iframe طرح پیکربندی های مدیریت شده را برای یک برنامه مشخص بازیابی و نمایش می دهد. در iframe، یک سرپرست فناوری اطلاعات می‌تواند پیکربندی‌ها را تنظیم کرده و آنها را به عنوان نمایه پیکربندی ذخیره کند. هر بار که یک سرپرست فناوری اطلاعات یک نمایه پیکربندی جدید را ذخیره می کند، iframe یک شناسه منحصر به فرد به نام mcmId را برمی گرداند. این امکان را برای مدیران فناوری اطلاعات فراهم می کند که چندین پروفایل برای یک برنامه ایجاد کنند.

ویرایش پروفایل های پیکربندی

iframe قادر به نمایش پروفایل های پیکربندی ذخیره شده است. مدیران فناوری اطلاعات می توانند تنظیمات را در یک نمایه به روز کنند و تغییرات خود را ذخیره کنند.

حذف پروفایل های پیکربندی

مدیران فناوری اطلاعات می‌توانند نمایه‌های پیکربندی را از iframe حذف کنند. این قابلیت به طور پیشفرض غیر فعال است.

پیکربندی های مدیریت شده iframe را در کنسول خود نمایش دهید

یک توکن وب ایجاد کنید

از Enterprises.createWebToken برای تولید یک توکن وب که شرکت را شناسایی می کند، استفاده کنید. هنگام رندر کردن iframe در کنسول خود باید توکن برگشتی را به همراه سایر پارامترها اضافه کنید. مثال زیر نحوه بازیابی رمز را با استفاده از Google Play EMM API Client Library برای جاوا نشان می‌دهد.

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>

پارامترهای URL

جدول زیر تمام پارامترهای موجود برای URL iframe را فهرست می کند.

پارامتر ضروری شرح
token آره رمز از Enterprises.createWebToken بازگشت.
packageName آره شناسه محصول برنامه به عنوان مثال، com.google.android.gm .
mcmId خیر شناسه نمایه تنظیمات مدیریت شده.
canDelete خیر اگر درست است ، دکمه‌ای را در iframe فعال می‌کند که به مدیران فناوری اطلاعات اجازه می‌دهد نمایه پیکربندی‌های مدیریت‌شده را حذف کنند. اگر FALSE (مقدار پیش فرض)، دکمه غیرفعال می شود.
locale خیر یک برچسب زبان BCP 47 که برای بومی سازی محتوا در 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 با این الگوی لغو انتخاب جدید و آنچه که توسعه‌دهندگان می‌توانند انتظار داشته باشند که به عنوان بخشی از پیکربندی مدیریت‌شده‌شان ارسال شود را نشان می‌دهد.

استفاده از مقدار پیش‌فرض برای محدودیت برنامه

اگر محدودیت‌های برنامه با نوع bool ، انتخاب ، عدد صحیح ، چند انتخاب یا رشته با یک مقدار پیش‌فرض ارائه شده باشد، زمانی که سرپرستان پیکربندی مدیریت شده را بدون اعمال هیچ تغییری در آن برنامه ذخیره می‌کنند، مقدار پیش‌فرض به عنوان مقدار محدودیت برنامه اعمال می‌شود. محدودیت

به عنوان مثال، با طرح محدودیت برنامه زیر:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "defaultValue": {
        "type": "bool",
        "valueBool": false
    }
}]

محدودیت های برنامه ارسال شده به دستگاه عبارتند از:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool",
    "value": {
        "type": "bool",
        "valueBool": false
    }
}]

بدون استفاده از مقادیر پیش فرض برای محدودیت های برنامه

اگر محدودیت‌های برنامه با نوع bool ، انتخاب ، عدد صحیح ، انتخاب چندگانه یا رشته با مقدار پیش‌فرض ارائه نشده باشند، زمانی که سرپرستان پیکربندی مدیریت‌شده را بدون اعمال هیچ تغییری در محدودیت برنامه ذخیره می‌کنند، این محدودیت‌های برنامه لحاظ نمی‌شوند.

به عنوان مثال، با طرح محدودیت برنامه زیر:

"restrictions": [{
    "key": "bool_key",
    "restrictionType": "bool"
    // defaultValue absent.
}]

محدودیت های برنامه ارسال شده به دستگاه عبارتند از:

"restrictions": [
    // Empty
]

استفاده از بسته‌ها در طرحواره

این بخش برای محدودیت‌های برنامه بسته اعمال می‌شود:

داشتن حداقل یک محدودیت برنامه فرزند با مقدار پیش‌فرض در محدودیت برنامه بسته

اگر در محدودیت برنامه بسته حداقل یکی از محدودیت‌های برنامه فرزند با نوع bool ، انتخاب ، عدد صحیح ، چند انتخابی یا رشته با مقدار پیش‌فرض ارائه شده باشد، مقدار پیش‌فرض به عنوان مقدار محدودیت برنامه و موارد بدون محدودیت اعمال می‌شود. هنگامی که سرپرستان پیکربندی مدیریت شده را بدون اعمال هیچ تغییری در محدودیت برنامه ذخیره می کنند، مقادیر پیش فرض حذف می شوند.

"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 ، انتخاب ، عدد صحیح ، چند انتخابی یا رشته با مقدار پیش‌فرض ارائه نشده باشند، وقتی سرپرستان پیکربندی مدیریت‌شده را بدون اعمال هیچ‌کدام ذخیره می‌کنند، محدودیت برنامه بسته شامل نمی‌شود. تغییرات در آن محدودیت برنامه

به عنوان مثال، با طرح محدودیت برنامه زیر:

"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 ، انتخاب ، عدد صحیح ، چند انتخابی یا رشته دارای مقادیر پیش‌فرض باشند، مهم نیست.

به عنوان مثال، با طرح محدودیت برنامه زیر:

"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

اگر حداقل یک گروه بسته تنظیم شده باشد، زمانی که سرپرستان پیکربندی مدیریت شده را ذخیره می کنند، محدودیت برنامه 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 وجود ندارد

وقتی سرپرستان پیکربندی مدیریت شده را بدون افزودن گروه بسته ذخیره می‌کنند، محدودیت برنامه bundle_array شامل نمی‌شود. محدودیت های برنامه ارسال شده به دستگاه عبارتند از:

"restrictions": [
    // Empty
]