DeviceIdentifier
封装了硬件 ID,用于标识制造的设备。本文档介绍了如何在零触摸注册 API 中使用标识符。
DeviceIdentifier
会组合用于唯一标识设备所需的硬件元数据或 ID。
您的组织在通过门户上传设备数据或调用 API 时,会添加设备标识符值。
必填字段
Android 设备
零触摸注册通常通过 IMEI(或 MEID)移动调制解调器 ID 识别设备。如需支持不带蜂窝调制解调器的设备(例如平板电脑),您还可以使用另一组字段来识别设备。下表显示了您可以针对每种类型的设备使用的字段:
标识符 | 移动网络 | 仅限 Wi-Fi | 备注 |
---|---|---|---|
hardware_id |
此字段必须为 IMEI 或 MEID 号码。当您在 API 参数中传递 IMEI 值时,免触摸注册会验证 IMEI 值的格式。 | ||
hardware_id2 |
此字段必须是第二个 IMEI 或 MEID 号码。当您在 API 参数中传递 IMEI 值时,免触摸注册会验证 IMEI 值的格式。如需了解具有多个移动网络调制解调器的设备,请参阅双 SIM 卡设备。 | ||
serialNumber |
设备的制造商序列号。序列号区分大小写,与 Build.getSerial() 返回的值相同。 |
||
model |
设备型号值必须与 Build.MODEL 返回的设备内置值一致。如需查看每个制造商的允许值列表,请参阅型号名称参考。 |
||
manufacturer |
manufacturer 字段值必须与从 Build.MANUFACTURER 返回的设备内置值匹配。如需了解详情,请参阅制造商名称参考文档。 |
如果注册序列号,您还必须注册制造商和型号,以确保零触摸功能能够检测到设备。
双卡设备
双 SIM 卡设备包含两个独立的调制解调器,并且有两个 IMEI 号码。如果仅注册一个 IMEI,请优先使用数值最低的 IMEI 号码,因为使用数值最低的 IMEI 号码时,免触摸注册功能的运作会更可靠。为了提高可靠性,您还可以注册其他 IMEI,或序列号、制造商和型号。
如需在零触摸门户中显示第二个 IMEI,请执行以下操作:
- 前往设备标签页。
- 点击右上角 Add Device(添加设备)按钮旁边的三点状图标 。
- 选择自定义表格。
- 选中 IMEI2 对应的复选框。
- 点击保存。
ChromeOS 设备
对于 ChromeOS 设备,移动网络设备和仅限 Wi-Fi 设备所需的一组标识符相同:
标识符 | 备注 |
---|---|
serialNumber
|
设备的制造商序列号。 |
model
|
设备型号值必须与设备的内置值一致。如需参考信息,请参阅 ChromeOS 型号值列表。 |
chromeOsAttestedDeviceId
|
经认证的设备 ID。如需参考信息,请参阅兼容的 ChromeOS 设备列表。 |
引用设备
在查找或声明设备时,请使用 DeviceIdentifier
。您需要添加为设备类型指定的必填字段。
以下代码段展示了用于通过调用 partners.devices.findByIdentifier
搜索特定设备的 IMEI 识别码:
// 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();
// 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();
# 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()
以下代码段展示了如何使用序列号创建设备标识符:
// Create a device identifier to find a Wi-Fi-only device. DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); deviceIdentifier.setManufacturer("Honeywell"); deviceIdentifier.setModel("VM1A"); deviceIdentifier.setSerialNumber("ABcd1235678");
// Create a device identifier to find a Wi-Fi-only device. var deviceIdentifier = new DeviceIdentifier { Manufacturer = "Honeywell", Model = "VM1A", SerialNumber = "ABcd1235678" };
# Create a device identifier to find a Wi-Fi-only device. device_identifier = {'manufacturer':'Honeywell', \ 'model':'VM1A', 'serialNumber':'ABcd1235678'}
了解详情
- 如需详细了解硬件标识符,请参阅
DeviceIdentifier
的 API 参考文档。 - 如需查看允许的制造商名称和设备型号的列表,请参阅制造商名称参考文档。
- 如需查看兼容的 ChromeOS 设备列表,请参阅 ChromeOS 帮助中心