分发应用

Google Play EMM API 支持以下分发方法: 公开应用和专用应用:

  • 用户可以手动安装受管理的应用 Google Play 商店。
  • IT 管理员可以远程安装用户的应用 设备。

通过 Google Play 企业版商店手动安装应用

您可以在 Devicepolicy,并通过调用 Devices.update 进行设置。时间 配置新设备时,您应先设置政策,然后再添加受管设备 Google Play 账号,否则此政策不会应用于设备 一段时间之后才会生效。

Play 企业版商店行为由 policy.productAvailabilityPolicy:

  • all:Play 商店中的所有公开应用均可用。
  • whitelist:只有 policy.productPolicy 中列出的应用可用。

在这两种情况下,默认情况下,policy.productPolicy 中的所有应用都会添加到 企业商店布局企业的商店布局是首页 Google Play 企业版商店(当选择 whitelist 时),并且可在 Google Play 企业版中访问 “工作应用”中(选中all时)。您可以允许客户 通过在 Google Play 企业版中嵌入 iframe(请参阅使用 Google Play 企业版 iframe 整理应用)。

在用户的设备上远程安装应用

要在用户设备上远程安装应用(也称为推送安装),请将 Devicepolicy 中的 policy.productPolicy.autoInstallPolicy。时间 配置新设备时,您应先设置政策,然后再添加受管设备 Google Play 账号,否则此政策不会应用于设备 一段时间之后才会生效。

autoInstallMode 可以设置为:

  • doNotAutoInstall:系统不会自动安装应用。
  • autoInstallOnce:如果用户遇到以下情况,应用会自动安装一次: 卸载应用后,用户不会再安装它。
  • forceAutoInstall:如果用户 卸载应用后会再次安装。在受管设备上,DPC 应使用 DevicePolicyManager.setUninstallBlocked

如果出现失败情况(连接中断、存储空间不足等),系统会 会自动重试,直到成功为止。指数退避算法重试策略 可在不可恢复的情形下避免浪费电池电量和数据 错误。

安装优先级

您可以通过设置 autoInstallPriority 选择安装顺序。通过 优先级必须是无符号整数,默认值为 0。应用将 安装顺序或优先级越高, 优先级值将会首先安装

安装限制条件

您可以通过设置 autoInstallConstraint,可让您控制 安装期间:

  • 设备是否应连接到 Wi-Fi 网络、
  • 设备是否应充电、
  • 以及设备是否应处于空闲状态(用户不主动使用)。

如果未立即满足限制条件,则受影响的安装将加入队列 直到满足约束条件为止

autoInstallConstraint 中,AND 规则应用于字段之间。对于 例如,对于以下 autoInstallConstraint,设备必须同时 正在充电并连接到不按流量计费的网络(例如 Wi-Fi) 已安装:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

在新配置的设备上自动安装应用

当设备被添加到以下位置时,Google Play EMM API 会发送 NewDeviceEvent 通知 。自动将应用推送到新配置的应用 设备,请监听NewDeviceEvent通知。从每个NewDeviceEvent, 检索 userIddeviceId,然后调用 Devices.update 来设置 该设备的政策。

要了解如何订阅 EMM 通知,请参阅 设置 EMM 通知

分发应用以进行封闭式测试

通过封闭式测试,应用开发者可以获得有关其早期版本的反馈 获得用户信任。开发者可以在 Google Play 中设置封闭式测试 控制台。您使用 Play EMM API 让 IT 管理员能够分发已关闭 。您的企业 客户使用该功能不仅可以测试第三方应用,还可以测试 内部开发的专用应用。

符合条件的应用

在开发者将某个企业添加到应用的封闭式测试人员列表之前, 应用应满足以下条件:

  • 应用的正式版已在 Google Play 上发布。
  • 在 Google Play 管理中心内,相应应用已启用 Google Play 企业版 高级设置页面。
  • 此应用的所有封闭式测试版本均符合 版本代码要求

将企业添加到封闭式测试

应用开发者可以将企业添加到使用封闭式 Alpha 版方法的测试中 进行测试使用 Google 群组执行 Alpha 版测试。有关说明,请参阅指南 了解如何设置开放式测试、封闭式测试或内部测试。 开发者需要输入组织 ID(也称为 enterprise ID)。IT 管理员可以提供 按以下步骤向第三方应用开发者提供组织 ID:

  1. 登录 Google Play 企业版商店
  2. 点击管理员设置
  3. 复制“组织信息”框中的组织 ID 字符串,然后 将其发送给开发者

针对专用应用的额外要求

对于专用应用,开发者还需要添加每个应用的组织 ID 在应用的 Google Play 企业版标签页中 高级设置页面。有关说明,请参阅 发布专用应用

向用户分发封闭式轨道

如需检索针对指定应用的可供企业使用的轨道列表,请按以下步骤操作: 调用 Products.get。响应中包含的 appTracks[] 列表包括 每个应用可用的曲目appTracks[].trackAlias是用户 您可以在 EMM 控制台中显示的轨道的可读名称,以及 appTracks[].trackId 是轨道的机器可读 ID。

要授予用户查看应用的封闭式轨道的权限,请将 policy.productPolicy[].trackIds[]Devicepolicy。如果有多首曲目可供一台设备使用, 将安装具有最高版本号的可用版本。

在特定情况下,系统会自动从 Products.get 调用中移除 trackId 例如以下情况:

  • 轨道的 APK 已提升到其他轨道或正式版轨道。
  • 正式版在更新后的版本高于轨道。
  • 开发者停止跟踪。

跟踪付费应用许可

对于付费应用,Grouplicenses 对象会跟踪 以及使用的许可数。您可以拨打 Grouplicenses.get,用于获取应用的许可详细信息。

在设备上安装付费应用之前,企业必须具备以下条件: 许可。如果有可用许可,则系统会安装应用 并且会创建 Entitlements 对象。Entitlements 对象将许可与用户关联起来,并减少可用许可数量 。如果没有可用的许可,应用安装将失败,并且 不会创建任何 Entitlements 对象。

GrouplicensesEntitlements 对象不会被 免费分发。