设计自定义 android DPC 应用程序与 Android 管理 API 有何关系?
Posted
技术标签:
【中文标题】设计自定义 android DPC 应用程序与 Android 管理 API 有何关系?【英文标题】:How does designing custom android DPC app relate to Android management API? 【发布时间】:2018-09-16 05:39:09 【问题描述】:我是 android 企业开发领域的新手,我对 android 企业生态系统中的不同部分如何相互关联存在一些误解。让我解释。
我正在尝试实现的解决方案是能够将设备远程锁定到自助服务终端模式,并且即使在用户离线时也可以基于某些业务逻辑执行此操作。我开始调查 EMM,特别是 Android Management API 来解决问题。我能够使用 API 将设备远程锁定到信息亭模式。我采取的步骤如下
-
将安卓设备恢复出厂设置
到达用户需要输入凭据的屏幕
我输入 afw#setup 而不是真实凭据
设备进入工作配置文件模式,正在安装 android 设备策略
我在管理 API 中创建了一个注册令牌(其步骤在 quick start guide 中描述
我生成一个二维码,并在收到提示后立即使用恢复出厂设置设备对其进行扫描
设备将链接到企业,通过创建特殊的信息亭模式策略并使用@987654323 的组合修补设备以符合该策略,我成功地能够控制它并将设备置于信息亭模式@(用于创建策略)和 patch device API。
下一步是找到一种方法,即使用户处于离线状态,也能将设备锁定为自助服务终端模式。我假设这将通过创建一个 android 企业自定义 DPC(设备策略控制器)应用程序来实现。我假设通过阅读following 文档,其中配置“单一用途”设备的三种方法之一是创建自定义 DPC 应用程序。这是来自不同url的另一句话
作为 EMM,您开发了一个 DPC 应用程序,您的客户可以将其与您的 EMM 控制台和服务器结合使用。您的客户将 DPC 部署到他们管理的用户设备。 DPC 充当 EMM 控制台(和服务器)与设备之间的桥梁。管理员使用 EMM 控制台执行一系列任务,包括配置设备设置和应用程序。
这就是我所有困惑的地方。 第一个自然出现的问题 - 前面引用的作者在谈到 EMM 控制台和服务器时是指 EMM 管理 API 吗?
此外,还有更多我找不到答案的问题
在用于创建自定义 DPC 的 guide 中,没有提及 EMM API 将在自定义 DPC 中扮演什么角色,因此我找不到任何地方描述 自定义 DPC 究竟是如何成为两者之间的桥梁EMM 控制台(可能是 EMM API)和设备?
然后,假设我已经开发了一个自定义 DPC 应用程序并将其上传到 google play alpha 通道。 documentation 指出,在设置过程中,我应该输入 afw#DPC_NAME,而不是输入 afw#setup,我不知道如何生成该名称?它是 DPC 应用的捆绑 ID ?或者也许它被设置在谷歌设置中的某个地方?比如google开发了TestDPC应用程序来测试企业解决方案,我可以按照我上面描述的步骤输入afw#testdpc并成功扫描git自述文件中的二维码,我看到TestDPC是已安装并且设备已启动到工作配置文件模式。所以,我假设我需要注册自己的“testdpc”并输入 afw#my_dpc。
基本上,我有不同的部分独立工作,我想在脑海中形成更广阔的画面,以了解如何将这些部分拼接在一起。
感谢您的回答
更新 1:
今天,我找到了一种无需通过 NFC 或其他配置流程即可将自定义 DPC 转变为设备所有者的方法。这对于开发目的特别有用。请按照this link 获取说明。这既可以节省大量时间,而且在我的情况下,我们仍在等待 google 的批准,但最终我们可以开始测试一些东西,而无需自定义配置过程。
【问题讨论】:
【参考方案1】:有两种不同的方式来管理 Android 设备:
新方式:Android Management API。这是谷歌推荐的方式,它比旧方式简单得多,您不需要调用其他 API 或创建自定义 DPC。如果此 API 未解决您的用例,您可以 send feedback 给 Google,以便他们添加缺少的功能。
旧方式(自 2019 年 12 月 20 日起不再适用于新部署):使用自定义 DPC。为此,您需要:
create a custom DPC, 通过joining the EMM Community 向 Google 注册您的自定义 DPC(这是您获取 afw#DPC_NAME 的方式), 使用Google Play EMM API 安装应用程序。在文档中,您(使用这些 API 的开发人员)被称为“EMM”。 “EMM 服务器”是指您拥有并调用这些 API 的服务器,“EMM 控制台”是指您向 IT 管理员公开的 UI 控制台(如果有)。
【讨论】:
Fred 你的回答清除了很多模糊的东西,谢谢。我有什么方法可以在用户离线时强制执行自助服务终端模式吗? 如果您在设备离线时更改策略,新策略将在设备重新在线时应用。你能告诉我更多关于你的用例吗? 是的,这是有道理的。我们不希望我们的用户长时间处于离线状态,如果他们这样做,我们希望将他们锁定为无法使用电话进入信息亭模式,直到他们重新打开数据。您是否认为有一种方法可以将自定义 DPC 与 EMM API 结合使用,因此对于那些需要离线执行策略的情况,我们会使用 DPC 作为后备,而对于在线使用 EMM Api? 目前Android Management API 不支持这种离线逻辑,您确实可以在自定义DPC 中实现它并使用Google Play EMM API 安装应用程序。请注意,实施自定义 DPC 非常复杂,我建议您尽早加入 EMM 社区,以便获得建议和支持。 非常感谢弗雷德。你真的帮了我:)【参考方案2】:https://developer.android.com/work/dpc/build-dpc
注意:Android Enterprise 不再接受新注册 用于自定义设备策略控制器 (DPC)。了解更多。
嗨@Fred,
我从上述路径中找到了上述信息。 我对上述对话有一些疑问。
如果我们使用Android管理API开发EMM,就不需要实现Custom DPC app了吗?
是否可以在 EMM 社区中使用自定义 DPC 应用注册帐户?
是否可以将自定义 DPC 应用与 Android 管理 API 一起使用?
【讨论】:
这是对更多信息的请求,应该是评论而不是答案。 对不起,我没有发表评论的权限 一旦你获得足够的声望,你就会。只是做出实际的答案。玩得开心。以上是关于设计自定义 android DPC 应用程序与 Android 管理 API 有何关系?的主要内容,如果未能解决你的问题,请参考以下文章
Android 屏幕适配屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )