标识符

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

了解详情

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