作为开发者,您可能希望让 ChromeOS 企业版管理员动态配置您的应用。借助受管理的配置 API,您可以让他们在应用安装后管理其行为。您可以定义一个接口,让管理员将配置传递给您的应用并动态更改其行为,包括但不限于:
- 在打开时设置特定窗口大小。
- 预填充服务器地址或身份验证配置。
- 启用或停用应用功能。
设置 Web Managed Configuration API
受管理的配置需要开发者和企业管理员共同完成一些步骤。开发者必须实现该 API 并发布其接口。企业版管理员必须通过管理控制台配置其实例。为了说明这些步骤,我们将以配置不同的登录选项为例。企业管理员可能希望允许部分用户或组织部门使用特定凭据登录,并禁止其他用户或组织部门使用特定凭据登录。
定义和共享可配置的界面
与任何其他类型的外部服务一样,最好先定义一个可与任何想要配置您的应用的客户共享的接口。受管理的配置会向您的应用发送 JSON 字典,因此我们建议您为每个参数添加说明、类型、默认值和有效选项。以下是用于停用登录选项的参数示例:
| 参数 | 类型 | 默认 | 选项 | 说明 |
|---|---|---|---|---|
| String[] |
|
| 要停用的登录选项的列表。 |
以这种方式记录接口有助于与外部团队和客户沟通服务,并有助于您长期维护该接口。通过上述操作,企业管理员可以使用以下 JSON 停用 "email" 登录:
{ “DisableLoginOptions”: ["email"] };
设置受管配置
Google 管理控制台提供了一个界面,可供企业管理员设置受管理的配置。在撰写本文时,该选项显示在所选应用的右侧,位于“受管理的配置”名称下方。输入值并保存配置后,受管理的应用程序便可自动使用该值。
用于插入受管理配置字段的 Google 管理控制台界面
如需停用登录,例如,企业管理员可以为根组织部门下的所有用户将应用配置为 { "‘DisableLoginOptions’" : ["email"]}。保存更改后,受管理的应用将自动获得相应配置。
从应用中检索配置
定义接口并将配置发送到应用后,您现在需要在应用内检索该配置。为此,请调用 Managed Configuration API:
navigator.managed.getManagedConfiguration(['DisableLoginOptions']).then(function (result) { // result = { "‘DisableLoginOptions’" : ["email"]} // hide email login option });
getManagedConfiguration 是一个基于 Promise 的函数,它会接收一个键(以字符串数组的形式),并以 JSON 对象的形式返回结果。这是企业管理员在上一步中输入的值。
注意:如果您之前在代码中为 TextureView 使用过转换矩阵,则在 Chromebook 等自然横屏设备上,预览效果可能不正确。可能是您的转换矩阵错误地假设传感器方向为 90 度或 270 度。您可以参考 GitHub 上的此提交来了解解决方法,但我们强烈建议您迁移应用,改为使用此处所述的方法。
然后,可以使用该结果来更改应用的行为,从而使管理员能够动态配置应用并根据所有组织部门的需求调整应用。