注册和配置设备

预配是指设置要由 enterprise 通过 policies 管理的设备。在此过程中,设备会安装 Android Device Policy,用于接收和强制执行 policies。如果配置成功,API 会创建一个 devices 对象,将设备绑定到企业。

Android Management API 使用注册令牌来触发配置过程。您使用的注册令牌和配置方法可确定设备的所有权(个人所有或公司自有)和管理模式(工作资料或全代管式设备)。

个人所有的设备

Android 5.1 及更高版本

您可以通过工作资料对员工拥有的设备进行设置。工作资料为工作应用和数据提供了一个与个人应用和数据分开的独立空间。大多数应用、数据和其他管理 policies 仅适用于工作资料,而员工的个人应用和数据将保持私密状态。

如需在个人所有设备上设置工作资料,请创建注册令牌(确保 allowPersonalUsage 设置为 PERSONAL_USAGE_ALLOWED),并使用以下配置方法之一:

公司自有设备,用于工作和个人用途

Android 8 及更高版本

使用工作资料设置公司自有设备后,该设备将可同时用于工作和个人用途。在装有工作资料的公司自有设备上:

  • 大多数应用、数据和其他管理 policies 仅适用于工作资料。
  • 员工的个人资料仍会保持私密状态。但是,企业可以强制执行某些设备级政策个人使用政策
  • 企业可以使用 blockScope 对整部设备或仅其工作资料强制执行法规遵从操作。
  • devices.delete设备命令适用于整个设备。

如需设置具有工作资料的公司自有设备,请创建注册令牌(确保 allowPersonalUsage 设置为 PERSONAL_USAGE_ALLOWED),并使用以下配置方法之一:

公司自有设备仅用于工作

Android 5.1 及更高版本

完整设备管理适用于专门用于工作的公司自有设备。企业可以管理设备上的所有应用,并且可以强制执行 Android Management API 的所有政策和命令。

您还可以将设备锁定(通过政策)为单个应用或一小部分应用,以用于专用用途或用例。这部分完全受管设备称为专用设备

如需在公司自有设备上设置全面管理功能,请创建注册令牌(确保 allowPersonalUsage 设置为 PERSONAL_USAGE_DISALLOWED),并使用以下配置方法之一:

在设备配置期间,政策可能会影响界面的生成。此类政策包括:

如果您希望在设备配置期间安装工作应用和设备注册卡片时一并显示密码步骤,建议您更新政策,将设备保持隔离状态(如果在没有关联政策的情况下注册设备,就会出现这种情况),直到为设备设置所需的最终政策(已填充与您的设置需求相关的内容)为止,从而延迟开始生成界面。完成设备配置后,您可以根据需要更改政策


创建注册令牌

Android 管理概览。
图 1.创建用于注册并将“policy1”应用于设备的令牌。1800 秒(30 分钟)后,令牌将过期。

您要注册的每个设备都需要一个注册令牌(您可以为多台设备使用相同的令牌)。如需请求注册令牌,请调用 enterprises.enrollmentTokens.create。默认情况下,注册令牌将在 1 小时后过期,但您可以指定自定义到期时间 (duration),最长可达 1 万年。

成功的请求会返回一个包含 enrollmentTokenIdqrcodeenrollmentToken 对象,IT 管理员和最终用户可以使用它们来配置设备。

指定政策

您可能还想在请求中指定 policyName,以便在注册设备的同时应用政策。如果您未指定 policyName,请参阅注册未设置政策的设备

指定用户

enrollmentTokens 资源包含一个 userAccountIdentifier 字段。如果您未指定 userAccountIdentifier,则每次使用注册令牌注册设备时,API 都会静默创建一个新的唯一帐号。

如果您指定的 userAccountIdentifier 在设备上尚未激活,则当设备使用注册令牌注册时,API 将静默地为该标识符创建一个帐号。

如果您指定之前在另一台设备上激活的 userAccountIdentifier,该 API 将重复使用现有用户,并在每台设备上用注册令牌注册该用户。最佳实践:一个帐号最多只能激活 10 台设备。

指定个人使用情况

allowPersonalUsage 可确定是否可以在配置期间向设备添加工作资料。设置为 PERSONAL_USAGE_ALLOWED 可允许用户创建工作资料(对于个人所有的设备而言是必需的;对于公司自有设备则为可选)。


关于 QR 码

对于需要维护许多不同政策的企业,二维码可作为一种高效的设备配置方法。从 enterprises.enrollmentTokens.create 返回的二维码由键值对的载荷组成,其中包含注册令牌以及 Android Device Policy 配置设备所需的所有信息。

二维码集合示例

该软件包中包含 Android Device Policy 的下载位置和注册令牌。

{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "https://play.google.com/managed/downloadManagingApp?identifier=setup",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
        "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN": "{enrollment-token}"
    }
}

