问题标签 [android-management-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2740 浏览

google-play - 通过 Android Management Api 或设备所有者 locktask 开发 Cosu 应用程序

我必须为我的企业设备实施一次性应用程序,其中只有一个主要的 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 都具有对我公司开发人员帐户的管理员访问权限 发布应用帐户

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

0 投票
2 回答
1758 浏览

android - Android 管理 API 和 MDM

我正在使用新的 Android Management API。

现在,Google 有自己的应用程序,称为 Android Device Policy,它充当 MDM 应用程序,但 MDM 应用程序不需要恢复出厂设置,但为什么我们必须在使用 Android 管理 API 注册 AFW 时将设备恢复出厂设置。

安卓设备策略不能手动安装设置为设备管理员吗?

0 投票
1 回答
970 浏览

python - 无法创建 android 管理注册 URL

我正在尝试为我们的组织访问新的 Android 管理 API,但在访问 API 时遇到问题。通过 API 资源管理器访问 API 时一切正常。为了在我们的服务器上运行它,我在 Google 云控制台中创建了一个新项目并在那里创建了一个服务帐户。我下载了密钥并将其用于我机器上的本地测试。但是,在第一次 signupUrl 调用时,我收到 403 错误,指出:“调用者无权管理项目。”。我正在使用的服务帐户具有“项目所有者”角色,我不知道如何赋予它更多权限......

我正在使用的代码:

0 投票
1 回答
484 浏览

android-tv - AndroidTV 上的 Android 管理 API (COSU)?

Android 管理 API应该“与任何运行 Android 5.1 或更高版本且安装了 Google Play 的设备兼容”。我真的希望这是真的,但在使用 Android 电视时遇到了问题。(具体来说,我正在测试一个 NexBox A95x 和一个 TX3mini。)

我的绊脚石是如何在配置时将注册令牌输入设备?我对三星平板电脑没有任何问题。但是,Android TV 在硬件重置后不使用相同的启动向导,因此似乎没有机会触发 QR 阅读器或手动输入令牌。我尝试将注册令牌输入 Google Play 应用程序(代替电子邮件或电话号码登录),但没有运气。

任何想法或见解如何使这项工作?如果有人知道为什么这不能工作的明确原因(例如,管理 API 不能在 AOSP 上工作),那也将是有用的信息。

澄清(2017 年 12 月 26 日更新)

以下是 Google Management API 的一个最小、完整且可验证的示例。Google 自己的快速入门练习。

问题:快速入门练习似乎不适用于 Android TV(在 NexBox A95x 和 TX3mini 上测试)。拦截器出现在这一步:(Provision A Device)。Android TV 有自己的设置向导,不接受 Android For Work 注册令牌。(我在三星平板电脑上完成了快速入门,没有问题。)

谷歌的文档称,管理 API “与任何运行 Android 5.1 或更高版本且安装了 Google Play 的设备兼容”,因此这些 Android 电视似乎应该符合条件。

有没有人找到解决方法来在 Android TV 上完成 Management API 快速入门?

0 投票
2 回答
2924 浏览

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

我是 android 企业开发世界的新手,我对 android 企业生态系统中的不同部分如何相互关联有一些误解。让我解释。

我正在尝试实现的解决方案是能够将设备远程锁定到信息亭模式,并且即使用户离线也可以基于某些业务逻辑执行此操作。我开始研究 EMM,尤其是Android Management API来解决这个问题。我能够使用 API 将设备远程锁定到信息亭模式。我采取的步骤如下

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

下一步是找到一种方法,即使用户处于离线状态,也能将设备锁定为 kiosk 模式。我假设这将通过创建一个 android 企业自定义 DPC(设备策略控制器)应用程序来实现。我假设通过阅读以下文档,其中配置“单一用途”设备的 3 种方法之一是创建自定义 DPC 应用程序。这是来自不同网址的另一个报价

作为 EMM,您开发了一个 DPC 应用程序,您的客户可以将其与您的 EMM 控制台和服务器结合使用。您的客户将 DPC 部署到他们管理的用户设备。DPC 充当 EMM 控制台(和服务器)与设备之间的桥梁。管理员使用 EMM 控制台执行一系列任务,包括配置设备设置和应用程序。

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

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

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

然后,假设我已经开发了一个自定义 DPC 应用程序并将其上传到 google play alpha 通道。文档指出,在设置过程中,我应该输入 afw#DPC_NAME,而不是输入 afw#setup,但我不知道如何生成该名称?它是 DPC 应用程序的捆绑 ID 吗?或者也许它被设置在谷歌设置中的某个地方?比如google开发了TestDPC应用程序来测试企业解决方案,我可以按照我上面描述的步骤输入afw#testdpc并成功扫描git readme文件中的二维码,我看到TestDPC已经安装并且设备启动到工作配置文件模式。所以,我假设我需要以某种方式注册我自己的“testdpc”并输入 afw#my_dpc。

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

感谢您的回答

更新 1:

今天,我找到了一种无需通过 NFC 或其他配置过程即可将自定义 DPC 转变为设备所有者的方法。这对于开发目的特别有用。按照此链接获取说明。这既可以节省大量时间,而且在我的情况下,我们仍在等待 google 的批准,但最终我们可以开始测试一些东西,而无需自定义配置过程。

0 投票
1 回答
312 浏览

android - Android 管理 API 和 VpnService

我在信息亭模式下使用安卓平板电脑,其中只允许一个应用程序。而且我也用3G网络。为了节省流量,我在每个使用VpnServiceandroid API 的应用程序上都使用了特殊的启动器。而且这个启动器还可以防止用户访问其他应用程序。

Android Management API 提供信息亭模式功能,但我没有看到任何对 VPN 配置的参考。如何使用它配置网络流量?

0 投票
1 回答
587 浏览

android - 企业内部的管理 API 和应用程序分发

我正在使用 Android Management API 将多个设备变成票务应用程序的信息亭。我能够创建一个企业,注册几个设备,手动安装应用程序并通过策略控制它。它工作得很好。

现在我想将我的应用发布到 Play 商店,并且我希望它仅可用于注册到该企业的设备。正如这里所建议的,我在定价和分发 > 用户程序 > 托管 Google Play中将应用程序限制为我的企业并发布了我的应用程序。然后我将我的应用程序添加到 Android Management API 策略以获取自动更新。但是该应用程序在这些设备上仍然不可见,并且不会更新。当我将策略中的包名称更改为某个现有应用程序时,设备正在尝试下载它。所以这似乎是我在商店中的应用程序的问题。

我错过了什么吗?还有其他解决私有/企业分发的 Google API:Android EMM DevelopersCustom App Publishing API,但没有信息说明这些 API 如何协同工作,如果我使用 Android Management API,是否仍需要注册到 EMM?我认为它应该简化这个过程,但我有点困惑。

还要提一下,企业主和店主是同一个账号。

0 投票
1 回答
128 浏览

android - 如何通过企业移动管理工具远程配置企业 Android 应用程序?

我为一家向多个客户提供 Android 应用程序的企业工作。

每个客户都使用自己的 EMM(企业移动管理)解决方案。

我正在尝试确定使用 EMM 在 Android 设备上远程配置我们的应用程序的选项。

我需要提供的配置是一个包含许可证密钥的 820 字符串。

并非每个设备都需要此许可证密钥,因此需要在每个设备级别进行设置。

当前我们用来向我们的应用程序传递配置的方法是将包含配置详细信息的文件传输到设备。

这个方法工作正常,除了:它有点原始;我们客户的其中一个 EMM 不提供此功能。

我了解 Google 提供可用于配置设备的 Google Managed Account 和 Managed Google Play Accounts API。

我们已经排除了 Google Managed Account 作为选项,因为它要求客户注册 G-Suite,这会带来相当高的财务成本,而且仅仅因为能够提供许可证密钥就太过分了。

托管的 Google Play 帐户可能是一种选择。似乎只需要 20 英镑的一次性申请开发者许可证的费用,这很好。一旦应用程序上传到客户端的私有 Google Play 商店,它看起来好像可以通过客户端 EMM UI 进行管理,只要它在 AndroidManifest.xml ( https://developer.android.com/work ) 中有正确的信息/托管配置)。

托管 Google Play 帐户选项可能是最不糟糕的选项,但再次不得不引入对 Google 服务的许可证密钥的依赖感觉有点过头了,只是不像使用 G-Suite 那样过头。

除了上面提到的三种方法之外,还有其他方法可以将应用配置传递到 Android 设备吗?

0 投票
1 回答
204 浏览

android - 如何使用 Management API(测试版)获取设备列表?

我基本上处于为设备实施 Google 即将推出的 Android Management API(测试版)的“Hello, World”阶段。我已经阅读了Android Management API (beta)介绍和几个指南,但我仍然停留在注册设备的最基本步骤上。遵循 Google 的快速入门指南以及链接的 IPython Notebook 中嵌入的代码的概要,我设法:

  1. 创建一个项目

  2. 创建企业

  3. 制定政策

  4. 编写生成注册令牌并显示生成的 qrCode 的过程的脚本。

第 4 步似乎是问题所在:我被困在实际注册设备中。对 7.1 设备进行出厂重置,我在欢迎屏幕上点击了六次,然后进入 qrCode 扫描。这似乎可行,并且该设备给出了一些指示它是受管理的,但到目前为止,当我通过方法enterprise.devices.list请求所有设备时,我无法看到列出的设备 ID 。该 API 调用返回 200 OK 和一个空列表:

即使等待 24 小时,该列表仍然是空的。

我假设我用 JSON/qrCode 错误配置了一些东西,但我目前不知道是什么。请帮忙; 通过链接的Android Management API (beta),我如何正确列出已注册的设备?

0 投票
1 回答
335 浏览

android - 如何在 Android TV [STB] 上创建可更新的 COSU 应用程序

我为 Android TV 构建的应用需要一些帮助。

  1. 我已经为 Android TV 制作了一个 COSU 应用程序,但问题是我需要使用 adb shell 来让我的应用程序成为设备所有者。有没有办法以编程方式使我的应用程序成为设备所有者?因为我会在 +100 台机顶盒设备上安装我的应用程序。我尝试了SO answer中的一种方法,但它不起作用。

  2. 如果我的应用程序有新版本,我仍然无法弄清楚以后如何更新我的应用程序,因为就像这里所说的那样我不能在 Android TV 上使用 Android Management API,而且我想我也不能使用 Google Play 更新 COSU 应用程序。有没有更好的方法来更新我的应用程序?

需要帮忙。谢谢你。