Identificadores

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

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

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

Campos obrigatórios

dispositivos Android;

O registro sem toque geralmente identifica dispositivos pelo IMEI (ou MEID) IDs de modem da rede celular. No entanto, para oferecer suporte a dispositivos sem modems celulares, como tablets, você também pode identificar dispositivos usando um conjunto diferente de campos. A 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 são transmitidos nos 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 de Build.getSerial().
model O valor do modelo do dispositivo precisa corresponder ao valor integrado retornado de Build.MODEL. Consulte a referência de nomes de modelo para ver 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 inventário do armazém, use os campos somente Wi-Fi. Para todos os outros dispositivos, use os campos da rede celular.

Dispositivos dual chip

Os dispositivos dual chip incluem dois modems separados e têm dois números IMEI. Use o o menor número IMEI, porque o registro sem toque funciona melhor de forma confiável com o IMEI mais baixo.

Dispositivos ChromeOS

Nos dispositivos ChromeOS, o conjunto de identificadores necessários é o mesmo para a rede celular. e dispositivos que só usam Wi-Fi:

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

Referenciar um dispositivo

Use um DeviceIdentifier ao encontrar ou reivindicar dispositivos. Você precisa 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 chame 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 dispositivo somente Wi-Fi identificador:

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