5

我必须为我的企业设备实施一次性应用程序,其中只有一个主要的 android 应用程序本身可以使用 2-3 个其他应用程序,如通话、短信和谷歌地图,除了该用户不能使用或访问其他应用程序和设置,

1)我通过企业管理 API 考虑了企业拥有的单一用途,它更复杂、更大,但更完整的解决方案。

2) 我已经 使用一个 看起来更像是我的解决方案的 android 设备所有者应用程序实现并测试了示例 Lock 任务,但是有一个问题

如何为生产级设备配置设备所有者?对于我的测试,我能够使用 adb shell 命令进行配置。我知道设备必须是新的/重置和未配置的,这不是问题。

我在这里寻求一些建议,如果有人实施它会有所帮助。

更新

Fred 建议的 android management Api QuickStartGuide似乎是正确的方法。我的策略是来自自定义启动器的多个应用程序 现在我陷入了一种情况,我想发布我的启动器应用程序或其他应用程序以仅为我的企业播放商店。

我已关注将您自己的应用程序上传到 Google Play 商店,这导致我发布了私有应用程序,但我无法这样做,因为我没有获得限制分发选项。

我不知道如何完美地实现这一点。对于我目前的政策和企业,我有 2 个有效的电子邮件 ID,

第一个 email_1 是连接到初始项目的那个, 项目所有者帐户并且

所有 google api 调用都是在 email_1 下完成的 在此处输入图像描述

另一个是 email_2 一个是企业管理员 企业管理员

并连接到托管的 Google Play 商店。托管 Play 商店管理员

email_1 和 email_2 都具有对我公司开发人员帐户的管理员访问权限 发布应用帐户

现在我需要弄清楚仅为我的企业发布应用程序,我认为存在正确权限或其他问题,需要帮助。谢谢

4

3 回答 3

3

一旦您了解了缺少的链接,这很容易。文档应该明确阐明这些步骤。

1 设置账户

我们为客户创建了一个 Google 套件帐户,并将他的应用上传到使用其组织下的 Google 帐户创建的 Google Play 控制台帐户中,并将应用分发限制在其组织中。

我们还在此处向我们的组织添加了 Android for Work:https ://admin.google.com/AdminHome?pli=1&fral=1#SelectServices

并为我们的组织添加了一个角色来管理 Google Play 私人上传: https ://admin.google.com/AdminHome#DomainSettings/notab=1&role=new-role&subtab=roles

2 查找组织 ID

这是关键部分。您应该在此处找到您的组织 ID:https: //play.google.com/work/adminsettings

3 注册组织

执行 Android Management API 的步骤时,您需要注册在您的 Google For Work 帐户中找到的组织 ID。

使用您的企业ID 执行此处详述的步骤:

enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}

4 添加您的应用

在 ApplicationPolicy 中使用其 PackageName 添加您的应用程序。您的设备现在可以找到并安装它。

于 2017-10-27T08:58:45.820 回答
2

您不再需要实施设备策略控制器来管理 Android 设备,Google 最近发布了Android 管理 API,它允许您通过几个 Cloud API 调用来设置 COSU 设备。

如果您有一个主应用程序并希望允许打开其他几个应用程序,您可以将主应用程序设置为自定义启动器,并将其他应用程序标记为lockTaskAllowed. 您可以简单地通过定义ApplicationPolicy如下所示的(复制自Create a policy)来做到这一点:

"applications": [
  {
    "packageName": "com.example.custom_launcher",
    "installType": "FORCE_INSTALLED",
    "lockTaskAllowed": true,
    "defaultPermissionPolicy": "GRANT",
  },
  {
    "packageName": "com.example.app1",
    "installType": "FORCE_INSTALLED",
    "lockTaskAllowed": true,
    "defaultPermissionPolicy": "GRANT",
  }
],
"persistentPreferredActivities": [
  {
    "receiverActivity": "com.example.custom_launcher",
    "actions": [
      "android.intent.action.MAIN"
    ],
    "categories": [
      "android.intent.category.HOME",
      "android.intent.category.DEFAULT"
    ]
  }
]
于 2017-10-13T21:41:02.627 回答
1

谷歌在这里提供了一个很好的功能列表: https ://developers.google.com/android/work/requirements/features

如果您的设备有 NFC,我会使用 NFC 进行配置。您可以查看此处的代码以实现您自己的实现,或者您只需进行很少的修改即可使用该应用程序。 https://github.com/googlesamples/android-NfcProvisioning

通过点击 Google 设置向导中的欢迎屏幕 6 次,您可以使用 QR 码配置。我认为这有点麻烦,需要Android 7.0+。

这是您仅有的两个选择,除非您成为 Google EMM 合作伙伴,或者再次与他们合作以支持 Android 8.0+ 设备上的零接触注册,以实现您自己的自制解决方案。

您可能还想查看已经存在的现有开源 EMM/MDM 实现,例如 WSO2。

于 2017-10-13T19:11:50.847 回答