Identificadores

Um DeviceIdentifier encapsula IDs de hardware para identificar um dispositivo fabricado. Este documento explica como trabalhar com identificadores na API de registro sem toque.

Um DeviceIdentifier combina metadados ou IDs de hardware necessários para identificar um dispositivo de maneira exclusiva.

Sua organização inclui os valores do identificador do dispositivo ao fazer upload dos dados do dispositivo pelo portal ou chamar a API. Como as instâncias de DeviceIdentifier são imutáveis, não é possível usar a API para alterar os valores de campo.

Campos obrigatórios

dispositivos Android;

O registro sem toque normalmente identifica dispositivos pelos IDs de modem celular IMEI (ou MEID). No entanto, para oferecer suporte a dispositivos sem modems móveis, como tablets, você também pode identificar dispositivos usando um conjunto de campos diferente. A tabela a seguir mostra os campos obrigatórios para cada tipo de dispositivo:

Identificador Rede celular Somente Wi-Fi Observações
hardware_id Esse campo precisa ser um número IMEI ou MEID. O registro sem toque valida o formato dos valores IMEI quando você os transmite em argumentos da API. Para dispositivos com mais de um modem celular, consulte Dispositivos dual chip.
serialNumber O número de série do fabricante do dispositivo. O número de série diferencia maiúsculas de minúsculas e é o mesmo valor retornado do Build.getSerial().
model O valor do modelo do dispositivo precisa corresponder ao valor integrado do dispositivo retornado de Build.MODEL. Consulte a referência de nomes de modelos para conferir uma lista de valores permitidos para cada fabricante.
manufacturer Para que o registro sem toque funcione em um dispositivo somente Wi-Fi, o valor do campo manufacturer precisa corresponder ao valor integrado do dispositivo retornado de Build.MANUFACTURER. Para dispositivos móveis, o campo manufacturer é opcional, mas recomendado, porque facilita a identificação dos dispositivos pelos clientes. Consulte a referência de nomes de fabricantes para mais informações.

Se o dispositivo não incluir um modem celular, por exemplo, um tablet ou scanner de inventário de armazém, use os campos "Somente Wi-Fi". Para todos os outros dispositivos, use os campos de celular.

Dispositivos dual chip

Os dispositivos dual chip incluem dois modems separados e têm dois números IMEI. Use o número IMEI mais baixo numérico, já que o registro sem toque funciona de maneira mais confiável com o IMEI mais baixo.

Dispositivos ChromeOS

Para dispositivos ChromeOS, o conjunto de identificadores obrigatórios é o mesmo para dispositivos móveis e somente Wi-Fi:

Identificador Observações
serialNumber O número de série do fabricante do dispositivo.
model O valor do modelo do dispositivo precisa corresponder ao valor integrado do dispositivo. Consulte a lista de valores de modelo do ChromeOS para referência.
chromeOsAttestedDeviceId O ID do dispositivo atestado. Consulte a lista de dispositivos ChromeOS compatíveis para referência.

Consultar um dispositivo

Use um DeviceIdentifier ao encontrar ou reivindicar dispositivos. É necessário incluir os campos obrigatórios especificados para o tipo de dispositivo.

O snippet a seguir mostra um número IMEI usado para pesquisar um dispositivo específico chamando 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()

O snippet a seguir mostra como criar um identificador de dispositivo somente Wi-Fi:

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

Saiba mais