如何在 Android 管理 api 中保持专用设备的唯一 ID?

How to keep the unique id for dedicated device in Android management api?

我们正在开发 emm 控制台。 目前我们面临一个设备数据问题。如何使用 Android 管理 api.

从通过注册令牌配置的设备获取唯一 ID

A是企业,我们将移动设备注册到企业A。 之后更新了一些政策并且它工作正常。后来我们工厂重置设备。 现在同一台设备注册到企业B,移动设备状态在企业A和企业B都是激活的。不知道如何解决这个问题?

我的建议: 在我们的本地数据库中,我们计划保留设备 ID 和注册时间。要形成我们要比较哪个字段的设备的唯一 ID,或者我们是否有任何其他选项来比较和获取唯一 ID

我可能误解了问题,但我所做的是在每次注册设备时传递额外数据 - 在我的例子中,我们将设备用作信息亭应用程序并且它们与数据库相关联 'terminal'已经记录在我们的服务器数据库中的条目。每当注册设备时,您都可以使用作为附加数据传递的标识符系统。在我的例子中,它是数据库条目的 id 字段。由于数据库与唯一字段相关联,我们始终可以根据数据库查询特定设备 ID。所以在我的例子中,一些设施甚至会有 5 个具有唯一 ID 字段和名称的设备,所以我可以查询 devices.list 并解析其他数据,其中 === 我的数据库 ID,然后 使用当前链接的设备 ID 更新数据库。

用于创建注册令牌:https://developers.google.com/android/management/reference/rest/v1/enterprises.enrollmentTokens

您在注册时设置了 'additionalData' 字段,然后在调用 devices.list 或 devices.get 时,您可以查找该 ID 字段 - 如果使用,它位于 'enrollmentTokenData' 下'additionalData.' 您还可以设置与用户关联的帐户标识符并将其用作 ID。所以在注册的时候,你设置了'user.accountIdentifier,',然后在做设备的时候找一样的。list/get.

API 设备说明:
https://developers.google.com/android/management/reference/rest/v1/enterprises.devices

同样,这可能不是你的问题,但这是我个人如何跟上当前绑定到我的数据库的设备 ID 'terminals.'

对此的主要警告是确保我没有注册重复的设备(可能就像您在 Enterprise A/B 中提到的那样,如果被误解,请道歉)。我所做的是设置我的管理控制台,以便您可以调用 devices.delete。这会恢复出厂设置并从 Mgmt 中删除设备项。 API。如果您在设备上手动执行恢复出厂设置,则设备记录仍然保留在 Mgmt. API,这似乎不太理想。所以我们只是确保始终使用 Mgmt API 删除设备,以免重复。