您可以直接使用从 enterprises.enrollmentTokens.create 返回的二维码,也可以对其进行自定义。如需查看可包含在二维码软件包中的属性的完整列表,请参阅创建二维码

如需将 qrcode 字符串转换为可扫描的二维码,请使用 ZXing 等二维码生成器。


配置方法

本部分介绍了用于配置设备的不同方法。

通过“设置”添加工作资料

Android 5.1 及更高版本

如要在设备上设置工作资料,用户可以执行以下操作:

  1. 依次前往设置 > Google > 设置及恢复
  2. 点按设置您的工作资料

这些步骤会启动一个设置向导,以便在设备上下载 Android Device Policy。接下来,系统将提示用户扫描二维码或手动输入注册令牌以完成工作资料设置。

下载 Android Device Policy

Android 5.1 及更高版本

如需在其设备上设置工作资料,用户可以从 Google Play 商店下载 Android Device Policy。应用安装后,系统会提示用户输入二维码或手动输入注册令牌以完成工作资料设置。

Android 5.1 及更高版本

使用从 enrollmentTokens.create 或企业的 signinEnrollmentToken 返回的注册令牌(请参阅下文的登录网址),生成格式如下的网址:

https://enterprise.google.com/android/enroll?et=<enrollmentToken>

您可以将此网址提供给 IT 管理员,IT 管理员可将其提供给最终用户。当最终用户从其设备上打开链接时,系统会引导他们完成工作资料设置。

登录网址

通过这种方法,系统会为用户提供一个网址,提示他们输入凭据。根据用户的凭据,您可以先为用户计算适当的政策,然后再继续进行设备配置。例如:

  1. enterprises.signInDetails[] 中指定您的登录网址。 如果您想允许用户创建工作资料,请将 allowPersonalUsage 设为 PERSONAL_USAGE_ALLOWED(对于个人设备而言是必需的;对于公司自有设备则为可选)。

    将生成的 signinEnrollmentToken 作为配置 extra 添加到二维码NFC 载荷零触摸配置。或者,您也可以直接向用户提供 signinEnrollmentToken

  2. 选择一个选项:

    1. 公司自有设备:开启新设备或恢复出厂设置后,将 signinEnrollmentToken 传递给设备(通过二维码、NFC 触碰等),或要求用户手动输入令牌。设备将打开第 1 步中指定的登录网址。
    2. 个人设备:让用户通过“设置”添加工作资料。系统提示时,用户扫描包含 signinEnrollmentToken 的二维码或手动输入令牌。设备将打开第 1 步中指定的登录网址。
    3. 个人设备:为用户提供注册令牌链接,其中注册令牌为 signinEnrollmentToken。设备将打开第 1 步中指定的登录网址。
  3. 登录网址应提示用户输入凭据。根据其身份,您可以确定适当的政策。

  4. 调用 enrollmentTokens.create,根据用户凭据指定适当的 policyId

  5. 通过网址重定向以 https://enterprise.google.com/android/enroll?et=<token> 的形式返回第 4 步中生成的注册令牌。

二维码方法

Android 7.0 及更高版本

如需配置公司自有设备,您可以生成二维码并将其显示在 EMM 控制台中:

  1. 在新设备或恢复出厂设置的设备上,用户(通常是 IT 管理员)会在同一位置点按屏幕 6 次。这会触发设备提示用户扫描二维码。
  2. 用户扫描您在管理控制台(或类似应用)中显示的二维码,以注册和配置设备。

NFC 方法

Android 6.0 及更高版本

使用此方法时,您需要创建一个 NFC 编程器应用,其中包含注册令牌、初始政策、Wi-Fi 配置、设置以及客户在配置完全受管设备或专用设备所需的所有其他配置详细信息。当您或您的客户在 Android 设备上安装 NFC 编程器应用时,该设备便会成为编程器设备。

如需了解有关如何支持 NFC 方法的详细指南,请参阅 Play EMM API 开发者文档。该网站还提供在 NFC 触碰时推送到设备的默认参数的示例代码。如需安装 Android Device Policy,请将设备管理软件包的下载位置设置为:

https://play.google.com/managed/downloadManagingApp?identifier=setup

DPC 标识符方法

如果无法通过二维码或 NFC 添加 Android Device Policy,用户或 IT 管理员可以按照以下步骤配置公司自有设备:

  1. 在新设备或恢复出厂设置的设备上,按照设置向导中的步骤操作。
  2. 输入 Wi-Fi 登录详细信息以将设备连接到互联网。
  3. 当系统提示您登录时,输入 afw#setup,系统将下载 Android Device Policy。
  4. 扫描二维码或手动输入注册令牌以配置设备。

零触摸注册

Android 8.0 及更高版本(Pixel 7.1 及更高版本)

