Идентификаторы

DeviceIdentifier инкапсулирует идентификаторы оборудования для идентификации произведенного устройства. В этом документе объясняется, как работать с идентификаторами в API автоматической регистрации.

DeviceIdentifier объединяет метаданные или идентификаторы оборудования, необходимые для уникальной идентификации устройства.

Ваша организация включает значения идентификатора устройства при загрузке данных устройства через портал или вызове API. Поскольку экземпляры DeviceIdentifier являются неизменяемыми, вы не можете использовать API для изменения значений полей.

Обязательные поля

Android-устройства

Автоматическая регистрация обычно идентифицирует устройства по идентификаторам сотового модема IMEI (или MEID). Но для поддержки устройств без сотовых модемов, например планшетов, вы также можете идентифицировать устройства, используя другой набор полей. В следующей таблице показаны поля, необходимые для каждого типа устройства:

Идентификатор Сотовая связь Только Wi-Fi Примечания
hardware_id В этом поле должен быть номер IMEI или MEID. Автоматическая регистрация проверяет формат значений IMEI, когда вы передаете их в аргументах API. Информацию об устройствах с несколькими сотовыми модемами см. в разделе Устройства с двумя SIM-картами .
serialNumber Серийный номер производителя устройства. Серийный номер чувствителен к регистру и представляет собой то же значение, которое возвращается из Build.getSerial() .
model Значение модели устройства должно соответствовать встроенному значению устройства, возвращаемому из Build.MODEL . Список допустимых значений для каждого производителя см. в справочнике по названиям моделей .
manufacturer Чтобы автоматическая регистрация работала для устройства только с Wi-Fi, значение поля manufacturer должно совпадать со встроенным значением устройства, возвращаемым из Build.MANUFACTURER . Для сотовых устройств поле manufacturer не является обязательным, но рекомендуется, поскольку оно облегчает клиентам идентификацию своих устройств. Дополнительную информацию см. в справочнике по названиям производителей .

Если на устройстве нет сотового модема (например, планшета или складского инвентарного сканера), используйте поля «Только Wi-Fi». Для всех остальных устройств используйте поля сотовой связи.

Устройства с двумя SIM-картами

Устройство с двумя SIM-картами включает в себя два отдельных модема и имеет два номера IMEI. Используйте наименьший номер IMEI, поскольку автоматическая регистрация работает более надежно с наименьшим номером IMEI.

Устройства ChromeOS

Для устройств ChromeOS набор обязательных идентификаторов одинаков для мобильных устройств и устройств только с Wi-Fi:

Идентификатор Примечания
serialNumber Серийный номер производителя устройства.
model Значение модели устройства должно совпадать со встроенным значением устройства. Для справки см. список значений модели ChromeOS .
chromeOsAttestedDeviceId Идентификатор проверенного устройства. Для справки см. список совместимых устройств ChromeOS .

Обратитесь к устройству

Используйте DeviceIdentifier при поиске или заявлении устройств. Вам необходимо включить обязательные поля, указанные для типа устройства.

В следующем фрагменте показан номер IMEI, используемый для поиска определенного устройства путем вызова partners.devices.findByIdentifier :

Джава

// 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()

В следующем фрагменте показано, как создать идентификатор устройства только с Wi-Fi:

Джава

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

Узнать больше