有些專為企業設計的應用程式包含內建的「受管理設定」 以及 IT 管理員可從遠端調整的設定舉例來說,應用程式 可以選擇只在裝置連上 Wi-Fi 時同步處理資料。提供 IT 管理員可以指定受管理的設定,並套用至 裝置適用於所有解決方案集。
下圖說明受管理設定的一些重要階段 概略介紹 Google Play EMM 提供的選項 也能使用 Google Cloud CLI 或 Compute Engine API
確認應用程式是否支援受管理設定
使用
Products.getAppRestrictionsSchema
敬上
,判斷應用程式是否支援受管理的設定。舉例來說
使用
適用於 Java 的 Google Play EMM API 用戶端程式庫。
public AppRestrictionsSchema getAppRestrictionsSchema(String enterpriseId,
String productId, String language) throws IOException {
return androidEnterprise
.product()
.getAppRestrictionsSchema(enterpriseId, productId, language)
.execute();
}
所有應用程式都會傳回應用程式限制 (受管理的設定) 結構定義。如果來電
傳回空白結構定義,表示應用程式不支援管理設定。如果
呼叫會傳回包含一組限制的結構定義,然後
支援受管理的設定舉例來說,如果應用程式
啟用透過 VPN 進行遠端列印時,可將以下回應傳回給
Products.getAppRestrictionsSchema
。
{
"kind": "androidenterprise#appRestrictionsSchema",
"restrictions": [
{
"key": "printing_enabled",
"title": "Enable printing",
"restrictionType": "bool",
"description": "Allow user to print from the app",
"defaultValue": {
"type": "bool",
"valueBool": true,
}
},
{
"key": "vpn_configurations",
"title": "VPN configurations",
"restrictionType": "bundle_array",
"description": "List of VPN configurations",
"nestedRestriction": [
{
"key": "vpn_configuration",
"title": "VPN configuration",
"restrictionType": "bundle",
"nestedRestrictions": [
{
"key": "server",
"title": "VPN server host",
"restrictionType": "string"
},
{
"key": "username",
"title": "VPN account username",
"restrictionType": "string"
}
]
}
]
}
]
}
指定受管理的設定
對於支援受管理設定的應用程式,您可以讓 IT 管理員進行設定 即可從 EMM 控制台嵌入受管理的設定 iframe,或是 打造專屬 UI
選項 1:嵌入受管理的設定 iframe
如要支援受管理的設定,最簡單的方法是嵌入 將 iframe 設定在 EMM 控制台中。iframe 會擷取 IT 管理員可儲存、編輯 以及刪除自訂組態設定檔您可以使用 Play EMM API 進行套用 使用者的裝置上自訂個人資料。想進一步瞭解 iframe,以及如何新增 新增到控制台 受管理的設定 iframe。
方法 2:建立專屬 UI
透過 Products.getAppRestrictionsSchema
傳回的設定,您可以
可以自行建立使用者介面,讓 IT 管理員管理應用程式設定。
套用受管理的設定
如要將受管理的設定套用至裝置,必須先整合 DPC 安裝 DPC 支援資料庫,詳情請參閱建立裝置政策 控制器。 DPC 支援資料庫 以公開透明的方式處理給 Google Play 的委派代表,以便套用受管理設定 儲存空間設定
您可以將受管理的設定套用至裝置
policy.productPolicy.managedConfiguration
是
Device
的 policy
。
使用 mcmId
每當 IT 管理員從受管理的機構儲存新的組態設定檔時
設定 iframe 時,iframe 會傳回名為 mcmId
的專屬 ID。一個
mcmId
可套用此政策的裝置沒有數量限制,可套用的裝置數量也沒有限制
沒有到期時間。
如要將組態設定檔套用至裝置,請設定
policy.productPolicy.managedConfiguration.configurationVariables.mcmId
是
Device
的 policy
。
如果想讓 IT 管理員在受管理的 Cloud Shell 中使用變數
設定 iframe (例如 $FirstName、$LastName) 設定 iframe,您需要
使用單一變數加入設定檔
policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]
。
使用代管屬性清單
您也可以透過設定
policy.productPolicy.managedConfiguration.managedProperty[]
是
Device
的 policy
。
以下範例說明如何定義設定。這項設定
包含 bundle_array
(清單) 由兩個軟體包屬性 (a
相關屬性群組,在本例中是 VPN 的屬性)。
ManagedConfiguration managedConfiguration = new ManagedConfiguration()
.setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("printing_enabled")
.setValueBool(true),
new ManagedProperty()
.setKey("vpn_configurations")
.setValueBundleArray(
ImmutableList.of(
new ManagedPropertyBundle().setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("server")
.setValueString("vpn1.example.com"),
new ManagedProperty()
.setKey("username")
.setValueString("john.doe"))),
new ManagedPropertyBundle().setManagedProperty(
ImmutableList.of(
new ManagedProperty()
.setKey("server")
.setValueString("vpn2.example.com"),
new ManagedProperty()
.setKey("username")
.setValueString("jane.doe")))))));
如要進一步瞭解應用程式能使用的不同設定屬性,請參閱 支援,請參閱定義 設定。
列出應用程式的組態設定檔
根據您設計解決方案的方式,您可能想要顯示一份清單
已儲存應用程式的組態設定檔。如要擷取這份清單,請呼叫
Managedconfigurationssettings.list
。