ה-iframe של ההגדרות המנוהלות הוא ממשק משתמש שניתן להטמעה, שמאפשר לאדמינים ב-IT לשמור, לערוך ולמחוק את ההגדרות האישיות המנוהלות של אפליקציה. אפשר, לדוגמה, הצגת לחצן (או רכיב דומה בממשק המשתמש) בפרטים של אפליקציה, או דף הגדרות שפותח את ה-iframe.
פעולות שזמינות לאדמינים ב-IT מה-iframe
![iframe mcm](https://developers.google.cn/static/android/work/play/emm-api/images/mcm_iframe.png?authuser=9&hl=he)
הגדרה ושמירה של פרופילי הגדרות
ה-iframe מאחזר ומציג את הסכימה של התצורות המנוהלות עבור
אפליקציה ספציפית. בתוך ה-iframe, אדמין ב-IT יכול להגדיר הגדרות אישיות ולשמור
אותם כפרופיל תצורה. בכל פעם שאדמין ב-IT שומר קובץ
הגדרות אישיות, ה-iframe מחזיר מזהה ייחודי שנקרא mcmId
.
כך מתאפשר למנהלי IT ליצור מספר פרופילים לאותו
אפליקציה.
עריכת פרופילים של הגדרות אישיות
ה-iframe יכול להציג פרופילי הגדרות שמורים. אדמינים ב-IT יכולים לעדכן את ההגדרות בפרופיל ולשמור את השינויים.
מחיקת פרופילים של הגדרות אישיות
אדמינים ב-IT יכולים למחוק פרופילים של הגדרות אישיות מה-iframe. התכונה הזאת מושבת כברירת מחדל.
הצגת ה-iframe של ההגדרות המנוהלות במסוף
יצירת אסימון אינטרנט
אפשר להשתמש ב-Enterprises.createWebToken
כדי ליצור אסימון אינטרנט שמזהה את הארגון. צריך לכלול את
שמוחזר אסימון, יחד עם פרמטרים אחרים, בעת עיבוד ה-iframe
במסוף. בדוגמה הבאה אפשר לראות איך מאחזרים את האסימון באמצעות פונקציית Google
הפעלה של ספריית הלקוח של EMM API ל-Java.
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 של ה-iframe.
פרמטר | חובה | תיאור |
---|---|---|
token |
כן | האסימון שהוחזר על ידי Enterprises.createWebToken . |
packageName |
כן | המזהה של האפליקציה. לדוגמה,
com.google.android.gm |
mcmId |
לא | המזהה של פרופיל הגדרות מנוהלות. |
canDelete |
לא | אם הערך הוא TRUE, הוא מפעיל לחצן ב-iframe שמאפשר ל-IT אדמינים למחוק את הפרופיל של ההגדרות המנוהלות. אם המיקום FALSE (ערך ברירת המחדל), הלחצן מושבת. |
locale |
לא | מודל שפה תקין BCP 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 של ההגדרות המנוהלות מאפשר עכשיו לאדמינים ב-IT לבטל את הבחירה באופן מפורש הגבלות על אפליקציות של הגדרה מנוהלת כשאין בהן צורך. הזה שינוי מההתנהגות הקודמת ועשוי להשפיע על ההגבלות נשלחות לאפליקציה על סמך הבחירה של האדמין.
בקטע הבא מתואר איך פועל ה-iframe של ההגדרות המנוהלות מול את דפוס ביטול הבחירה החדש הזה ואת מה שמפתחים צפויים לשלוח כחלק את ההגדרה המנוהלת שלהם.
שימוש בערך ברירת המחדל להגבלת אפליקציה
אם הגבלות על האפליקציה מסוג בוליאני, choice, integer, בחירה מרובה או מחרוזת עם ערך ברירת מחדל, ערך ברירת המחדל יוחל בתור של הגבלת האפליקציה כשאדמינים שומרים את ההגדרה המנוהלת ללא להחיל את כל השינויים על הגבלת האפליקציה הזו.
לדוגמה, באמצעות הסכימה הבאה של הגבלות על אפליקציות:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
ההגבלות על האפליקציות שיישלחו למכשיר יהיו:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
בלי להשתמש בערכי ברירת מחדל להגבלות על אפליקציות
אם הגבלות על האפליקציה מסוג בוליאני, choice, integer, בחירה מרובה או מחרוזת לא סופקו ערך ברירת מחדל, ההגבלות על האפליקציות האלה לא נכללים כשאדמינים שומרים את התצורה המנוהלת בלי להחיל שינויים לגבי ההגבלה שחלה על האפליקציה.
לדוגמה, באמצעות הסכימה הבאה של הגבלות על אפליקציות:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
ההגבלות על האפליקציות שיישלחו למכשיר יהיו:
"restrictions": [
// Empty
]
שימוש בחבילות בתוך הסכימה
הקטע הזה רלוונטי לחבילה הגבלות על אפליקציות:
חלה לפחות הגבלה אחת צאצא על אפליקציה עם ערך ברירת מחדל בהגבלת אפליקציה בחבילה
אם בתוך החבילה הגבלת אפליקציה של לפחות אחת מההגבלות על אפליקציות צאצא מסוג בוליאני, choice, מספר שלם, בחירה מרובה או מחרוזת עם ערך ברירת מחדל, ערך ברירת המחדל יוחל בתור הערך של הגבלת האפליקציה ואלה שאין להם ערכי ברירת מחדל יוחרגו כשאדמינים שומרים את ההגדרה המנוהלת בלי להחיל עליה שינויים הגבלת זמן השימוש באפליקציות.
"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, choice, מספר שלם, בחירה מרובה או מחרוזת לא סופקו עם ערך ברירת מחדל, החבילה הגבלת זמן השימוש באפליקציות לא תיכלל כשאדמינים ישמרו את ההגדרה המנוהלת בלי להחיל שינויים על ההגבלה הזו על האפליקציה.
לדוגמה, באמצעות הסכימה הבאה של הגבלות על אפליקציות:
"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. choice, 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
אם לפחות חבילה אחת set is set, ה-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
]