有些專為企業設計的應用程式包含內建的「受管理設定」 以及 IT 管理員可從遠端調整的設定舉例來說,應用程式 可以選擇只在裝置連上 Wi-Fi 時同步處理資料。提供 IT 管理員可以指定受管理的設定,並套用至 裝置適用於所有解決方案集。 您可以透過以下兩種方式在 EMM 控制台中支援受管理的設定:
- 建立自己的 UI,並透過以下項目的
managedConfiguration
套用設定: ApplicationPolicy。 - 在控制台中新增受管理的設定 iframe (詳細操作說明
),並透過「
managedConfigurationTemplate
」在以下位置套用設定: ApplicationPolicy
受管理的設定 iframe 是可嵌入的 UI,可讓 IT 管理員 儲存、編輯及刪除應用程式的受管理設定。您可以、 例如在應用程式的詳細資料中顯示按鈕 (或類似的 UI 元素),或 即可開啟 iframe 的設定頁面
IT 管理員可透過 iframe 執行的動作
設定並儲存組態設定檔
iframe 會擷取並顯示
指定應用程式。在 iframe 中,IT 管理員可以進行設定並儲存
並當做組態設定檔每當 IT 管理員儲存
設定檔,iframe 會傳回名為 mcmId
的專屬 ID。
IT 管理員可藉此建立多個設定檔
應用程式。
編輯組態設定檔
iframe 可以顯示已儲存的設定設定檔。IT 管理員可以 更新個人檔案中的設定並儲存變更。
刪除組態設定檔
IT 管理員可以刪除 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 |
是 | 應用程式的產品 ID。例如:
com.google.android.gm 。 |
mcmId |
否 | 受管理設定設定檔的 ID。 |
canDelete |
否 | 如果為 TRUE,請在 iframe 中啟用按鈕,方便 IT 團隊進行操作 管理員負責刪除受管理的組態設定檔。如果 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);
應用程式的受管理設定結構定義更新
如果開發人員更新應用程式的受管理設定結構定義,已儲存 系統會自動更新設定檔舉例來說 移除選項後,該選項將從所有現有設定中移除 您需要為每個應用程式建立設定檔如果開發人員新增了選項,那麼 選項 (由開發人員定義) 會加入所有現有設定 您需要為每個應用程式建立設定檔
將組態設定檔套用至政策
系統會將每個設定設定檔儲存為不重複的 mcmId
。如要套用
方法是在政策設定檔中指定 mcmId
managedConfigurationTemplate
。
瞭解選取/取消選取行為
IT 管理員現在可透過受管理的設定 iframe 明確取消選取 受管理設定的應用程式限制。這個 意指先前行為的變更,且可能會影響 會根據管理員選擇傳送至您的應用程式。
下一節概述受管理的設定 iframe 與 這個新的取消選取模式,以及開發人員預計會在 的受管理設定
為應用程式限制使用預設值
如果應用程式限制為 bool 類型, choice、 integer、 複選題 或 字串 提供預設值時,系統便會套用預設值做為 管理員儲存受管理設定時,應用程式限制的價值。 套用任何變更。
例如,使用下列應用程式限制結構定義:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"defaultValue": {
"type": "bool",
"valueBool": false
}
}]
傳送到裝置的應用程式限制如下:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool",
"value": {
"type": "bool",
"valueBool": false
}
}]
未針對應用程式限制使用預設值
如果應用程式限制為 bool 類型, choice、 integer、 複選題 或 字串 未提供預設值,那麼這些應用程式限制就不會 管理員儲存受管理設定但未套用任何變更時,即包含在內 。
例如,使用下列應用程式限制結構定義:
"restrictions": [{
"key": "bool_key",
"restrictionType": "bool"
// defaultValue absent.
}]
傳送到裝置的應用程式限制如下:
"restrictions": [
// Empty
]
在結構定義中使用套件
本節適用於套裝組合 應用程式限制:
在應用程式套件應用程式限制中,至少設置一項設有預設值的兒童應用程式限制
如果套裝組合內 至少一項具有 bool 類型的兒童應用程式限制。 choice、 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、 choice、 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、 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 應用程式限制中加入至少一個軟體包群組
如有至少一個套裝組合 群組設定,則 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
]