标识符

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,请执行以下操作:

  1. 前往设备标签页。
  2. 点击右上角 Add Device(添加设备)按钮旁边的三点状图标
  3. 选择自定义表格
  4. 选中 IMEI2 对应的复选框。
  5. 点击保存

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'}

了解详情

  • 如需详细了解硬件标识符,请参阅 DeviceIdentifierAPI 参考文档
  • 如需查看允许的制造商名称和设备型号的列表,请参阅制造商名称参考文档。
  • 如需查看兼容的 ChromeOS 设备列表,请参阅 ChromeOS 帮助中心