授权的零触摸转销商购买的设备符合零触摸注册的条件。零触摸注册是一种简单的方法,用于预配置设备,以便在首次启动时自动进行自我配置。

组织可以通过零触摸注册门户或使用 EMM 控制台(请参阅零触摸客户 API)创建包含其零触摸设备的配置详细信息的配置。首次启动时,零触摸设备会检查是否已为其分配配置。如果是这样,设备会下载 Android Device Policy,然后使用已分配的配置中指定的配置 extra 完成设备的设置。

如果您的客户使用零触摸注册门户,则需要为自己创建的每项配置选择 Android Device Policy 作为 EMM DPC。如需了解有关如何使用该门户的详细说明(包括如何创建配置并将其分配给设备),请访问 Android Enterprise 帮助中心

如果您希望客户直接通过 EMM 控制台设置和分配配置,则需要集成零触摸客户 API创建配置时,您可以在 dpcExtras 字段中指定预配 extra。下面的 JSON 代码段展示了要在 dpcExtras 中添加的内容的基本示例,并添加了登录令牌。

{
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.google.android.apps.work.clouddpc/.receivers.CloudDeviceAdminReceiver",
   "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"I5YvS0O5hXY46mb01BlRjq4oJJGs2kuUcHvVkAPEXlg",
   "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":{
      "com.google.android.apps.work.clouddpc.EXTRA_ENROLLMENT_TOKEN":"{Sign In URL token}"
   }
}

在设置期间启动应用

设置操作
图 2.在设置期间使用 setupActions 启动应用。

policies 中,您可以指定一个用于在设备或工作资料设置期间启动的 Android Device Policy 应用。例如,您可以启动 VPN 应用,以便用户在设置过程中配置 VPN 设置。应用必须返回 RESULT_OK 才能表示已完成,并允许 Android Device Policy 完成设备或工作资料配置。如需在设置过程中启动应用,请执行以下操作:

确保应用的 installTypeREQUIRED_FOR_SETUP。如果应用无法在设备上安装或启动,配置将失败。

{
   "applications":[
      {
         "packageName":"com.my.vpnapp.",
         "installType":"REQUIRED_FOR_SETUP"
      }
   ]
}

将应用的软件包名称添加到 setupActions。使用 titledescription 指定面向用户的指令。

{
   "setupActions":[
      {
         "title":{
            "defaultMessage":"Configure VPN"
         },
         "description":{
            "defaultMessage":"Enable your VPN client to access corporate resources."
         },
         "launchApp":{
            "packageName":"com.my.vpnapp."
         }
      }
   ]
}

为了区分应用是从 launchApp 启动的,最初作为应用一部分启动的 activity 包含布尔 intent extra com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION(设置为 true)。借助此 extra,您可以根据应用是从 setupActions 启动还是由用户启动来自定义应用。

应用返回 RESULT_OK 后,Android Device Policy 会完成配置设备或工作资料所需的所有其余步骤。

在设置期间取消注册

作为 SetupAction 启动的应用可以取消注册,并返回 RESULT_CANCELED

取消注册会重置公司自有设备,或删除个人设备上的工作资料。

注意:取消注册会触发操作,且系统不会显示用户确认对话框。应用应负责在返回结果之前向用户显示适当的错误对话框。

将政策应用于新注册的设备

您将政策应用于新注册的设备的方法取决于您和您客户的要求。下面,我们介绍了三种不同的方法:

  • (推荐)创建注册令牌时,您可以指定最初关联到设备的政策 (policyName) 的名称。当您使用令牌注册设备时,政策会自动应用于该设备。

  • 将某项政策设置为企业的默认政策。 如果注册令牌中未指定政策名称,并且有一个名为 enterprises/<enterprise_id>/policies/default 的政策,则每个新设备都会在注册时自动关联到默认政策。

  • 订阅 Cloud Pub/Sub 主题以接收有关新注册设备的通知。为响应 ENROLLMENT 通知,请调用 enterprises.devices.patch 以将设备与政策相关联。

在未设置政策的情况下注册设备

如果设备是在没有有效政策的情况下注册的,该设备会被置于隔离区。在隔离的设备与政策关联之前,设备的所有功能都会受到屏蔽。

如果设备在五分钟内未与政策关联,则设备注册将失败,并且设备将恢复出厂设置。隔离设备状态让您有机会在解决方案中实现许可检查或其他注册验证流程。

许可检查工作流程示例

  1. 设备注册时没有默认政策或特定政策。
  2. 查看企业剩余的许可数量。
  3. 如果有可用许可,请使用 devices.patch 将政策附加到设备,然后减少许可数量。如果没有可用的许可,请使用 devices.patch 停用设备。或者,API 会在注册后的五分钟内将未附加到政策的任何设备恢复出厂设置。