一些专为企业设计的应用包含名为受管理的 IT 管理员可远程配置的配置文件。例如,应用可能 可以选择只在设备连接到 Wi-Fi 时同步数据。正在提供 IT 管理员能够指定托管配置并将其应用到 设备是所有解决方案集的一项要求。
下图说明了托管配置的一些关键阶段 并提供 Google Play EMM 提供的选项概览 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 或通过 开发自己的界面
方法 1:嵌入受管配置 iframe
要支持托管配置,最简单的方法就是在 将配置 iframe 复制到 EMM 控制台中。iframe 会检索托管 配置架构,并允许 IT 管理员保存、修改 和删除自定义配置文件您可以使用 Play EMM API 自定义个人资料与用户设备相关联。要详细了解 iframe 以及如何添加 iframe, 请参阅 受管配置 iframe。
方法 2:创建自己的界面
使用从 Products.getAppRestrictionsSchema
返回的配置,
可以创建自己的界面,供 IT 管理员管理应用配置。
应用受管配置
如需将受管配置应用于设备,必须集成您的 DPC 使用 DPC 支持库,详见构建设备政策 控制器。 DPC 支持库 以透明的方式处理向 Google Play 授予的委托,以应用受管理的 配置。
您可以通过设置
policy.productPolicy.managedConfiguration
在
Device
的 policy
。
使用 mcmId
每当 IT 管理员从受管理账号保存新配置文件时
配置 iframe,该 iframe 会返回一个名为 mcmId
的唯一标识符。一个
“mcmId
”对可以应用的设备数量没有限制,
没有到期时间
要将配置文件应用于设备,请将
policy.productPolicy.managedConfiguration.configurationVariables.mcmId
在
Device
的 policy
。
如果您想允许 IT 管理员在受管理的环境中使用变量
配置 iframe(例如 $FirstName、$LastName)时,您需要定义任意
配置文件中包含的变量
policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]
。
使用受管理的资源列表
您还可以通过设置
policy.productPolicy.managedConfiguration.managedProperty[]
在
Device
的 policy
。
以下示例展示了如何定义配置。此配置
包含一个 bundle_array
(列表),它由两个 bundle 属性(一个
一组相关属性,在本例中为 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
。