DeviceIdentifier
封装了硬件 ID,用于标识
制造的设备。本文介绍了如何使用
零触摸注册 API。
DeviceIdentifier
会合并唯一性地所需的硬件元数据或 ID
识别设备。
贵组织在上传设备时添加了设备标识符值
通过该门户或调用该 API 来访问数据。因为 DeviceIdentifier
个实例
是不可变的,您无法使用 API 更改字段值。
必填字段
Android 设备
零触摸注册通常通过 IMEI(或 MEID)识别设备 移动网络调制解调器 ID。但为了支持没有移动网络调制解调器的设备,例如 平板电脑,也可以使用一组不同的字段来识别设备。通过 下表显示了每种设备类型所需的字段:
标识符 | 移动网络 | 仅限 WLAN | 备注 |
---|---|---|---|
hardware_id |
此字段必须为 IMEI 或 MEID 号码。当您在 API 参数中传递 IMEI 值时,零触摸注册会验证这些值的格式。对于配有多个移动网络调制解调器的设备,请参阅双 SIM 卡设备。 | ||
serialNumber |
设备的制造商序列号。序列号区分大小写,并且与从 Build.getSerial() 返回的值相同。 |
||
model |
设备型号值必须与从 Build.MODEL 返回的设备内置值一致。请参阅型号名称参考,查看各制造商允许使用的值的列表。 |
||
manufacturer |
若要让零触摸注册适用于仅支持 WLAN 的设备,manufacturer 字段值必须与从 Build.MANUFACTURER 返回的设备内置值一致。对于移动网络设备,manufacturer 字段为选填字段,但我们建议您使用该字段,因为这可以让客户更轻松地识别其设备。如需了解详情,请参阅制造商名称参考信息。 |
如果设备未配备移动网络调制解调器(例如平板电脑或 仓库商品目录扫描工具,请使用“仅限 Wi-Fi”字段。对于所有其他设备 请使用单元格字段
双 SIM 卡设备
双 SIM 卡设备包含两个独立的调制解调器,并有两个 IMEI 号码。使用 数字最低的 IMEI 号码,因为零触摸注册更有效 IMEI 最低可靠。
ChromeOS 设备
对于 ChromeOS 设备,移动网络的必需标识符集是相同的 和仅支持 Wi-Fi 的设备:
标识符 | 备注 |
---|---|
serialNumber
|
设备的制造商序列号 设备。 |
model
|
设备型号值必须与设备的 。请参阅 ChromeOS 型号值列表 以供参考。 |
chromeOsAttestedDeviceId
|
经过认证的设备 ID。请参阅 兼容的 ChromeOS 设备 参考。 |
指代设备
查找设备或认领设备时,请使用 DeviceIdentifier
。您需要添加
针对设备类型指定的必填字段
以下代码段展示了用于搜索特定设备的 IMEI 识别码
通过调用 partners.devices.findByIdentifier
:
Java
// Create a DeviceIdentifier. DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); deviceIdentifier.setImei("123456789012347"); // Perform the search using the zero-touch enrollment API. FindDevicesByDeviceIdentifierRequest body = new FindDevicesByDeviceIdentifierRequest(); body.setLimit(1L); body.setDeviceIdentifier(deviceIdentifier); FindDevicesByDeviceIdentifierResponse response = service .partners() .devices() .findByIdentifier(PARTNER_ID, body) .execute();
.NET
// Create a DeviceIdentifier. var deviceIdentifier = new DeviceIdentifier { Imei = "123456789012347" }; // Perform the search using the zero-touch enrollment API. var body = new FindDevicesByDeviceIdentifierRequest { Limit = 1, DeviceIdentifier = deviceIdentifier }; var response = service.Partners.Devices.FindByIdentifier(body, PartnerId).Execute();
Python
# Create a DeviceIdentifier. device_identifier = {'imei':'123456789012347'} # Perform the search using the zero-touch enrollment API. response = service.partners().devices().findByIdentifier( partnerId=PARTNER_ID, body={'deviceIdentifier':device_identifier, \ 'limit':1}).execute()
以下代码段展示了如何创建仅支持 WLAN 的设备 标识符:
Java
// Create a device identifier to find a Wi-Fi-only device. DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); deviceIdentifier.setManufacturer("Honeywell"); deviceIdentifier.setModel("VM1A"); deviceIdentifier.setSerialNumber("ABcd1235678");
.NET
// Create a device identifier to find a Wi-Fi-only device. var deviceIdentifier = new DeviceIdentifier { Manufacturer = "Honeywell", Model = "VM1A", SerialNumber = "ABcd1235678" };
Python
# Create a device identifier to find a Wi-Fi-only device. device_identifier = {'manufacturer':'Honeywell', \ 'model':'VM1A', 'serialNumber':'ABcd1235678'}
了解详情
- 如需详细了解硬件标识符,请参阅
DeviceIdentifier
的 API 参考文档。 - 如需查看允许使用的制造商名称和设备型号列表,请查看 制造商名称参考信息。
- 如需查看兼容的 ChromeOS 设备列表,请参阅 ChromeOS 帮助中心