תמיכה בהגדרות מנוהלות

חלק מהאפליקציות שמיועדות לארגונים כוללות הגדרות מובנות שנקראות מנוהלות שאדמינים ב-IT יכולים להגדיר מרחוק. לדוגמה, אפליקציה יכולה אפשרות לסנכרן נתונים רק כשהמכשיר מחובר לרשת Wi-Fi. אספקה מנהלי IT יכולים לציין תצורות מנוהלות ולהחיל אותן על מכשירים הם דרישה לכל קבוצות הפתרונות. יש שתי דרכים לתמוך בהגדרות מנוהלות במסוף ה-EMM:

  • יצירת ממשק משתמש משלך והחלת ההגדרות דרך managedConfiguration ב- ApplicationPolicy.
  • מוסיפים למסוף את ה-iframe של ההגדרות המנוהלות (הוראות מפורטות למטה) ולהחיל הגדרות דרך managedConfigurationTemplate ב- ApplicationPolicy


ה-iframe של ההגדרות המנוהלות הוא ממשק משתמש שניתן להטמעה, שמאפשר לאדמינים ב-IT לשמור, לערוך ולמחוק את ההגדרות האישיות המנוהלות של אפליקציה. אפשר, לדוגמה, הצגת לחצן (או רכיב דומה בממשק המשתמש) בפרטים של אפליקציה, או דף הגדרות שפותח את ה-iframe.

פעולות שזמינות לאדמינים ב-IT מה-iframe

iframe mcm
איור 1. דוגמה ל-iframe של הגדרות מנוהלות ב-Gmail.

הגדרה ושמירה של פרופילי הגדרות

ה-iframe מאחזר ומציג את הסכימה של התצורות המנוהלות עבור אפליקציה ספציפית. בתוך ה-iframe, אדמין ב-IT יכול להגדיר הגדרות אישיות ולשמור אותם כפרופיל תצורה. בכל פעם שאדמין ב-IT שומר קובץ הגדרות אישיות, ה-iframe מחזיר מזהה ייחודי שנקרא mcmId. כך מתאפשר למנהלי IT ליצור מספר פרופילים לאותו אפליקציה.

עריכת פרופילים של הגדרות אישיות

ה-iframe יכול להציג פרופילי הגדרות שמורים. אדמינים ב-IT יכולים לעדכן את ההגדרות בפרופיל ולשמור את השינויים.

מחיקת פרופילים של הגדרות אישיות

אדמינים ב-IT יכולים למחוק פרופילים של הגדרות אישיות מה-iframe. התכונה הזאת מושבת כברירת מחדל.

הוספת ה-iframe למסוף

יצירת אסימון אינטרנט

שימוש ב-enterprises.webTokens.create כדי ליצור אסימון אינטרנט שמזהה את הארגון, ולהגדיר את iframeFeature בתור MANAGED_CONFIGURATIONS. עליך לכלול את האסימון שהוחזר יחד עם במהלך עיבוד ה-iframe במסוף.

עיבוד ה-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);

עדכונים לסכימה של הגדרות מנוהלות של האפליקציה

אם המפתח מעדכן סכימת הגדרות מנוהלות של אפליקציה, היא נשמרת פרופילים של הגדרות אישיות מתעדכנים באופן אוטומטי. לדוגמה, אם המפתח מסירה אפשרות מסוימת, היא תוסר מכל ההגדרות הקיימות פרופילים של האפליקציה. אם המפתח מוסיף אפשרות, ערך ברירת המחדל של אפשרות (הוגדרה על ידי המפתח) תתווסף לכל ההגדרות הקיימות פרופילים של האפליקציה.

החלת פרופילים של הגדרות על המדיניות

כל פרופיל תצורה נשמר כ-mcmId ייחודי. כדי להחיל הגדרת פרופיל במדיניות, מציינים את mcmId ב- managedConfigurationTemplate.


הסבר על התנהגות הבחירה או ביטול הבחירה

ה-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.
    ]
}]

כל ההגבלות על אפליקציות הצאצא ללא ערכי ברירת מחדל

אם בתוך החבילה הגבלת אפליקציות כל ההגבלות על אפליקציות צאצא מסוג בוליאני, 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 ייקבע לפי הקדימות הבאה:

  • הערך שהאדמין בחר
  • ערך ברירת המחדל שרשום עבור החבילה או ההגבלה הזו.
  • הערך שמוצג ב-iFrame אם אין ערך ברירת מחדל

אין קבוצות חבילות בהגבלת האפליקציה Bundle_array

ה-bundle_array הגבלת זמן השימוש באפליקציות לא תיכלל כשאדמינים ישמרו את ההגדרה המנוהלת בלי להוסיף חבילה קבוצה. ההגבלות על האפליקציות שיישלחו למכשיר יהיו:

"restrictions": [
    // Empty
]