设计自定义 android DPC 应用程序与 Android 管理 API 有何关系?

How does designing custom android DPC app relate to Android management API?

我是 android 企业开发领域的新手,我对 android 企业生态系统中不同部分的相互关系存在一些误解。让我解释。

我试图实现的解决方案是能够远程将设备锁定到信息亭模式,并且即使在用户离线时也能基于一些业务逻辑进行锁定。我开始研究 EMM,特别是 Android Management API 来解决这个问题。我能够使用 API 将设备远程锁定到信息亭模式。我采取的步骤如下

  1. 将 android 设备恢复出厂设置
  2. 到达用户需要输入其凭据的屏幕
  3. 我输入 afw#setup
  4. 而不是真实凭据
  5. 设备进入工作配置文件模式并且android正在安装设备策略
  6. 我在管理 API 中创建了一个注册令牌(步骤在 quick start guide
  7. 我生成一个二维码,并在收到提示后立即使用恢复出厂设置的设备扫描它
  8. 设备将链接到企业,我成功地能够控制它并将设备置于信息亭模式,方法是创建特殊的信息亭模式策略并使用以下组合修补设备以符合该策略patch policy (to create a policy) and patch device APIs.

下一步是找到一种方法,即使在用户离线时也能将设备锁定为自助服务终端模式。我假设它会通过创建一个 android 企业自定义 DPC(设备策略控制器)应用程序来实现。我假设通过阅读 following documentation, where one of the 3 ways of provisioning "single purpose" devices is creating a custom DPC application. Here's another quote from different url

As an EMM, you develop a DPC app that can be used by your customers in conjunction with your EMM console and server. Your customer deploys the DPC to the user devices that they manage. The DPC acts as the bridge between your EMM console (and server) and the device. An admin uses the EMM console to perform a range of tasks, including configuring device settings and apps.

这就是我所有困惑的来源。 自然而然出现的第一个问题 - 前面引述的作者在谈论 EMM 控制台和服务器时是否指的是 EMM 管理 API?

此外,还有更多的问题我找不到答案

在创建自定义 DPC 的 guide 中没有提到 EMM API 将在自定义 DPC 中扮演什么角色,因此我找不到描述 自定义 DPC 究竟如何成为 EMM 控制台(大概是 EMM API)和设备之间的桥梁?

然后,假设我开发了自定义 DPC 应用程序并将其上传到 google 播放 alpha 通道。 测试企业解决方案的documentation states that during the setup process instead of entering afw#setup I should enter afw#DPC_NAME, and I have no idea how to generate that name? Is it the bundle ID of the DPC app? Or perhaps it's being set somewhere in google settings? For instance, google has developed the TestDPC应用程序,我能够完成我上面描述的步骤并输入afw#testdpc并成功扫描git自述文件中的QR码和我看到 TestDPC 已安装,设备已启动到工作配置文件模式。所以,我假设我需要以某种方式注册我自己的 "testdpc" 并改为输入 afw#my_dpc。

基本上我有不同的作品独立工作,我想在脑海中形成一个更广阔的画面,以了解如何将这些作品拼接在一起。

感谢您的回答

更新 1:

今天我找到了一种无需通过 NFC 或其他配置过程即可将自定义 DPC 转变为设备所有者的方法。这对于开发目的特别有用。关注 this link 因为 instructions.This 既节省了大量时间,而且就我而言,我们仍在等待 google 的批准,但最终我们可以开始测试一些不需要的东西自定义配置过程。

有两种不同的方法来管理 Android 设备:

新方法Android Management API. It is the way recommended by Google and it's significantly simpler than the old way, you don't need to call other APIs or to create a custom DPC. If your use case is not addressed by this API you can send feedback 到 Google 这样他们就可以添加缺少的功能。

旧方法(自 2019 年 12 月 20 日起不再适用于新部署):使用自定义 DPC。为此,您需要:

在文档中,您(使用这些 API 的开发人员)被称为 "the EMM"。 "EMM server" 指的是您拥有并调用这些 API 的服务器,"EMM console" 指的是您向 IT 管理员公开的 UI 控制台(如果有的话)。

https://developer.android.com/work/dpc/build-dpc

Caution: Android Enterprise is no longer accepting new registrations for custom device policy controllers (DPCs). Learn more.

嗨@Fred,

我从上述路径中找到了以上信息。 我对上面的对话有一些疑问。

  1. 如果我们使用Android管理API开发EMM,我们不需要实现Custom DPC app吗?

  2. 是否可以使用Custom DPC app注册EMM社区账号?

  3. 是否可以使用具有 Android 管理功能的自定义 DPC 应用 API?