Metadatos del dispositivo

Como revendedor, puedes asociar metadatos, como un número de teléfono o una número de orden de compra de cada dispositivo. Puedes asociar metadatos llamando la API o subiendo un archivo CSV en el portal de inscripción automática. En la tabla 1, se muestra quién puede asociar y ver los metadatos:

Tabla 1. Permisos de metadatos

Tarea Revendedores Clientes
Llama a la API para asociar metadatos
Sube un archivo CSV al portal de inscripción automática para asociar metadatos
Visualiza los metadatos del dispositivo en los resultados de las llamadas a la API
Ver metadatos de dispositivos en el portal de inscripción automática

Asignar metadatos

Para asociar metadatos con cada dispositivo, llama al partners.devices.metadata. Puedes agregar números de teléfono y de pedido para tus dispositivos Android utilizando las teclas de la tabla 2 a continuación:

Tabla 2. Claves de metadatos para dispositivos Android

Datos Clave Tipo de valor Ejemplo
Número de teléfono phonenumber String +1 (800) 555-0100
Número de pedido ordernumber String GOOG#123/ABC-123456

Ambos valores de metadatos son cadenas de formato libre, por lo que puedes usar un formato que para tu organización.

En los dispositivos ChromeOS, puedes usar las claves de la tabla 3 que se incluye a continuación:

Tabla 3. Claves de metadatos para dispositivos ChromeOS

Datos Clave Tipo de valor Ejemplo
Número de pedido ordernumber String GOOG#123/ABC-123456

Para asignar metadatos cuando crees dispositivos, inclúyelos cuando llames claimAsync En el siguiente ejemplo, se muestra cómo configurar número de teléfono y número de pedido del dispositivo existente TARGET_DEVICE_ID:

Java

// Allowed metadata dictionary keys.
private static String METADATA_KEY_PHONE_NUMBER = "phonenumber";
private static String METADATA_KEY_ORDER_NUMBER = "ordernumber";

// ...
// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata();
Map<String,String> entries = new HashMap<String, String>();
entries.put(METADATA_KEY_ORDER_NUMBER, "GOOG123/ABC-#123456");
entries.put(METADATA_KEY_PHONE_NUMBER, "+1 (800) 555-0100");
metadata.setEntries(entries);

// Set the metadata values on the target device.
UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest();
body.setDeviceMetadata(metadata);

DeviceMetadata response = service
        .partners()
        .devices()
        .metadata(PARTNER_ID, targetDeviceId, body)
        .execute();

.NET

// Allowed metadata dictionary keys.
private static string MetadataKeyPhoneNumber = "phonenumber";
private static string MetadataKeyOrderNumber = "ordernumber";

// ...
// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata
{
    Entries = new Dictionary<string, string> {
        {MetadataKeyOrderNumber, "GOOG123/ABC-#123456"},
        {MetadataKeyPhoneNumber, "+1 (800) 555-0100"}
    }
};

// Set the metadata values on the target device.
UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest
{
    DeviceMetadata = metadata
};
var request = service.Partners.Devices.Metadata(body, PartnerId, targetDeviceId);
var results = request.Execute();

Python

# Allowed metadata dictionary keys.
METADATA_KEY_ENTRIES = "entries";
METADATA_KEY_PHONE_NUMBER = "phonenumber";
METADATA_KEY_ORDER_NUMBER = "ordernumber";

# ...
# Create the record with values.
new_metadata = {METADATA_KEY_ENTRIES:{ \
    METADATA_KEY_PHONE_NUMBER:'+1 (800) 555-0100', \
    METADATA_KEY_ORDER_NUMBER:'GOOG123/ABC-#123456'}}

# Set the metadata values on the target device.
response = service.partners().devices().metadata(
    metadataOwnerId=PARTNER_ID,
    deviceId=target_device_id,
    body={'deviceMetadata':new_metadata}).execute()

Tus argumentos de metadatos reemplazan los valores de metadatos existentes para la misma clave.

Borrar metadatos

Puedes borrar tus metadatos de los dispositivos. Pasa cadenas vacías para metadatos valores que quieres borrar. En el siguiente ejemplo, se muestra cómo borrar el teléfono número:

Java

// Create the metadata record with the values.
DeviceMetadata metadata = new DeviceMetadata();
Map<String,String> entries = new HashMap<String, String>();
entries.put(METADATA_KEY_PHONE_NUMBER, "");
metadata.setEntries(entries);

// Call partners().devices().metadata() to remove the phone metadata from the device...

.NET

// Create the metadata record with empty values.
DeviceMetadata metadata = new DeviceMetadata
{
    Entries = new Dictionary<string, string> {
        {MetadataKeyPhoneNumber, ""}
    }
};

// Call Partners.Devices.Metadata to remove the phone metadata from the device...

Python

# Create the metadata record with empty values.
metadata_to_remove = {METADATA_KEY_ENTRIES: {METADATA_KEY_PHONE_NUMBER:''}}

# Call partners().devices().metadata() to remove the phone number
# metadata from the device...